cmmi® and agile development: a binary choice? · § cmmi-dev is a model to help organizations...

32
© 2017 PRICE Systems, LLC All Rights Reserved | Decades of Cost Management Excellence 1 © 2017 PRICE Systems, LLC All Rights Reserved | Decades of Cost Management Excellence CMMI® and Agile Development: A Binary Choice? Arlene Minkiewicz PRICE Systems, LLC [email protected]

Upload: others

Post on 31-Aug-2019

8 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 1©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence

CMMI®andAgileDevelopment:ABinaryChoice?ArleneMinkiewiczPRICESystems,LLC

[email protected]

Page 2: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 2

Agenda

§ Introduction

§ CMMI®– whatisitandwherediditcomefrom?

§ Agile– whatisitandwherediditcomefrom?

§ Whythequestionofcompatibility?

§ SynergiesbetweenagileandCMMI®

§ Conclusions

Page 3: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 3

IntroductionandMotivation

§ TheCapabilityMaturityModelIntegration(CMMI®)forDevelopment

– Aframeworkfororganizationstounderstandandmakeprocessimprovementstotheirdevelopmentprocesses

– Amodelnotastandard– Organization’sembraceCMMIwhentheywanttoimprovetheir

processesproductivityandtheirproductquality

§ Agiledevelopment– Paradigmforsoftwaredevelopmentprocessesthatarecharacterized

byhighlycollaborative,crossfunctionalteamsworkingcloselywithcustomerstodeliveryregularincrementsofsoftwarefunctionalcapability

– Agilepracticesrequireflexibilityandrapidresponsetochangesinrequirements

– Organization’sembraceagilewhentheywanttoimprovetheirprocessesproductivityandtheirproductquality

§ Whyaresomanyconvincedtheycan’tplaytogether?

Page 4: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 4

CMMI– Wherediditcomefrom?

§ Mid1980’sUSDepartmentofDefense(DoD)issuedaRequestforProposal(RFP)tohelpstemthetideoffailedsoftwareprojects

§ CarnegieMellonUniversity’sSoftwareEngineeringInstitute(SEI)(orwhatwouldbecometheSEI)wontheaward

§ Watt’sHumphreyintroducedthefirstversionoftheCapabilityMaturityModel(CMM®)in1988andpublisheditinhisbook“ManagingtheSoftwareProcess”in1989

§ CMMhadmanysuccessesandmanydetractors– Manyinterpreteditasprescriptiveandinflexible– Muchofitsownoriginallanguageenforcedthis

impression

§ ButcontractorswererequiredtoreachcertainlevelstogetDoDcontracts– socontractorsgotappraised

Page 5: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 5

CMMI– Whatisitandwherediditcomefrom?

§ TheSEIandthesoftwarecommunitybecamesmarteraboutprocessimprovementovertime

– Throughmentoring

– Throughappraisals

– Throughimplementationsinindustry

§ MaturityModelIntegrationforDevelopment(CMMI®-DEV)wasfirstintroducedin1998(currentversionis1.3releasedin2010)

– Lessprescriptivelanguage

– Moreopentoprojectsandprocessesoperatingoutsidethemainstreamtraditionalwaterfallapproach(thoughtherewasstillgroundtocover)

§ Aroundthissametimeagiledevelopmentwasstartingtogettraction– Especiallyinitsearlydays,agileseemedlikeanunlikelyfitforapplicationof

CMMI

§ ButpeoplewerestartingtospeakofagileandCMMI– sometimesinthesamesentence

– 2005CMMITechConferenceaddedanagileandleantrack

– 2006SoftwareEngineeringProcessGroupConference(SEIrun)addedasimilartrack

Page 6: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 6

CMMI– Whatisit?

§ CMMIisamodelnotastandard

§ Ittellsorganizationswhatgoalstheymustmastertoachieveprocessmaturityin22differentprocessareas

§ TherearetwowaysanorganizationmightusetheCMMI– Toobtain(andpossiblybeappraised)ataparticularmaturitylevel– thisisreferredtoasastagedrepresentation

