Managing Development Schedules and Work

When you develop applications in a team environment, you make iterative code changes to complete tasks, which are tracked by using work items in Visual Studio Team Foundation Server.

At the start of an iteration, you might be asked to provide estimates for the tasks for that iteration. By doing this, your team can scope the work to fit in the iteration. During the course of the iteration, you update work items as they are completed, or when new information becomes available that affects the time that the task or bug will take.

Additionally, when you are working on a work item, you should consider updating the work item periodically to provide updated status, especially if you are blocked. If you keep the work item up to date, other team members can immediately determine the status of items without having to contact you directly.

Common Tasks

Task

Supporting Content

Create, assign, and load-balance tasks: At the start of a project, work is identified in the form of user stories or requirements that must be satisfied. For each iteration in your project, you might want to create detailed development tasks that support these user stories or requirements. During the iteration, you write code to complete these tasks, which are tracked in Team Foundation Server.

Record dependencies between tasks: In addition to creating work items that correspond to your development tasks, you also record dependencies between those tasks. By doing this, you can more easily create a schedule that can predict when the tasks will be completed. If a task is behind schedule, you can see how other scheduled items are affected.

Track progress and identify risks: As you work on tasks and bugs for a particular iteration, you can track your team's progress and watch for early signs of potential problems. You can use the reports and queries in Team Foundation Server to help make sure that you will finish on time.

Create or update tasks, bugs, and other work items: You perform some common tasks throughout the development process. For example, you might want to find all the tasks that are assigned to you, or a specific task. You might want to update work items with current status information.

  • Reviewing Existing Architecture and Design
    In many cases, the development work that you must perform requires that you change an existing application. Before you begin, you might want to review the architecture and design of that application to better understand where your changes must be made.

  • Setting Up Development Environments
    Before you can create or modify code, you must set up your development and test environments with the appropriate source code. If you are working with databases, you must also have access to the offline representation of those databases.

  • Performing Common Development Tasks
    During a development cycle, you spend most of your time making code changes. This process includes selecting a task or bug, checking out the required files, modifying the code, and then verifying that your changes are correct before you check them in.

  • Planning and Tracking Projects
    You can learn about how your development tasks relate to the overall planning and tracking process for the application. You might want to understand how user stories and requirements are gathered, or how the release is planned and tracked.