Exercise 2: Managing Iteration Work Items and Team Capacity

In this exercise, you will learn how to take a user story and break it down into individual tasks that can be assigned to appropriate team members based on skill and available work capacity. This will all be done within the context of Iteration 3.

  1. In Team Explorer, navigate to the Iteration 3 Backlog.xlsm workbook under Tailspin Toys | Documents | Shared Documents | Iteration 3. Double-click on Iteration 3 Backlog.xlsm to open it Excel, selecting the OK button when prompted.
  2. To make sure that the data accurately reflects the current state in Team Foundation Server (TFS), select the Refresh button within the Team tab in Excel.
  3. Select the Edit Workbook button to exit read-only mode.

    Figure 1

    Edit Workbook button location

  4. This worksheet shows a hierarchical view of the work items that are currently associated with Iteration 3. For example, the first user story item shows that there are three associated child tasks under it. Hierarchical work item relationships, which are new to Team Foundation Server 2010, include parent/child, successor/predecessor, tests/tested by, etc.
  5. The first three user stories listed have already been assigned child tasks and delegated to available employees. Now we will flesh out the last user story by adding additional tasks. Select the cell associated with the last User Story work item (ID = 15) and the Title 1 column.

    Figure 2

    Selecting the title for the last user story

  6. Under the Team tab, select the Add Child button 3 times. You should now see three new placeholder rows appear.

    Figure 3

    Adding three new work item children

  7. Change the Work Item Type for each new row to Task.

    Figure 4

    Changing work item type to Task

  8. In the Title 2 column for the first new task, enter “Create stored procedure for password reset”. For the second task enter “Design password reset UI”, and finally for the last task enter “Implement password reset UI”. Entering the new titles under the Title 2 column will make them children of the user story above them.

    Figure 5

    Adding titles for new task work items

  9. Now we will assign the new tasks to appropriate team members. Assign the first new task to Doris, the second to April, and the third to Abu.

    Figure 6

    Assigning team members to task work items

  10. The Remaining Work column represents the number of hours remaining for the task. Enter 2, 3, and 6 the new tasks.

    Figure 7

    Assigning remaining work hours to task work items

  11. Scroll over to the Area Path column and enter Database, Web site, and Web site for the new tasks.

    Figure 8

    Changing development area for task work items

  12. Finally, assign all tasks to Iteration 3, even the tasks that were already in place. The easiest method to accomplish this is to copy the first cell (Ctrl+C) that shows Interation 3, select the remaining cells in the Iteration Path column, and then paste (Ctrl+V).

    Figure 9

    Changing task work items to Iteration 3

  13. Place the cursor somewhere within the table and then select Publish from the Team tab in Excel. This will create the new tasks as children of the last user story within TFS.
  14. Now that we have defined the tasks that make up the last user story, we will spend some time making sure that the right team members are assigned to each task and make sure we have not taken on too much work. Start by navigating to the Settings worksheet.

    Figure 10

    Initial view of Settings worksheet

  15. For Iteration, select Iteration 3.

    Figure 11

    Selecting Iteration 3

  16. For Start Date and End Date, enter the same dates that you did in the previous exercise. This should be next Monday through Friday.

    Figure 12

    Entering Start and End Date

  17. Go to the Capacity worksheet, find the Individual Capacity section, and select the three team members that will be working on tasks for Iteration 3, namely Abu, April, and Doris. We don’t select Michael because he is the project manager and is just responsible for the user stories.

    Figure 13

    Entering team members assigned to Iteration 3

  18. Under the Hours/Day column, which represents the estimated hours per day that each team member will devote to this project, enter 5 for all three team members.

    Figure 14

    Current team and individual capacity for Iteration 3

  19. Note that the Individual Capacity chart shows that Abu and Doris are under-utilized, whereas April is near max work capacity. Let’s offload some of April’s work to Abu. Return to the Iteration Backlog worksheet and re-assign the “Implement web front-end for viewing all open orders” (ID = 33) from April to Abu.

    Figure 15

    Re-distributing work between team members

  20. Switch back to the Capacity worksheet to see that the workload distribution looks better.

    Figure 16

    Individual capacity graph looks good

  21. This workbook also allows you to account for holidays and other work interruptions that have an effect on team capacity. Open the Interruptions worksheet and add an entry under Holidays for an upcoming company meeting next Friday. This will apply to the entire team.

    Figure 17

    Team interruption

  22. Under Planned Interruptions, add an entry for April as she will be attending the MIX Web Design Conference next Thursday and Friday. Note that the Days column is the expected 2 days. The Remaining Days column is 1 because it is already taking into account the company meeting that applies to the team.

    Figure 18

    Individual interruption

  23. Switch back to the Capacity worksheet to see the effect of these scheduled interruptions. Note that April is now over capacity.

    Figure 19

    Individual capacity showing overworked team member

  24. One potential remedy to offload some work from April would be to shift some of it to Doris, who currently has some extra capacity. Rather than doing that this time, consider the scenario where Doris does not have the skills necessary to take on the work that is assigned to April. Return to the Iteration Backlog worksheet and change the last four tasks (corresponding to the last four rows) so that their Iteration Path is set to the Backlog.

    Figure 20

    Returning tasks to the backlog

  25. Now that we have deferred some work to the backlog, the team should be able to complete the assigned tasks with the available capacity. Return to the Capacity worksheet one last time to verify this.

    Figure 21

    Team and individual capacity looks good

  26. Save the changes made to the work items by returning to the Iteration Backlog worksheet, placing the cursor somewhere within the table, and selecting the Publish button.

    Note:
    The Burndown worksheet contains a chart that you can use to track work progress during the iteration. As tasks are completed, you can come here to get an idea of iteration progress.

    Figure 22

    Burndown worksheet

  27. Close Excel and save changes when prompted to return to Visual Studio.

Next Step

Exercise 3: Working with Hierarchical Work Items in Visual Studio and Project