– Toobtainaprocesscapabilitylevelforaparticularprocessareathatiscriticaltotheirbusiness

Page 7: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 7

CMMI– 22ProcessAreas

Source : Sally Godfrey (2008) What is CMMI ?. NASA presentation. Accessed 8 dec 2008.

Page 8: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 8

CMMI– MasteringProcessAreas§ Tomasteraspecificprocessarea,anorganizationmustachieveboththegenericgoals

(whichapplytoallprocessareas)andthespecificgoalsforthatprocessarea– GenericGoals…

• GG1– Thespecificgoalsoftheprocessareaaresupportedbytheprocesstransformingidentifiableinputworkproductsintoidentifiableoutputworkproducts

• GG2– Theprocessisinstitutionalizedasamanageprocessi.e.theprocessismanagedandperformedperpolicy

• GG3– Theprocessisinstitutionalizedasadefinedprocessi.e.theprocessisdefinedatanorganizationallevelandisusedbyprojectstailoredtotheprojectbasedonorganizationaltailoringguidelines

– SpecificGoals…(someexamples)• ForConfigurationManagementProcessArea• SG1– Baselinesofidentifiedworkproductsareestablished• SG2– Changestotheworkproductsunderconfigurationmanagementaretrackedandcontrolled

• SG3– Integrityofbaselinesareestablishedandmaintained• ForMeasurementandAnalysisProcessArea• SG1– MeasurementObjectivesareactivitiesarealignedwithidentifiedinformationneedsandobjectives

• SG2– Measurementresultswhichaddressidentifiedinformationneedsandobjectivesareprovided

§ Foreachgenericandspecificgoalsthereareasetofpracticeswhicharerecommendations(notedicts)onhowtoachievethegoals

Page 9: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 9

CMMIGenericandSpecificPractices

§ SG2– Measurementresultswhichaddressidentifiedinformationneedsandobjectivesareprovided

– SP2.1- Obtainspecifiedmeasurementdata

– SP2.2– Analyzeandinterpretmeasurementdata

– SP2.3– Manageandstoremeasurementdata,measurementspecificationsandanalysisresults

– SP2.4– Communicateresultsofmeasurementandanalysisactivitiestoallrelevantstakeholders

§ GG1– thespecificgoalsoftheprocessareaaresupportedbytheprocessbytransformingidentifiableinputworkproductsintoidentifiableoutputworkproducts

– GP1.1– performthespecificpracticesoftheprocessareatodevelopworkproductsandprovideservicestoachievethespecificgoalsoftheprocessarea.i.e.executetheprocess.– rigoranddocumentationofprocessdependsonthemanagerandteam

§ GG2– Theprocessisinstitutionalizedasamanagedprocess– GP2.1– establishandmaintainanorganizationalprocessforplanningandperformingtheprocess– definethe

organizationalexpectationsfortheprocessandmaketheseexpectationsvisibletothosemembersoftheorganizationwhoareaffected

– GP2.2– Establishandmaintaintheplanforperformingtheprocess– determinewhatisneededtoperformtheprocessandachieveestablishedobjectives,- establishingaplanincludesdocumentingtheplanandprocessdescription.

– GP2.3– Provideadequateresourcesforperformingtheprocess,developingtheworkproductsandprovidingtheservicesoftheprocess– money,people,facilities,toolsetc.

– ………

Page 10: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 10

Agile– wherediditcomefrom?

§ TheideathatitmightbesmarttobuildsoftwareiniterativeorincrementaldesignsdidnotstartwiththeAgileManifesto

– IterativeandIncrementalDesignandDevelopment(IIDD)hasbeenaroundformorethan80years

– In1976TomGilb declaredinhisbook“SoftwareMetrics”thatevolutionarydevelopmentresultedinsuperiorsoftware

§ Earlysoftwaredevelopersdealtwithcomplexityissuesassociatedwiththeprocessandlogisticsofdevelopingsoftware

