Professional Documents
Culture Documents
Abstract: This articles purpose is to assess the compatibility of Scrum with CMMI and also provide a base for understanding how Scrum can be implemented in organizations that are following a CMMI model. To an extent this is also a comparative study. Introductions to Scrum and CMMI are provided, followed by a discussion on the compatibility of 3 Scrum and CMMI, at an impleme ntation and an approach level . 0.INTRODUCTION
CMMIisaprocessframeworkwhichiswidelyadoptedbysoftwareandsystemsdevelopment companies,whileScumisoneofthemostimportantsoftwaredevelopmentmethodologieswhoseadoption isgrowingrapidly.CMMIisbasicallyaprocessimprovementframeworkwhichmandatesasetofprocesses for software development management. Scrum can be thought of as an iterative software project managementframeworkfordevelopmentactivities.CMMIhasawiderscopeanddifferentaimstothoseof Scrum. CMMI also covers productionsupport, maintenance, product implementation and application transitiontypeprojectsaswell.
SrinivasChillara1andPeteDeemer2
1.SCRUMOVERVIEW Scrum is an iterative, incremental framework for managing projects, including software developmentprojects. Scrumsapproachtocontrolsoftwaredevelopmentis empirical,sinceitis knowntobehighlycomplexwithmanyfactors,somehumandependant.Consequently,itisdifficult tomeasureorpredictthedevelopmenteffortandresults.Scrumstructuresworkiniterationscalled Sprints,whichareoffourweeksinlengthandtakeplaceoneaftertheotherforthedurationofa project.AtthebeginningofeachSprint,acrossfunctionalteamselectsitemsfromaprioritizedlist ofrequirementscalledtheProductBacklog;thislistiscreatedandmaintainedbytheProductOwner, whogathersinputsfromcustomersandothers,andthenranksthemaccordingtobusinessvalue.The teamselectsitemsstartingatthetopoftheProductBacklog(inotherwords,thehighestbusiness valueitems),andtheyonlyselectasmanyastheybelievestheycancompleteathighqualitybythe end of the Sprint. Scrumplaces a very strong emphasis on producing a potentially shippable incrementofproductattheendofeachSprint;inthecaseofsoftware,thismeanscodethathasbeen notonlywritten,butalsofullyintegrated,tested,documented,andanyotherstepsnecessarytoreach done.Oncetheteamhasmadeitscommitment,thereisnochangeduringtheSprint,eithertothe
1
deliverable(anynewrequestshavetowaituntilthenextSprint),ortothelengthoftheSprint(which endsonthepredetermineddate,whetherornottheworkhasbeencompleted).DuringtheSprint, theteammanagesitselftocompletewhatitcommittedto;aspartofthis,theteamgathersdailyfor 15minutesattheDailyScrumMeeting,toupdateeachotheronprogress,surfaceimpediments,and updateScrumartifactssuchastheSprintBacklog(thetasksthatcomprisethedeliverable),andthe SprintBurndownChart(agraphofthehoursremainingtocompletethedeliverable).Attheendof theSprint,theteamholdsaSprintReview,wheretheydemonstratewhattheyhavebuilt,togenerate feedbackwhichtheProductOwnercanincorporateintotheProductBacklogforlaterSprints.The team also holdsa Sprint Retrospective, wheretheyreviewtheirwayofworking,andagree on changestoimprovetheireffectiveness. EachSprintisselfcontained;beforethestartofthenext Sprint, the Product Owner can make whatever changes he/she likes to the remaining Product Backlog,adding,removingorreprioritizingitemsatwill.Onecriticalnewroleforateamssuccess withScrumis:the ScrumMaster. TheScrumMasterisnottheteamsmanager;instead,he/she protectstheteamfromoutsideinterferenceordisruption,servestheteambyhelpinggetimpediments removed.He/shealsofacilitatesteaminteractions,astheteamandorganizationiscoachedintheuse ofScrum. ManypeoplemistakenlyperceiveAgilemethodstobelooseorsloppy;however,whenpracticed as intended, Scrum is very strict and disciplined, with a great emphasis on transparency, commitment,accountability,quality,andcontinuousimprovement.Scrumisusedmostlybyproduct developmentcompanies. 2.CMMIOVERVIEW CMMIisaprocessimprovementframeworkforsoftwaresystemsdevelopmentcompanies.As JudyBamberger(akeyauthoroftheCMM)says[TheessenceoftheCMM]TheCMMwasnt intended to be all things to all people to cover all possible aspects of software and system development.Itwasintendedtoprovideasetofguidelinesformanagingsoftwaredevelopment projectsandmakingimprovementsovertime.Thisframeworkismostlyatamanagementlevel andseldomaddressescoreengineeringissuesindepth.ThemotivationforadoptionofCMMIis intendedtobringaboutahighersoftwaredevelopmentmaturityoftheorganization,whichinturn resultsinsmoother,moreefficientlowerdefectdeliveries. CMMIconsistsofanumberof"PracticeAreas"(PA),whicharegroupedintofourmaturity levelsthatorganizationsshouldgothroughbeforehavingaprocessimprovementsysteminplace. Thematuritylevelsare: 1.Initial(adhoc,heroic)(noPA) 2.Managed(projectmanagement,processdiscipline) 3.Defined(institutionalized)
4.QuantitativelyManaged(quantified) 5.Optimized(processimprovement) Onewaycompaniesaresupposedtousethemodelisfirsttoassesstheirmaturitylevelandthen formaspecificplantogettothenextlevel.TheSEIhasdefinedarigorousprocessassessment method to appraise how well an organization satisfies thegoals associated with each level. Skippinglevelsisnotallowed.
Maturity Level 2 DegreeofScrum compliance(andhow) High(PB,RB,SB) High(PB,RB,SBandDaily scrums) High(SPM) Notapplicable NotAddressed Medium(SPM,SB, burndownchart) High(SRM) High(SprintsandSRM) Medium(SPM,SRM) NotAddressed Medium(frequentSRM) High(donecriteriaand
Name
RequirementsManagement
ProjectMonitoringandControl
2 2 2
MeasurementandAnalysis
2 3 3 3 3 3
SRM) 3 3 3 OrganizationalProcessDefinition OrganizationalProcessFocus OrganizationalTraining Low(Scrumprocessitself) Low(Scrumprocessitself) Notaddressed High(SRM,Scrumof ScrumsandPB) Notapplicable High(DailyScrum,Scrum ofScrum) Medium(Iterativeapproach limitsrisk) Notaddresses Medium(ScrumofScrums) Notaddressed Low(Estimationduring SRMandburndownchart) Notapplicable High(dailyScrumsand Retrospectives)
IntegratedProjectManagement
IntegratedSupplierManagement
IntegratedTeaming
RiskManagement
3 3 4
QuantitativeProjectManagement
OrganizationalInnovationandDeployment
CausalAnalysisandResolution
Table1:CMMIPAlevelsandextenttowhichScrumsatisfiesthese NA:NotApplicable,becausethisisusuallynotofinterest.
MostorganizationswhichfollowCMMIareservicecompanies;relativelymuchfewer productdevelopmentcompaniesadoptCMMIformallyorotherwise. Manyorganizationsalso obtainaCMMI(level3andabove)certification4sincethisopensdoorstothetendersfloatedby many large US corporations for their IT/IS projects. Vendor parties which dont have such a certificationarenotevenshortlisted.
3.ISSCRUMCOMPATIBLEWITHCMMI? Yesandno.SinceCMMImandatescertainPAs,butnothowthesePAsshouldbesatisfied; ScrumpracticescananddomeetmanyofthesePAs(seetable1).Soatanimplementationlevel ScrumandCMMIaremostlycompatible,andfollowingScrumproperlywillmeetamajorityof CMMIPAs.AgoodexpositionofthemappingofScrumpracticestoCMMIprojectmanagement PAsisprovidedin[Marcaletal] HoweverCMMIismainlyintendedtobeaprocessimprovementframeworkwhileScrumisa lightweightframeworkforhelpingaprojectgroupfocuseffortsoftheteamtowardsachieving projectgoals. MoreovertherearetwounderlyingassumptionsofCMMIwhicharerejectedbyScrum. 1) Softwaredevelopmentprocessesare(orcanbe)defined(level3islabeled: Defined). 2) Agoodsetofprocessesistheprimarymeanstodeliversoftwareefficiently. Scrumfavoursanapproachwherethesoftwaredevelopmentprocessistakentobeempirical. FurtherScrumbelievesthatpeople,theirskillsandhowtheyareharnessedarethemostimportant factorsforthesuccessofasoftwaredevelopmenteffort.Duetothesedifferencesinapproach,the spiritthatCMMIfostersisconsiderablydifferentfromthatofScrum. CommentsonhowScrumsatisfiesPAsatdifferentlevelsfollow: Atlevel2:ScrumtakescareofmostPAsviavariouslevelsofbacklogs(whicharefeaturelists), sprintplanningmeetings,dailyscrum,burndownchartandsprintreviewmeeting. Since Scrum does not mandate engineering approach, it does not comment on configuration management,hencethisPAisnotaddressed. Atlevel35:ThisiscriticalCMMIlevelwithanumberofPAs,manyofwhicharemetby Scrum.SRM,dailyScrum,regularupdatingofsprintbacklogandscrumofscrumsforlarger projectteamssatisfythesePAs.ScrumdoesnotcommentontechnicalsolutionoronDecision analysisandresolution(DAR).TheotherPAswhichScrumdoesnotaddresssatisfactorilyare
4
InrealitythereisnothinglikeaCMMIcertificatehandedoutbySEI.
todowithorganizationalstandardization.Onreflectionthisisonlynaturalsincetheaimof Scrumistomanageagivenprojecttodeliverworkingsoftware,andthatofCMMIisthehave anorganizationalprojectexecutioncapabilityinplace. Atlevel4:ScrumfaresbadlyfromaCMMIperspective.Scrumdoesnotstressaquantitative approach(i.e.metricsbased)toprojectmanagement.Theburndownchartprovidesavelocity metricwhichpartlyaddressesthis;howeverthisisnotintendedtobeoforganizationwide scope. HoweverScrumpracticesdontforbidcollectionandanalysisofmetrics,unlessthey turnouttobeimpedimentstotheteamswork. Atlevel5:ScrumhasanimportantpracticeofSprintRetrospectiveswhichisakeymannerin which inspect and adapt is done. Implemented effectively this is very useful process monitoringandcontrolmethodwhichlargelymeetsthecausalanalysisandresolutionPA. 4.CONCLUSION Overall the main CMMI PAs which Scrum does not cover, are to do with organizational standardization,whichisaCMMIaim,notaScrumconcern.Scrumpracticesareassuchcompatible withCMMIframework.ScrumpracticescanthereforeformalargepartoftheCMMIimplementation. HoweverafaithfulimplementationwhichmaintainsthespiritofScumisfraughtwithdifficulties. TherearetwoveryimportantdifferencesintheunderlyingassumptionsofScrumcomparedtoCMMI: 1.Softwaredevelopmentisempirical2.Peoplearemoreimportantthanprocesses. ToadoptScrumwellinaCMMIorganization,someonewithagoodunderstandingofbothCMMI andScrummustbeavailabletoguidetheteamandtheorganization.Giventherightcircumstances, particularlyuppermanagementsupport,withsuchguidanceitispossibletoimplementScumwell withinaCMMIorganization;essentiallythiswouldmeanimplementingCMMIviaScrumforthe developmentprojectsorasubset,andthenfillingthegapssuchthatthespiritofScrumisntdisturbed.