Exercise 1: Managing User Stories

In this exercise, you will learn how to use the Product Backlog workbook to work with user story work items from Team Foundation Server. User stories are single sentences that describe actions that the user can take and are typically written when starting a software project.

  1. Log in as Abu Obeida Bakhach (Dev) if you have not already done so. The password is P2ssw0rd (capital letter P, the number two, the letter s, the letter s, the letter w, the number zero, the letter r, and the letter d). Please see “Working with the Visual Studio 2010 Virtual Machine” for instructions on how to log into the VM.
  2. Open Microsoft Visual Studio from Start | All Programs | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010.
  3. In Team Explorer, expand the Tailspin Toys project node, followed by the Documents and Shared Documents folders so that you can see the Product Planning.xlsm workbook.

    Figure 1

    Product Planning workbook location

  4. The new Product Planning workbook enables you to manage your backlog of product work items from within Microsoft Excel. Double-click on Product Planning.xlsm to open it, selecting the OK button when prompted.

    Figure 2

    File download confirmation dialog box

    Note:
    When prompted to enter a product key, select the Continue button followed by the No button to continue using the trial version. Check the task bar as this prompt may be in the background.
  5. 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.

    Figure 3

    Refresh button location

  6. The Product Planning workbook, which shows all of the existing user stories, is initially loaded in read-only mode. Each user story is represented as a work item in TFS. Select the Edit Workbook button near the top of the workbook.

    Figure 4

    Edit Workbook button location

  7. Note that each user story represented here has a state and iteration assigned to it. All of the user stories associated with Iteration 1 have already been completed, the three user stories associated with Iteration 2 are currently in progress or resolved, and the rest are assigned to the backlog.

    Figure 5

    Initial state for State and Iteration Path columns

  8. Select the Iterations worksheet (tab near bottom of workbook). This worksheet helps define iterations and balance the workload between those iterations. The Planned and Delivered columns represent the quantity of work that we planned to complete and the quantity of work actually completed during the iteration, where work is measured in story points. While planning a new iteration, we can take into account the planned and delivered work from previous iterations in order to help assign an appropriate level of work for future iterations.

    Figure 6

    Initial state of Iteration planning worksheet

  9. Now let’s start planning a new iteration. Under the Story Points per Iteration heading, find the row for Iteration 3 and enter a Start Date for next Monday. It is important that this date be in the future. Enter the End Date for the end of that week (the following Friday). Finally, enter 3 for team size.

    Figure 7

    Adding Iteration 3

  10. The next step is to start assigning active customer story tasks to the new iteration. Return to the Product Backlog worksheet and assign the first three Backlog items to Iteration 3. Note that each customer story has story points assigned to it. These points, which represent a rough order of magnitude estimate for the amount of work anticipated, are used later on to help load balance the planned development iterations.

    Figure 8

    Backlog work items changed to Iteration 3

  11. Switch back to the Iterations worksheet to see what the workload is looking like in comparison with previous iterations. The three user story tasks that we added to the new iteration account for 10 story points, which is less than the 14 that were scheduled with the team size for Iteration 2, and less than the 20 that were delivered on with a slightly larger team during Iteration 1.

    Figure 9

    Iteration Planning worksheet showing Iteration 3 work load

  12. It looks like we have more capacity, so let’s assign some more work to Iteration 3. Return to the Product Backlog worksheet and find the backlogged user story with an ID of 15. This user story is worth 4 story points, which would bring the total story points for Iteration 3 up to where we want it. Note that some other backlogged user stories were skipped over because their story points indicate that they would be too much work for this iteration.
  13. Change the Iteration Path for user story ID = 15 to Iteration 3.
  14. Switch back to the Iterations worksheet and note that Iteration 3 does indeed show that we are taking on the right amount of work considering the story points, size of team, and length of iteration.

    Figure 10

    Iteration Planning worksheet showing updated Iteration 3 work load

  15. Note that the Product Planning workbook also has an Interruptions worksheet that allows you to account for holidays or other day-long events for the entire team. This data is represented in the Days column of the Iterations worksheet if it falls within an iteration date range.

    Figure 11

    Interruptions worksheet for Product Planning workbook

  16. Now that we have modified the user stories and completed our new iteration planning, we should save the changes to TFS. Return to the Product Backlog worksheet, click anywhere in the table to put the cursor there, and then select Publish from the Team tab in Excel.

    Figure 12

    Publish button location

    Note:
    It may take a moment for the changes to be published to TFS.
  17. Now that we are done working with the Product Planning workbook, close it and save the changes when prompted.

Next Step

Exercise 2: Managing Iteration Work Items and Team Capacity