§ Technologyadvanced– Carddecksandmainframeseliminated– Complexitymovedfromlogisticalissuestosoftware

capabilities– ‘Silverbullet’typesolutionswerepresented….Computer

AidedSoftwareEngineering,formalmethods,definedprocesses,CMM,manyothers

Page 11: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 11

Agile– wherediditcomefrom?

§ Silverbulletsolutionshelpedbutnotenoughandsometimesbytoomuch

§ Manyfeltthatsomuchfocusonprocesswasdetrimentaltoproductivity

§ In2001agroupofsmartsoftwaredevelopersintroducedtheAgileManifesto

Page 12: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 12

Agile– whatisit?

§ Agileisasetoftenets;itisaphilosophy

§ Whilethereareagileprinciples,therearenorulesorstandardsorpracticesassociatedwiththeagilephilosophy

§ Agiledevelopmentprojects….– Deliversmallusablechunksofexecutablesoftwareinshort

periodsoftime– Interactwiththeircustomersandendusersonaregularbasis– Embraceflexibilityandchangingrequirements

§ Everyagileteamandprojectis(potentially)differentfromeveryother

§ Thereareseveralcommonimplementationsofagilethatembraceasetofspecificpractices…ExtremeProgramming(XP),Scum,Lean,Crystal,etc.

Page 13: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 13

Agile– CommonAgilePractices

§ Pairprogrammingorotherformsofpeerreview

§ Continuousintegrationwithautomatedtesting

§ Testdrivendevelopment

§ Dailystandupmeetingsorotherformsofregularon-goingteamcommunication

§ Co-locatedteams

§ Smallreleases

§ Refactoringaspartofeachiteration

§ Customerparticipationwiththeteam

§ Simpledesign

Page 14: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 14

Agile&CMMICompatibility

§ CMMI-Devisamodeltohelporganizationsimprovedevelopmentprocessestowardsimprovedprojectproductivityandproductquality

§ Agileisawayofthinkingtohelpsoftwaredevelopmentteamsdeliversoftwarewithimprovedprojectproductivityandproductquality

§ Thegoalsarethesamebutdifferent– CMMIisverytopdown– attemptingtocreateinstitutionalization– Agileismorebottomsup– attemptingtocreategreatdevelopmentteamswhoareempoweredtoownthedevelopmentprocess

§ Despitethesedifferencestheyhavenotonlybeenusedsuccessfullyinthesameshop– thereareactualsynergieswhentheyarecombined

§ Caveatis…thecombinationneedstobewellthoughtoutbyaprocessteamandappraisers(ifappraisalisagoal)thatunderstand…

– Agileandthewayitisimplementedbyteamsintheorganization

– CMMIandthewayitisimplementedbytheorganization

Page 15: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 15

Agile&CMMIwheredotheyrunintoproblems?§ ThereisoftenmistrustoroutrighthostilitybetweentheAgileteamsandtheprocessteams….

§ “Agileisanexcusetoabandondisciplineandprocess”– Thisisnottruewhenagileprojectsaredoneright- thereisstillprocessanddisciplinejust

notalignedtoawaterfallora“V”– IncaseswhereagileisnotdonerightthismaybetrueandanyattempttoaddressCMMI

Levelissueswilllikelyfail– CMMIteammayhavehadabadexperiencewithAgile

§ “CMMIwillburdenourteamwithtonsofunnecessarypaperworkandrigidity”– Thisisnotnecessarilytrue– Thiscanbetrueifanorganizationinterpretsthegenericandspecificpracticesasedictsrather

thansuggestivenarrative– AgileteammayhavehadabadexperiencewithCMMIorCMM(whichappearedmore

prescriptiveandlessflexible)

Page 16: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 16

AgileandCMMICanCreateSynergy

§ CMMIcanbeimplementedinawaythatexploitsexistingagilepractices.Fourpossibilitiesinclude:

– ProjectPlanningGoals• NoedictthatProjectPlanningbedoneallatonce…possibleadditionofasmallamountofformalitymaymeetPPGoals

