Jeff Hunsaker VS ALM MVP; Scrum Master; COALMG Cardinal Solutions Group: Microsoft Solutions Practice Manager; ALM Practice Lead jhunsaker@cardinalsolutions.com www.jeffreyhunsaker.com @JeffHunsaker
Alexei Govorine PSM; Scrum Developer Trainer; cofounder COALMG Quick Solutions: ALM Practice Manager agovorine@quicksolutions.com govorin.blogspot.com @Leshka
Agenda Scrum with TFS 2010 using MSF for Agile 5.0 Planning the Project How do you plan the project? Project planning in TFS 2010 Planning a Sprint What is sprint planning? Sprint planning in TFS 2010 Running a Sprint How do you run a sprint? Running a sprint in TFS 2010
Why Scrum? Scrum in the sports of rugby union and rugby league, is a way of restarting the game, either after an accidental infringement or (in rugby league only) when the ball has gone out of play.
The Forrester Wave : Agile Development Management Tools, Q2 2010, Forrester Research, Inc., May 5, 2010.
The Forrester Wave : Agile Development Management Tools, Q2 2010, Forrester Research, Inc., May 5, 2010.
Indeed.com : Trend search on keywords: agile, scrum, lean, kanban, xp, iterative, cmmi, waterfall, rup. May 25, 2010.
Scrum Framework Product Owner Roles Timeboxes Artifacts Release Planning Meeting Product Backlog ScrumMaster Sprint Planning Meeting Sprint Backlog The Team The Sprint Burndown Chart Daily Scrum Meeting Sprint Review Meeting Sprint Retrospective Meeting Working Software For more information: www.scrum.org
Process Templates for Agile Software Development Microsoft ships Team Foundation Server 2010 with two process templates MSF for Agile Software Development v5.0 MSF for CMMI Process Improvement v5.0 (Neither template supports Scrum directly MSF for Agile comes closer) - Team Foundation Server Scrum Template (coming soon) EMC Scrum for Team System v3.0 3 rd party vendors
VS ALM 2010 Overview
Agenda Scrum with TFS 2010 using MSF for Agile 5.0 Planning the Project How do you plan the project? Project planning in TFS 2010 Planning a Sprint What is sprint planning? Sprint planning in TFS 2010 Running a Sprint How do you run a sprint? Running a sprint in TFS 2010
How do you Plan the Project? Product Backlog Evolving backlog of user stories (requirements) Describes what users need and value Owned by the Product Owner Prioritized by business value Each story is written from the user s perspective
Planning the Project Product Backlog User Stories 5 As a new customer I want to register online so I can use the services offered Priority 3 5 8 Stories are listed on the backlog The in priority team estimates order each story using story points 1 8 New stories are added to the product backlog
Planning the Project Product Backlog Stories are planned for User Stories Sprint completion 3 in upcoming sprints 3 3 Priority 4 3 Sprint The product 4 owner reprioritizes the backlog 4 4
Product Backlog in TFS 2010 Product Backlog query Creating new user stories Prioritizing Estimating story points Add user stories to upcoming sprints
DEMO: Product Backlog
Product Backlog Product backlog query in Team Explorer
Product Backlog New stories created by the Product Owner
Product Backlog The new story provides a guide to ensure the story is written from the customer s perspective
Product Backlog Each story is ranked by priority and assigned a story point value
Product Backlog Product Backlog workbook for planning future sprints
Product Backlog Workbook Stories that are too large are left on the backlog Each story is placed in an upcoming sprint
Product Backlog Workbook with start/end dates and the size of the team The product owner can use the velocity of the team to help plan for upcoming sprints Each sprint is added to Iteration Planning worksheet
Agenda Scrum with TFS 2010 using MSF for Agile 5.0 Planning the Project How do you plan the project? Project planning in TFS 2010 Planning a Sprint What is sprint planning? Sprint planning in TFS 2010 Running a Sprint How do you run a sprint? Running a sprint in TFS 2010
What is Sprint Planning? The product owner and the team add user stories to the sprint Each story is decomposed into tasks The team makes a commitment to each user story
Planning a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) 3 3 3 Based on estimates the The team team During thinks commits the sprint to planning this story is more meeting, each story The the team product breaks work than owner they and down the each team story add can commit User to Stories into the tasks sprint Commit! Commit! Can t Commit!
Planning a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) 3 3 Commit!? 3 3 The larger story is removed from the sprint and The the sprint team is now considers planned a smaller and the The team can story on the team backlog is ready to get commit started! to this smaller story Commit! Commit!
Sprint Planning Break down user stories into tasks Load balance Commit Track interruptions Track progress
DEMO: Sprint Planning
Iteration Backlog Workbook Each sprint has an Excel workbook to assist the team in making a commitment
Iteration Backlog Workbook Dates for the sprint are added
Iteration Backlog Workbook... and any planned interruptions
Iteration Backlog Workbook The team breaks down the first user story into tasks
Iteration Backlog Workbook Each task is estimated in hours
Iteration Backlog Workbook The team checks their capacity for the sprint
Iteration Backlog Workbook The next story is The next story is broken down
Iteration Backlog Workbook
Iteration Backlog Workbook but one team member has too much work The team has capacity
Iteration Backlog Workbook
Iteration Backlog Workbook The final story is broken down
Iteration Backlog Workbook Based on capacity and estimates, the team is overcommitted
Iteration Backlog Workbook The final story is removed
Iteration Backlog Workbook And replaced with a smaller story from the product backlog
Iteration Backlog Workbook but one team member still has too The much team workis comfortable committing to this story
Iteration Backlog Workbook Tasks are reassigned
Iteration Backlog Workbook Tasks are reassigned
Iteration Backlog Workbook Work is now load balanced across the team
Iteration Backlog Workbook The final step is to publish the data back to TFS Sprint planning is complete!
Agenda Scrum with TFS 2010 using MSF for Agile 5.0 Planning the Project How do you plan the project? Project planning in TFS 2010 Planning a Sprint What is sprint planning? Sprint planning in TFS 2010 Running a Sprint How do you run a sprint? Running a sprint in TFS 2010
How do you Run a Sprint? Track Progress Daily Sprint Meeting What work has been completed What work remains Deliver a potentially shippable increment Demo the value delivered Retrospective
Running a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) The team starts work on the tasks
Running a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) Completed work is reported daily
Running a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours)
Running a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) Each User Story has been implemented All work for the sprint is done-done
Running a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) And the team has developed a potentially shippable increment The team holds a demo to show the value they have delivered
Running a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) The latest increment is shipped to customers
Running a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) Stories and tasks are Stories cleared delivered from the in backlog the last the sprint team are delivered closed on its commitment What worked? What didn t work? The team holds a What can the team do retrospective to improve?
Running a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) New Stories are added to the Product Backlog
Running a Sprint Product Backlog Iteration Backlog User Stories User Stories Tasks (hours) The backlog is prioritized and ready for the team to plan the next sprint
Running a Sprint Record completed work daily Track progress with reports and dashboards Retrospectives
Updating Tasks Multiple interfaces for updating work items
Updating Tasks Team Explorer
Updating Tasks Iteration Backlog workbook
Updating Tasks Team Project portal
Updating Tasks
Updating Tasks
Updating Tasks Team Web Access
Tracking Progress Burndown chart tracks remaining and completed work
Tracking Progress
Tracking Progress
Tracking Progress Detailed sprint progress is tracked on the project portal The burndown shows the team on track And almost half of the tasks remain open But the team hasn t closed any of the three stories
Tracking Progress The Scrummaster opens an issue to track the problem the portal has identified
Tracking Progress The issue is opened and tracked in TFS
Tracking Progress The portal brings data together so it can be analyzed to ensure success on a sprint Test are passing But bugs are climbing steadily
Tracking Progress Rich set of reports track progress
Retrospective Capture retrospectives using the Team wiki on the Project Portal Sample documents are provided as a guide
Agenda Scrum with TFS 2010 using MSF for Agile 5.0 Planning the Project How do you plan the project? Project planning in TFS 2010 Planning a Sprint What is sprint planning? Sprint planning in TFS 2010 Running a Sprint How do you run a sprint? Running a sprint in TFS 2010
Mapping Scrum to Visual Studio 2010 * Scrum Concept Team Definition of Done Product User Story (PBI) Acceptance Criteria Product Backlog Release Release Goal Release Capacity Sprint Sprint Goal Sprint Capacity Sprint Backlog Task (SBT) Burndown Charts Impediment Bug Retrospective Visual Studio 2010 (MSF/Agile 5.0) Concept Team Foundation Server security groups Entries into Team Wiki Team Project User Story work item User Story narrative and/or Test Case work item List of all User Story work items (Product Backlog query) Iteration Path (high level) Wiki entry or document on the portal Product Backlog worksheet (Iteration Planning tab) Iteration Path (low level) Wiki entry or document on the portal Iteration Planning Workbook List of Tasks for a given Sprint Task work item Reports Issue work item Bug work item Entries into Team Wiki * without customization
Mapping Scrum Artifacts to Visual Studio 2010 Artifact Product Backlog Sprint Backlog Burndown Charts Mapping Contains User Story and Bug work items (collectively known as PBIs) Anyone can create PBIs using Team Explorer, Web Access, Excel, etc. Product Owner is responsible for prioritizing PBIs PBIs are committed-to by the team during Sprint Planning PBIs are broken down into linked Task work items (also known as Sprint tasks) Sprint tasks can be created and re-estimated throughout the Sprint Only team members can manage the Sprint Backlog (tasks) Release Burndown is based on the total count/points of the remaining PBIs Sprint Burndown is based on the total hours of the remaining tasks
Mapping Scrum Roles to Visual Studio 2010 Role Product Owner ScrumMaster Team Mapping Uses Excel or Web Access to manage the Product Backlog Uses Excel to prioritize the PBIs - Excel is easier to reorder a sequential list of numbers Reviews emails, queries, and (burndown) reports as needed Uses Excel, Web Access, or Team Explorer to review and manage relevant Task and Issue (Impediment) work items Reviews emails, queries, and (burndown) reports as needed Ensures the Areas, Iterations, and current Sprint queries are maintained Sets the Iteration to the current Sprint for the User Story and Bug work items that the team has committed to Creates and manages Sprint tasks using Team Explorer Creates and associates Test Case work items using Team Explorer or MTM Associates their checked-in work with exactly one Sprint task Updates the work remaining field on their Sprint tasks daily As tasks are completed States are changed and Remaining hours zeroed out Works with the ScrumMaster to create any Issue (Impediment) work items Works with the Product Owner to identify the effort/cost/dependencies of PBIs
Questions/Follow-Up Jeff Hunsaker jhunsaker@cardinalsolutions.com www.jeffreyhunsaker.com @JeffHunsaker Alexei Govorine agovorine@quicksolutions.com govorin.blogspot.com @leshka
2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.