Practicing Scrum with Visual Studio 2010 and TFS 2010 - TechEd Middle East 2011 DEV203


Published on

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.

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • TFS briefdescriptionDemoUploadingsourcecode
  • Demo:BuildProductBacklog (from Excel)IncludeAcceptanceCriteria, estimations and priorities
  • Demo:Build a DoD and uploaditto TFS
  • Demo:Getthevelocity data fromburndownsSet up the sprint detailsIncludecommitment and SprintGoal
  • Demo:Buildingthe Sprint Backlog (Excel)Assignestimations, people, etc.
  • Demos:- Planningoverthebacklog (web access?)- Gatheringfeedback
  • Demos:- Retrospective- Introducingmodificationsintothebacklog
  • Demos:- Planningoverthebacklog- Gatheringfeedback
  • Team Foundation Server: What Happens after the Install Button…Anton Delsink - Thu, Mar 10, 2011 - 15:00 - Purple Room 2
  • Practicing Scrum with Visual Studio 2010 and TFS 2010 - TechEd Middle East 2011 DEV203

    1. 1. 8 – 10 March 2011 | Dubai, UAE<br />
    2. 2. 8 – 10 March 2011 | Dubai, UAE<br />Jose Luis Soria<br />ALM Team Lead<br />Plain Concepts<br />Practicing Scrumwith Visual Studio 2010 and TFS 2010<br />SESSION CODE: DEV203<br />
    3. 3. 3<br />Jose Luis Soria<br />ALM Team Lead at Plain Concepts<br />Professional Scrum Developer Trainer<br />MCTS in Team Foundation Server<br /><br /> @jlsoriat<br /><br /><br />
    4. 4. 4<br />AgendaWhat are we going to deal with?<br />Scrum in a nutshell<br />Building the Product Backlog<br />The Definition of Done<br />Commitment and Sprint Goal<br />The Sprint Backlog<br />Gettingwork done<br />Delivering<br />Improving<br />Questions?<br />
    5. 5. 5<br />An improvement tale<br />Once upon a time, there was a Team which was willing to improve the way they worked.<br />They knew about Scrum, although they didn’t know if they were taking advantage of it as much as they could.<br />Furthermore, they had heard about powerful tools that could assist them, but weren’t sure about how to use them to support Scrum practices <br />
    6. 6. Fortunately, there was the ScrumMaster, willing to guide the Team in their quest for improvement<br />Thus he madesurethateveryoneknewabouttheScrumfundamentals<br />6<br />
    7. 7. Scrum in a nutshell<br />7<br />
    8. 8. 8<br />Agile Manifesto<br />The soul of Scrum<br />We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:<br />Individuals and interactions over processes and tools<br />Working software over comprehensive documentation<br />Customer collaboration over contract negotiation<br />Responding to change over following a plan<br />That is, while there is value in the items on the right, we value the items on the left more.<br />
    9. 9. 9<br />Scrum in a nutshell (I)<br />Scrumisanempiricalframeworkwhithinwhichcomplexproductscan be developed<br />Workisperformed in 2-4 week, fixed-lengthiterationscalledSprints, whichfolloweachotheruntilprojectcompletion<br />Requirements and anyotherchangerequest are managedusing a prioritized and estimatedlistcalledProductBacklog<br />TheProductBacklogismanagedbytheProductOwner, whocollaborateswiththestakeholdersand theTeam. Prioritizationisguidedby ROI<br />
    10. 10. 10<br />Scrum in a nutshell (II)<br />TheScrumMasterassuresthatScrumisproperly done, coachestheTeam and managesissues<br />Thecross-functional and self-organizedTeam(s)is (are) composed of 7±2 people<br />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<br />
    11. 11. 11<br />Scrum in a nutshell (III)<br />At theend of each Sprint, theTeam tries todeliveranincrement of potentiallyshippable, valuablefunctionality<br />Once thecommitment has beenmade, thescope, Team and duration are fixedforthat Sprint<br />Everydayduringthe Sprint, theTeamholdstheDailyScrummeeting, whereprogressistracked, impediments are surfaced, and workisplanned<br />
    12. 12. 12<br />Scrum in a nutshell (IV)<br />Release and Sprint Burdowngraphs are maintained in ordertotrackproject and iteration status. Thekeymetricisvelocity<br />
    13. 13. 13<br />Scrum in a nutshell (V)<br />At theend of eachSprint, theTeam shows thecompletedincrement at theSprint Reviewmeeting. TheProductOwnergathersfeedbackto be takenintoaccountforfutureSprints<br />Afterthe Sprint Review, theTeamholds a Sprint Retrospectivemeeting, tohave a look at howthe Sprint went and findimprovementactions<br />Allalongtheproject, theProductOwner leads theProductBacklog «grooming», wherechanges and reprioritizations are madeaccordingtobusinessneeds<br />
    14. 14. 14<br />Image by Sam Guckenheimer<br />(<br />
    15. 15. Then, theywonderedwhatkind of toolscouldassistthemwhenapplyingalltheseinterestingconcepts and practices<br />TheScrumMastertoldtheTeam and theProductOwneraboutTeamFoundationServer<br />15<br />
    16. 16. 16<br />
    17. 17. 17<br />Building the Product Backlog<br />The Scrum Team was willing to apply the concepts and tools they’ve just been told about.<br />“But, before beginning, we’d better make sure that we have a well built Product Backlog!”<br />Remember: just requirements is not enough. You’ll need estimates and priority<br />
    18. 18. TheProductOwnerbuilttheinitialbacklog and askedtheTeamtohelpwithestimates. Then, he had a betterjudgementtodealwithpriorities<br />Theybeganto use WorkItem Tracking capabilities in TeamFoundation Server<br />18<br />
    19. 19. 19<br />The Definition of Done<br />Once the initial backlog was ready, a question arose… how will we determine if we’ve finished working in a particular Product Backlog Item?<br />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.<br />
    20. 20. TheScrumTeamagreedon a Definition of Done thatwasgoodenoughtoguaranteethatthey’lldelivervalue at theend of each Sprint<br />Then, theypublishedittoTeamFoundation Server, so everyonecouldcheckitwhenneeded<br />20<br />
    21. 21. 21<br />Commitment and Sprint Goal<br />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.<br />Once we’re confident with our commitment, we’ll summarize it into a Sprint Goal, which will guide us during the Sprint.<br />
    22. 22. Itwould be greatifwehadan idea of howweperformed in thepast, so wecouldmakethecommitmentaccordingly<br />Soontheyrealizedthatthisinformationwill be providedby TFS withoutmucheffort. So theymadethecommitment, agreedon a Sprint Goal and gotitreflected in TFS<br />22<br />
    23. 23. 23<br />The Sprint Backlog<br />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.<br />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.<br />
    24. 24. We’llbegindesigningthework, and decomposingtheresultingtasks so theyhavethepropersizetodealwiththem<br />Once usedtoWorkItemTrackingin TFS, workingwiththe Sprint Backlogwasnotmuch of a hassle<br />24<br />
    25. 25. 25<br />During the Sprint<br />TheTeambegantoself-organizetoworkonthecommitment, knowingthatthescopewouldn’t be changedduringtheSprint. TheDailyScrumswentonflawlessly.<br />The Sprint Backlogwasregularlyupdated, and the Sprint Burndownreflectedtheprogresstowardsthe Sprint Goal.<br />Meanwhile, theProductOwnerwentongroomingthepart of theProductBacklogwhichwasnotinvolved in thecommitment, evolvingittobetterreflectbusinessneeds, and askingtheTeamforhelpwhenneeded.<br />
    26. 26. 26<br />Getting work done<br />TheTeamwasaware of thefactthattheyhadtomeettheDoDforeachfeature, in ordertobringthemtothe Sprint Review.<br />TheTeamwascross-functional, so theymostlymanagedtotakeonanyactivitytheyfaced.<br />TheScrumMasterwaswatching, to be surethattheTeamworked in theproperenvironment, and thatanyimportantimpedimentwasaddressedbeforebecoming a threatforgettingtotheGoal.<br />
    27. 27. Once again, theTeamwiselyusedthetoolsthey’vebeengiven<br />Visual Studio and TeamFoundation Server are packedwithfeaturesthatprovenusefulfortheTeamduringthe Sprint <br />27<br />
    28. 28. 28<br />Dealing with the unexpected<br />Onedayduringthe Sprint, theTeamfoundsomeunexpectedworkto be done. Whentheyupdatedthe Sprint Backlogtoreflectthis, the Sprint Burndownrevealedthattheyweren’tbeingabletodelivereverythingthatthey’vecommitedto.<br />Inmediately, theScrumMasterlettheProductOwnerknowabouttheissue, so theycould decide whatto do.<br />
    29. 29. Theydecidedto cancel theraisesfortheTeamthatquarter, and tofiresomeone, so theylearnedtotake more careforthenext time.<br />29<br />
    30. 30. TheProductOwnerdecidedtolettheTeam descope thefeaturefromthecurrent Sprint, and theytriedtolearnfromthis in ordertominimize similar problems in thefuture<br />30<br />
    31. 31. 31<br />Delivering<br />The Sprint Reviewwasheld, so thestakeholderscouldknowaboutwhat has been done and whathasn’t.<br />Everyonehadtheopportunitytoprovidefeedback, whichwastakenintoaccountforfutureProductevolution.<br />
    32. 32. TheProductOwnerusedtheProductBacklog, and velocity, toprojectlikelycompletion dates. And gatheredallthefeedback in ordertoupdatetheBacklog.<br />32<br />
    33. 33. 33<br />Improving<br />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<br />
    34. 34. Theytook note of theoutcomes of theRetrospective, and discussedabouthowtotakeadvantage of them<br />34<br />Once again, theyusedtheavailabletoolstotrack and manageallthisinformation<br />
    35. 35. At theend, theywerereadytobeginthenext Sprint, goingonwiththequestfordeliveringvalueUsing Visual Studio and TeamFoundation Server, they’dmanagedtogreatlyimprovethewaytheyworked<br />35<br />
    36. 36. 36<br />Questions?<br />
    37. 37. 37<br />Session specific content<br /> Scrum Guide:<br /> Microsoft Visual Studio Scrum 1.0 (Process Template for TFS):<br />Imagessources:<br />
    38. 38. 38<br />Related content<br />Scrum’s home:<br /> Team Foundation Server:<br />Application Lifecycle Management:<br /> Professional Scrum Developer Program:<br />
    39. 39. 39<br />Related Sessions at TechEd<br /> Applied Software Testing with Visual Studio 2010<br /> Brian Keller - Wed, Mar 9, 2011 14:00 – Blue Room I<br /> (Almost) Everything You Need to Know to Begin Doing Agile Estimation<br /> Jose Luis Soria - Wed, Mar 9, 2011 14:00 - Yellow Theater I<br /> Agile CMMI - Embrace Maturity with Scrum, Visual Studio 2010 and TFS 2010<br /> Jose Luis Soria - Wed, Mar 9, 2011 15:30 – Green Room 4<br /> Introduction to Test Case Management in Microsoft Visual Studio 2010 with Microsoft<br /> Test and Lab Manager - Ahmed Bahaa - Thu, Mar 10, 2011 - 9:00 - Yellow Lab 1<br />
    40. 40. 40<br />Professional Scrum Developer ProgramAnnouncement<br /> An innovate program for developers from Microsoft and the founders of Scrum<br />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<br />Training course, assessment, and certification available<br />Visit MSDN for more details:<br />
    41. 41. 41<br />
    42. 42. 8 – 10 March 2011 | Dubai, UAE<br />Complete an evaluation on CommZone and enter to win an HP laptop!<br />
    43. 43. © 2008 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.<br />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.<br />