– ProjectManagementandControlGoals• Maybeaccomplishedthroughreportsatadailystandupmeetingorpossiblytheretrospectiveattheendofaniteration

– RequirementsManagementGoals• Mostagileteamshavetoolsinplacethattraceuserstoriesandthebacklog– theseareinfacttherequirementsfortheproduct

– MeasurementandAnalysisGoals• Agileteamstendtocollectlotsofdatawitheachiteration…numberofstorypointsoruserstoriescompleted,teamvelocity,burndown,defects,etc.Thesedatacanbeusedtosatisfyvariousmeasurementandanalysisgoals

§ OnceonemovesawayfromtheprescriptivesoundingpracticesintheCMMIandembracesthepracticescurrentlyinplace,onebeginstoseeareaswheretheCMMIandagileworknicelytogether

Page 17: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 17

AgileandCMMICanCreateSynergy

§ CMMIistopdownfocusedaimedatmakingandinstitutionalizingprocessimprovementsattheorganizationallevel

§ Agileisprojectfocusedaimedatimprovingprocessesattheteamlevel

§ Combiningthesewillnotbeeasy– especiallywithmisconceptions,misperceptions,fiefdomsandthelike

§ OrganizationswithagileinplaceneedtothinkaboutseveralthingswhenconsideringCMMI

– Howmanydifferentwaysdowe‘doagile’

– WherearethesynergiesamongstthedifferentagileteamsandwithCMMIgoals

– Howdoweexploitthosesynergiestocreateinstitutionalizedprocesses

– Howdowecreatetailoringguidelinestosatisfythevariousagileteams

§ OrganizationswithCMMIinplaceneedtothinkaboutseveralthingswhenconsideringagile

– Howrigidarethepracticesandprocessescurrentlyinplace

– Wherearetheirsynergiesbetweentheagilepracticesbeingconsideredandthegoalsandpracticescurrentlyinplace

– Wherecanwedevelopthesesynergieswithmodifiedprocessesortailoringguidelines

Page 18: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 18

Conclusions

§ CMMIisamodeldesignedtohelporganizationsachieveandinstitutionalizeprocessmaturity

– Itdefinesthegoalsthatneedtobemet

– Itisneitherrigidnorprescriptiveastohowtomeetthem

§ Agileisaphilosophyandsetoftenetstohelpsoftwareprojectsdeliverbettersoftwarefaster.

– Agileteamdetermineswhichoftheagilepracticesmakethemostsensefortheirteam

– Thereisnoprescriptivesetofpracticesorprocessesassociatedwiththeagilephilosophy

§ Theycancoexistpeacefully.Failuresaregenerallyduetooneofthefollowing– CMMIimplementationisanexactinterpretationofthegenericandspecificpracticesguidelinesfromthe

CMMImanual

– Agileimplementationisnotsomuchagileasitisawildwestinterpretationofagilewheretherearelapsesonplanning,process,oroversight

– Failuretoadequatelyaddresspotentialcultureissuesbetweentheprocesspeopleandtheagilepeople

– OrganizationalbarriersthatpreventadoptionofagileorCMMI

§ AgileandCMMIimplementedsensiblywithafavorablenodtopracticesandintentsofeachother,theresultscanbequitesuccessful.

Page 19: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 19

Page 20: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 20

Page 21: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 21

PurposeofEachProcessArea§ CausalAnalysisandResolution(Level5)

§ ThepurposeofCARistoidentifycausesofselectedoutcomesandtakeactiontoimproveprocessperformance.

§ ConfigurationManagement(Level2)

§ ThepurposeofCMistoestablishandmaintaintheintegrityofworkproductsusingconfigurationidentification,configurationcontrolandconfigurationstatusaccountingandconfigurationaudits.WorkproductsplacedunderCMincludetheproductsthataredeliveredtothecustomers,designatedinternalworkproducts,acquiredproducts,toolsandotheritemsusedincreatinganddescribingtheseworkproducts.ThisprocessareaappliesnotonlytoCMonprojectsbutalsotoCMoforganizationalworkproductssuchasstandardsandprocedures.

