Both Scrum and CMMI focus on very similar objectives: improvement is either a mean or an end, which guides the team as the projects evolve. In fact, far from representing conflicting approaches, they can be successfully combined, so using Scrum and the right tools can easily lead an organization to achieve higher levels in the CMMI maturity model. CMMI is – purposely – method and tool agnostic, so while it addresses the “what," Scrum, in combination with Visual Studio and Team Foundation Server, can fill the gap about the “how." This session provides insights around these matters, and guidelines on how to benefit from Scrum and ALM practices along the different CMMI levels.
2. 8 – 10 March 2011 | Dubai, UAE Jose Luis Soria ALM Team Lead Plain Concepts Agile CMMI: Embrace maturity with Scrum, Visual Studio 2010 and TFS 2010 SESSION CODE: DEV302
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 CMMI in a nutshell Scrum and CMMI Introducing Visual Studio and Team Foundation Server 2010 Filling the gaps: Scrum, CMMI and Visual Studio + TFS 2010 Questions / Demos
6. 6 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.
7. 7 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, whocollaborateswiththestakeholders and theTeam. Prioritizationisguidedby ROI
8. 8 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
9. 9 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
10. 10 Scrum in a nutshell (IV) Release and Sprint Burdowngraphs are maintained in ordertotrackproject and iteration status. Thekeymetricisvelocity
11. 11 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
12. 12 Image by Sam Guckenheimer (samgu@microsoft.com)
13. 13 Common misconceptions about Scrum and Agile Sometimes, Agile and Scrum are misunderstood Itisbelievedthattheypromoteanundisciplinatedorlooselydefinedprocess Onthecontrary, whenproperlyused, Scrum: Is precise and disciplined Has clear and concrete rules Promotestransparency and responsibility Focusesonquality and continuousimprovement
15. 15 CMMI in a nutshell (I) CMMI is a processimprovementapproachfororganizationsdoing software development (CMMI-DEV model) Itprovides a set of recommendationstargetedtomanage software developmentprojects and toachieveimprovements Itsgoalistogrowmaturityintotheorganization, in ordertobetterfacetheseprojects As a result, theorganizationobtains a higherqualityfordeliverables, and improvedefficiencyforwork
16. 16 CMMI in a nutshell (II) CMMI isorganizedintoprocessareas, groupedbycapacitylevels (continuousrepresentation) orbymaturity (stagedrepresentation)
17. 17 CMMI in a nutshell (III) Theprocessareas are thedifferentareasto be coveredbytheorganization’sprocesses, dependingonthematuritylevels
18. 18 CMMI in a nutshell (IV) Anyorganizationwillingtomeasureitsprogress, can conductanappraisal Anappraisaltypicallyisconducted in ordertoidentifyimprovementareas, toinformthirdparties (customers, suppliers) aboutlevel of fulfillment, ortomeet contractual requirements ThestandardappraisalmethodwhichcoversalltherequirementsisSCAMPI
19. 19 Common misconceptions about CMMI Thegoal of CMMI isnottocovereveryaspectrelatedto software development CMMI ismostly at managementlevel. Itdoesn’tget in depthabouttechnicalsubjects CMMI practicesshould be customizedforeachorganization, dependingonbusinessgoals Organizationsdon’tget a CMMI certification. They are appraised in orderto determine theirmaturitylevel Itis up totheorganizationto decide whichprocessareas are to be improved
21. 21 EmbracingScrum and CMMI CMMI defines a set of processareaswhosegoalshaveto be fulfilled in ordertoadvancethroughthematuritylevels. Itisaboutthe «what» to do Nevertheless, itdoesn’tspecify «how» thegoalsfortheprocessareasshould be fulfilled, whichisleft up totheorganization Scrumpracticescover a broad set of CMMI processareas Thus, it’spossibleto use Scrum as the mean toimplement CMMI and covermany of theprocessareas CMMI specifiesthe «what», whileScrum can supportthe «how»
30. 30 Filling the gaps using Visual Studio and TFS Visual Studio + TFS supportScrum, providingprocesstemplates and a set of toolsthathelptocarryoutScrumpractices Regarding CMMI processareas, complementingScrumwith Visual Studio + TFS, allowsustoimprovecomplianceforsome of theseareas, and tocoversomeotherareasnotaddressedbyScrumitself
37. 37 Session specific content CMMI: http://www.sei.cmu.edu/cmmi/ Scrum Guides: http://www.scrum.org/scrumguides Scrum and CMMI: a highlevelassesment of compatibility: http://bit.ly/gtMTqy Implementing Scrum and CMMI Together: http://bit.ly/gZkC6k Jeff Sutherland – Scrum and CMMI level 5: http://bit.ly/f55q6P
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 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 Team Foundation Server: What Happens after the Install Button… Anton Delsink - Thu, Mar 10, 2011 - 15:00 - Purple Room 2
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