Scrum is maybe the most exciting thing that has happened to the software development world over the last years. Its empirical approach, strikingly changes the way people face projects, and shifts the focus into improving upon development practices, while continuously delivering valuable software increments. Combined with the proper tools and practices, teams can dramatically improve their performance and fulfill customer expectations. This session makes a tour around the Scrum framework, showing how Scrum Teams work in practice, and going into details about how Visual Studio and Team Foundation Server can support and facilitate a great amount of the activities carried out by these teams in their quest for delivering value.
2. 8 – 10 March 2011 | Dubai, UAE Jose Luis Soria ALM Team Lead Plain Concepts Practicing Scrumwith Visual Studio 2010 and TFS 2010 SESSION CODE: DEV203
3. 3 Jose Luis Soria ALM Team Lead at Plain Concepts Professional Scrum Developer Trainer MCTS in Team Foundation Server jlsoria@plainconcepts.com @jlsoriat www.plainconcepts.com geeks.ms/blogs/jlsoria
4. 4 AgendaWhat are we going to deal with? Scrum in a nutshell Building the Product Backlog The Definition of Done Commitment and Sprint Goal The Sprint Backlog Gettingwork done Delivering Improving Questions?
5. 5 An improvement tale Once upon a time, there was a Team which was willing to improve the way they worked. They knew about Scrum, although they didn’t know if they were taking advantage of it as much as they could. Furthermore, they had heard about powerful tools that could assist them, but weren’t sure about how to use them to support Scrum practices
6. Fortunately, there was the ScrumMaster, willing to guide the Team in their quest for improvement Thus he madesurethateveryoneknewabouttheScrumfundamentals 6
8. 8 Agile Manifesto The soul of Scrum We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
9. 9 Scrum in a nutshell (I) Scrumisanempiricalframeworkwhithinwhichcomplexproductscan be developed Workisperformed in 2-4 week, fixed-lengthiterationscalledSprints, whichfolloweachotheruntilprojectcompletion Requirements and anyotherchangerequest are managedusing a prioritized and estimatedlistcalledProductBacklog TheProductBacklogismanagedbytheProductOwner, whocollaborateswiththestakeholdersand theTeam. Prioritizationisguidedby ROI
10. 10 Scrum in a nutshell (II) TheScrumMasterassuresthatScrumisproperly done, coachestheTeam and managesissues Thecross-functional and self-organizedTeam(s)is (are) composed of 7±2 people At thebeginning of each Sprint, theSprint Planningmeetingisheld, wheretheTeamcommitsto a part of thehigherpriorityProductBacklog. They figure outthewaytostartworking in theitems, bybuildingtheSprint Backlog, a listcontainingthetaskswhichrepresenttheworkto be done duringthe Sprint
11. 11 Scrum in a nutshell (III) At theend of each Sprint, theTeam tries todeliveranincrement of potentiallyshippable, valuablefunctionality Once thecommitment has beenmade, thescope, Team and duration are fixedforthat Sprint Everydayduringthe Sprint, theTeamholdstheDailyScrummeeting, whereprogressistracked, impediments are surfaced, and workisplanned
12. 12 Scrum in a nutshell (IV) Release and Sprint Burdowngraphs are maintained in ordertotrackproject and iteration status. Thekeymetricisvelocity
13. 13 Scrum in a nutshell (V) At theend of eachSprint, theTeam shows thecompletedincrement at theSprint Reviewmeeting. TheProductOwnergathersfeedbackto be takenintoaccountforfutureSprints Afterthe Sprint Review, theTeamholds a Sprint Retrospectivemeeting, tohave a look at howthe Sprint went and findimprovementactions Allalongtheproject, theProductOwner leads theProductBacklog «grooming», wherechanges and reprioritizations are madeaccordingtobusinessneeds
14. 14 Image by Sam Guckenheimer (samgu@microsoft.com)
15. Then, theywonderedwhatkind of toolscouldassistthemwhenapplyingalltheseinterestingconcepts and practices TheScrumMastertoldtheTeam and theProductOwneraboutTeamFoundationServer 15
17. 17 Building the Product Backlog The Scrum Team was willing to apply the concepts and tools they’ve just been told about. “But, before beginning, we’d better make sure that we have a well built Product Backlog!” Remember: just requirements is not enough. You’ll need estimates and priority
19. 19 The Definition of Done Once the initial backlog was ready, a question arose… how will we determine if we’ve finished working in a particular Product Backlog Item? The ScrumMaster promptly answered: you should make up a Definition of Done, which summarizes the conditions to be fulfilled in order to take a feature as ready to be delivered.
20. TheScrumTeamagreedon a Definition of Done thatwasgoodenoughtoguaranteethatthey’lldelivervalue at theend of each Sprint Then, theypublishedittoTeamFoundation Server, so everyonecouldcheckitwhenneeded 20
21. 21 Commitment and Sprint Goal We’ve got to the Sprint Planning meeting, and it’s time to make a commitment. But we’d like to have a clue on how much we can get done by the end of the Sprint. Once we’re confident with our commitment, we’ll summarize it into a Sprint Goal, which will guide us during the Sprint.
22. Itwould be greatifwehadan idea of howweperformed in thepast, so wecouldmakethecommitmentaccordingly Soontheyrealizedthatthisinformationwill be providedby TFS withoutmucheffort. So theymadethecommitment, agreedon a Sprint Goal and gotitreflected in TFS 22
23. 23 The Sprint Backlog The second part of the Sprint Planning Meeting was devoted to figure out how they were going to turn the Product Backlog Items they’ve just committed to, into an increment of valuable product functionality. The Team built an initial Sprint Backlog, understanding that it was an aid to help them fulfill the commitment, and thus, it will change and evolve during the Sprint.
25. 25 During the Sprint TheTeambegantoself-organizetoworkonthecommitment, knowingthatthescopewouldn’t be changedduringtheSprint. TheDailyScrumswentonflawlessly. The Sprint Backlogwasregularlyupdated, and the Sprint Burndownreflectedtheprogresstowardsthe Sprint Goal. Meanwhile, theProductOwnerwentongroomingthepart of theProductBacklogwhichwasnotinvolved in thecommitment, evolvingittobetterreflectbusinessneeds, and askingtheTeamforhelpwhenneeded.
26. 26 Getting work done TheTeamwasaware of thefactthattheyhadtomeettheDoDforeachfeature, in ordertobringthemtothe Sprint Review. TheTeamwascross-functional, so theymostlymanagedtotakeonanyactivitytheyfaced. TheScrumMasterwaswatching, to be surethattheTeamworked in theproperenvironment, and thatanyimportantimpedimentwasaddressedbeforebecoming a threatforgettingtotheGoal.
28. 28 Dealing with the unexpected Onedayduringthe Sprint, theTeamfoundsomeunexpectedworkto be done. Whentheyupdatedthe Sprint Backlogtoreflectthis, the Sprint Burndownrevealedthattheyweren’tbeingabletodelivereverythingthatthey’vecommitedto. Inmediately, theScrumMasterlettheProductOwnerknowabouttheissue, so theycould decide whatto do.
31. 31 Delivering The Sprint Reviewwasheld, so thestakeholderscouldknowaboutwhat has been done and whathasn’t. Everyonehadtheopportunitytoprovidefeedback, whichwastakenintoaccountforfutureProductevolution.
33. 33 Improving After the Sprint Review, the Team went on with a Retrospective, where they tried to summarize how the Sprint that was just about to finish had gone, searching for practices, tools, artifacts or anything eligible to be improved, to be reused or to be discarded
34. Theytook note of theoutcomes of theRetrospective, and discussedabouthowtotakeadvantage of them 34 Once again, theyusedtheavailabletoolstotrack and manageallthisinformation
35. At theend, theywerereadytobeginthenext Sprint, goingonwiththequestfordeliveringvalueUsing Visual Studio and TeamFoundation Server, they’dmanagedtogreatlyimprovethewaytheyworked 35
37. 37 Session specific content Scrum Guide: http://www.scrum.org/scrumguides/ Microsoft Visual Studio Scrum 1.0 (Process Template for TFS): http://bit.ly/hmgkRU Imagessources: http://bit.ly/fivoSe
38. 38 Related content Scrum’s home: www.scrum.org Team Foundation Server: http://bit.ly/dMTJx2 Application Lifecycle Management: http://bit.ly/awjqx9 Professional Scrum Developer Program: http://bit.ly/dppXd0
39. 39 Related Sessions at TechEd Applied Software Testing with Visual Studio 2010 Brian Keller - Wed, Mar 9, 2011 14:00 – Blue Room I (Almost) Everything You Need to Know to Begin Doing Agile Estimation Jose Luis Soria - Wed, Mar 9, 2011 14:00 - Yellow Theater I Agile CMMI - Embrace Maturity with Scrum, Visual Studio 2010 and TFS 2010 Jose Luis Soria - Wed, Mar 9, 2011 15:30 – Green Room 4 Introduction to Test Case Management in Microsoft Visual Studio 2010 with Microsoft Test and Lab Manager - Ahmed Bahaa - Thu, Mar 10, 2011 - 9:00 - Yellow Lab 1
40. 40 Professional Scrum Developer ProgramAnnouncement An innovate program for developers from Microsoft and the founders of Scrum Learn how to use modern engineering practices to develop an increment of complete, potentially shippable functionality using Visual Studio 2010, ALM, and the Scrum framework Training course, assessment, and certification available Visit MSDN for more details: http://bit.ly/dppXd0