§ DecisionAnalysisandResolution(Level3)

§ ThepurposeofDARistoanalyzepossibledecisionsusingaformalevaluationprocessthatevaluatesidentifiedalternativesagainstestablishedcriteria.Whiletheprimaryapplicationofthisprocessareaistotechnicalconcerts,formalevaluationprocessescanbeappliedtomanynontechnicalissuesaswell– especiallywhenaprojectisbeingplanned.

§ IntegratedProjectManagement(Level3)

§ ThepurposeofIPMistoestablishandmanagetheprojectandtheinvolvementofrelevantstakeholdersaccordingtoanintegratedanddefinedprocessthatistailoredfromtheorganization’ssetofstandards.

§ MeasurementandAnalysis(Level2)

§ ThepurposeofMAistodevelopandsustainameasurementcapabilityusedtosupportmanagementinformationneeds.

§ OrganizationalProcessDefinition(Level3)

§ ThepurposeofOPDistoestablishandmaintainausablesetoforganizationalprocessassets,workenvironmentstandardsandrulesandguidelinesforteams.

Page 22: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 22

PurposeofEachProcessArea

§ OrganizationalProcessFocus(Level3)

§ ThepurposeofOPFistoplan,implementanddeployorganizationalprocessimprovementsbasedonathoroughunderstandingofcurrentstrengthsandweaknessesoftheorganizationsprocessesandprocessassets.

§ OrganizationalPerformanceManagement(Level5)

§ ThepurposeofOPMistoproactivelymanagetheorganizationsperformancetomeetitsbusinessobjectives.Improvementreferstoallideasthatwouldchangetheorganizationsprocesses,technologies,andperformancetobettermeettheorganizationsbusinessobjectiveandassociatedqualityandperformanceobjectives.ThisprocessareaextendsOPFpracticesbyfocusingonprocessimprovementbasedonaquantitativeunderstandingoftheorganizationsetofstandardprocessesandtechnologiesandtheirexpectedqualityandprocessperformance.

§ OrganizationalProcessPerformance(Level4)

§ ThepurposeofOPPistoestablishandmaintainaquantitativeunderstandingoftheperformanceofselectedprocessesintheorganizationssetofstandardprocessesinsupportofachievingqualityandprocessperformanceobjectives.Thisprocessareaprovidesperformancedata,baselines,andmodelstoquantitativelymanagetheorganizationprojects.

§ OrganizationalTraining(Level3)

§ ThepurposeofOTistodevelopskillsandknowledgeofpeoplesothattheycanperformtheirroleseffectivelyandefficiently.

§ ProductIntegration(Level3)

§ ThepurposeofPIistoassembletheproductfromtheproductcomponents,ensurethattheproduct,asintegrated,behavesproperly(i.e.possessestherequiredfunctionalityandqualityattributes)anddelivertheproduct.

Page 23: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 23

Purposeof22ProcessAreas

§ ProjectMonitoringandControl(Level2)

§ ThepurposeofPMCistoprovideanunderstandingoftheprojectsprogresssothatappropriatecorrectiveactionscanbetakenwhentheprojectsperformancedeviatessignificantlyfromtheplan.

§ ProjectPlanning

§ ThepurposeofPPistoestablishandmaintainplansthatdefineprojectactivities.

§ ProcessandProductQualityAssurance(Level2)

§ ThepurposeofPPQAistoprovidestaffandmanagementwithobjectiveinsightintoprocessesandassociatedworkproducts.ThepracticesinthisareaensurethatplannedprocessesareimplementedwhilethepracticesintheVerificationprocessareaensurethatspecifiedrequirementsaresatisfied.

§ QuantitativeProjectManagement(Level4)

§ ThepurposeofQPMistoquantitativelymanagetheprojecttoachievetheprojects’establishedqualityandprocessperformanceobjectives.Thisprocessarea,unlikeProjectManagementpractices,helpstodevelopaquantitativeunderstandingoftheexpectedperformanceofprocessesorsubprocesses.

§ RequirementsDevelopment(Level3)

§ ThepurposeofRDistoelicit,analyze,andestablishcustomer,productandproductcomponentrequirements.

§ RequirementsManagement(Level2)

§ ThepurposeofREQMistomanagerequirementsoftheprojectsproductsandproductcomponentsandtoensurealignmentbetweenthoserequirementsandtheprojectsplansandworkproducts.

Page 24: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 24

Purposeof22ProcessAreas

§ RiskManagement(Level3)

§ ThepurposeofRISMistoidentifypotentialproblemsbeforetheyoccursothatriskhandlingactivitiescanbeplannedandinvokedasneededacrossthelifeoftheproductorprojecttomitigatetheadverseimpactsonachievingobjectives.

§ SupplierAgreementManagement(Level2)

§ ThepurposeofSAMistomanagetheacquisitionofproductsandservicesfromsuppliers.

§ TechnicalSolution(Level3)

§ ThepurposeofTSistoselect,design,andimplementsolutionstorequirements.

§ Validation(Level3)

§ ThepurposeofVAListodemonstratethataproductorproductcomponentfulfillsitsintendedusewhenplacedinitsintendedenvironment.Validationensuresthatyoubuilttherightthingwhileverificationensuresthatyoubuiltitright

§ Verification(Level3)

§ ThepurposeofVERistoensurethatselectedworkproductsmeettheirspecifiedrequirements.

Page 25: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 25

ExamplesofSpecificPractices

§ SG1– Baselinesofidentifiedworkproductsareestablished

§ SP1.1– Identifyconfigurationitems,componentsandrelatedworkproductstobeplacedunderconfigurationmanagement–

§ SP1.2– Establishandmaintainaconfigurationmanagementandchangemanagementsystemforcontrollingworkproducts- - storagemedia,proceduresandtoolsforaccessingthesystem

§ SP1.3- Createorreleasebasslinesforinternaluseandfordeliverytothecustomer

§ SG2– Changestotheworkproductsunderconfigurationmanagementaretrackedandcontrolled

§ SP2.1– Trackchangerequestsforconfigurationitems

§ SP2.2– Controlchangestoconfigurationitems

§ SG3– Integrityofbaselinesisestablishedandmaintained

§ SP3.1– Establishandmaintainrecordsdescribingconfigurationitems

§ SP3.2- Performconfigurationauditstomaintaintheintegrityofconfigurationbaselines

Page 26: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 26

ExamplesofSpecificPractices

§ SG1– Measurementobjectivesandactivitiesarealignedwithidentifiedinformationneedsandobjects

§ SP1.1– Establishandmaintainmeasurementobjectivesfromidentifiedinformationneedsandobjectives

§ SP1.2– Specifymeasurestoaddressmeasurementobjectivestypicalcategoriesincludescheduleandprogress,effortandcost,sizeandstabilityandquality– theycaneitherbebaseorderived.

§ SP1.3- Specifyhowmeasurementdataareobtainedandstored

§ SP1.4– Specifyhowmeasurementdataareanalyzedandcommunicated

§ SG2– Measurementresultswhichaddressidentifiedinformationneedsandobjectivesareprovided

§ SP2.1- Obtainspecifiedmeasurementdata

§ SP2.2– Analyzeandinterpretmeasurementdata

§ SP2.3– Manageandstoremeasurementdata,measurementspecificationsandanalysisresults

§ SP2.4– Communicateresultsofmeasurementandanalysisactivitiestoallrelevantstakeholders

Page 27: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 27

Agile– Whatisit?

Page 28: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 28

AgileandCMMI– realworldexample

§ DTEEnergy– diversifiedenergycompany– Energyrelatedbusinessesandservicesworldwide– Variousbranchesanddivisionswithdifferentregulatoryandenvironmentalissuesdepending

ontheirspecificbusinessesandservices

§ Beganaprocessimprovementinitiativeintheearly2000’s– shootingforCMMLevel2

§ Atthistimetherewasasmallbutgrowinggroupofprojectteamsthathadembracedagilepractices

§ TheprocessteamtooktheCMMmanualand…– Ratherthantryingtoalignexistingorganizationalprocesses,practicesandmethodologies

withtheKeyProcessAreas(CMM’sversionofProcessAreas)– TheysatdownwiththeCMMmanualanddevelopedplanstoenforceit

§ Thisdidn’tsitwellwithmuchoftheorganizationbutespeciallywasegregioustotheagileteams

Page 29: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 29

AgileandCMMI– realworldexample

§ Overtimeastheorganizationexpandedintomoreunregulatedareas,thegapbetweenthe‘agelists’andtheprocessgroupwidened

§ TheorganizationtookastepbackandformedaSoftwareProcessEngineeringGroup(SEPG)bringingallthestakeholderstothetable

§ OncetheSEPGhadtakenholdandstartedtogainacceptancewiththeorganizationasawhole,theydecidedtopursueCMMILevel3

§ Interestingly,theorganization,throughtheSEPG,determinedthatthebestapproachtoachievethevariousprocessgoalsnecessary,wastobeanagileapproach

§ OneoftheSEPGfindingshadbeen– agilemethodologies,proventodeliversuccessfulsoftwareprojects,alsocreatedaquicker“failfirst”and“justenough”processmindset.

Page 30: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 30

AgileandCMMI– realworldexample

§ CMMIassessmentscanapplytoasubsetofanorganizationortheentireorganization.

– “OrganizationalUnit”isCMMIterminologyforthepartoftheorganizationtheCMMIeffortistargetedfor

§ FortheirfirstattemptatCMMI,theSEPGpickedagroupofprojectsexhibitingspecificbehaviors– oneofwhichwasadherencetoanagilemethodology

§ Theplanningoftheirprocessimprovementeffortswasdoneinanagilefashion

– Release0– projectplanningandtiming

– Release1– focusontenLevel3processareas,testwithaninformalClassBappraisal

– Release2– focusonsixlevel2processareas,pluspriorityRelease1defects,testwithaninformalClassBappraisal

– Release3– focusonsixteenLevel2andLevel3processareas,pluspriorityRelease2defects,testwith2formalClassAappraisals

§ Eachreleasewasbrokenintoiterations,withdeliveriesandretrospectives

Page 31: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 31

AgileandCMMI– realworldexample

§ Thefirstreleasewentwell

§ Thesecondreleasehadanissue– Externalissuesresultedinseveraloftheprojectsnecessarytodoanassessmentwerecancelledordelayed

– Therewerenotenoughprojectsattherightstagetomaketheassessmentusefultotheteam

– Theyneededtodecidewhethertodelaytheassessmentorexpandthebreadthofprojectstoassess

– Theychosetoextendtheprojectsettoincludemoretraditionalprojects(notjustagile)

– Obviouslytheyneededtomakechangestotheirframework– suchasanexpansionoftheirCMframeworktoincludetraditionalworkproductssothattailoringcouldaccountfornon-agilemethodologies

Page 32: CMMI® and Agile Development: A Binary Choice? · § CMMI-Dev is a model to help organizations improve development processes towards improved project productivity and product quality

©2017PRICESystems,LLCAllRightsReserved|DecadesofCostManagementExcellence 32

AgileandCMMI– realworldexample

§ DTEEnergieslessonslearnedfromthistransition– Understandwhyyouarepursuingaprocessimprovement– Shareyourvisionwiththeentireorganizationandmakesurethestakeholdersunderstandandembracethisvision

– Basedonthatvisiondeterminewhoisbesttoperformimprovementinitiatives• Expertsfromtheoutsidewhowilldisappearaftertheimplementation• Homegrownteamthatwillhavealearningcurvebutwillbeabletogothedistanceovertime• Somecombinationofthetwotoexpediteearlyeffortsandincreaseknowledgetransfer

– Createclarityastohowyouwilldevelop,deploy,maintainandoptimizeprocessimprovements