A Structured Approach To Adopting Agile Practices
A Structured Approach To Adopting Agile Practices
AhmedSidky DissertationsubmittedtotheFacultyofthe VirginiaPolytechnicInstituteandStateUniversity inpartialfulfillmentoftherequirementsforthedegreeof DoctorofPhilosophy in ComputerScienceandApplications Approved: ___________________________________________ JamesD.Arthur,Chair _____________________________________ _____________________________________ OsmanBalci ShawnBohner _____________________________________ _____________________________________ ManuelA.PrezQuiones LindaWallace May24,2007 Blacksburg,Virginia Keywords:SoftwareEngineering,AgileDevelopment,AgileAdoption, OrganizationalChange,AgileReadiness,AgilePractices,AgilePotential,AgileLevel
AStructuredApproachtoAdoptingAgilePractices: TheAgileAdoptionFramework
AhmedSidky
ABSTRACT
Many organizations aspire to adopt agile processes to take advantage of the numerousbenefitsthatitofferstoanorganization.Thosebenefitsinclude,butare not limited to, quicker return on investment, better software quality, and higher customersatisfaction.Todatehowever,thereisnostructuredprocess(atleastthat is published in the public domain) that guides organizations in adopting agile practices.Toaddressthissituation,wepresenttheAgileAdoptionFrameworkand theinnovativeapproachwehaveusedtoimplementit.Theframeworkconsistsof twocomponents:anagilemeasurementindex,anda4Stageprocess,thattogether guide and assist the agile adoption efforts of organizations. More specifically, the SidkyAgileMeasurementIndex(SAMI)encompassesfiveagilelevelsthatareused toidentifytheagilepotentialofprojectsandorganizations.The4Stageprocess,on theotherhand,helpsdetermine(a)whetherornotorganizationsarereadyforagile adoption, and (b) guided by their potential, what set of agile practices can and should be introduced. To help substantiate the goodness of the Agile Adoption Framework, we presented it to various members of the agile community, and elicitedresponsesthroughquestionnaires.Theresultsofthatsubstantiationeffort areencouraging,andalsosuggestfurtheravenuesforimprovement.
DEDICATION
TothepeopleIlovethemostmyparents. Dad,thecoreofthisworkisnamedafteryou:SAMI
iii
ACKNOWLEDGEMENTS
First andforemostIam gratefulandthankful toAllah (God) who blessed me with guidance, good health, and good friends that supported me all through my life. I thank Him for giving me patience and helping me through all the tough times and especially, during the writing of this dissertation. I am also forever grateful to my belovedparentsandsisters,whohelpedmethrougheverystepofmylifetillIhave reached where I am today. The Prophet Mohamad (Peace be Upon Him) said: He who doesnt thank people doesnt thank Allah.1 Below I express my thanks and gratitudetothepeoplewhohavehelpedmecompletethiswork. I have been fortunate to work with Dr. James Arthur. Dr. Arthur exemplifies dedication,perfectionandprofessionalism.Throughouthissupervisionofmywork, he did not act as an advisor only. Rather, he was a close friend who stood by me throughthickandthin.Iwillneverforgetthetimeswesharedtogether,especially eatingSushi. IwouldalsoliketothankDr.OsmanBalci,Dr.ShawnBohner,Dr.ManuelPrez,and Dr.LindaWallaceforservingonmycommittee.Theirhelpandguidancewasvital forthecompletionofthiswork.Also,IamgratefultoDr.SaraThorneThomsenfor helpandadvicethroughoutthewritingofthisdissertation. It has been a blessing to work with the Software Engineering Research Group. My colleagues were very supportive and collaborative. They made the lab a pleasant andfunplacetostudyanddoresearch.Specialgratitudegoestomydearfriendand research partner: Amine Chigani. I would also like to extend my thanks to Ramya RavichanderandShvethaSoundararajan.
1
AbuDawud,Book41:4793 iv
I would like to thank all my friends, across the globe, who have supported me through encouragement and prayers. At the same time, I would like to mention a specialgroupoffriendswhowenttheextramileandreallysacrificedtimeoreffort forme.Theseare,ZakiBarzinji,TamerDesouky,JamilRenno,KhaledAdjerid,Imad Sheikh,IdrisAdjerid,Dr.MazenArafeh,Dr.EhabElShawarby,OmarHossino,Abdel Shakoor.ThosewhoIforgottomention,pleaseforgiveme. Moreover,IamgratefultothewonderfulMuslimcommunityinBlacksburgandthe United States that had a significant impact on my life. The Muslim community especially the Virginia Tech MSA, VTMUGS and MSA National provided me with moral,spiritualandemotionaladviceandsupportandwerethereformewhenever Ineededthem. LastbutnotleastIamgratefultothecomputersciencedepartment,facultyandstaff and fellow graduate students who were an essential part of my overall learning experience. Yetagain,allthanksandgratitudegoestoAllahonly. (ElHamdelAllah) v
TABLEOFCONTENTS
1.
INTRODUCTION.........................................................................................................................1 1.1. BACKGROUND................................................................................................................................1 1.1.1 TheHistoryofAgility............................................................................................................. 1 1.2. THEAGILEADOPTIONWAVE.......................................................................................................... 3 1.3. MOTIVATIONFORTHEAGILEADOPTIONFRAMEWORK...................................................................... 4 1.4. PROBLEMSTATEMENT.................................................................................................................... 5 1.4.1 IntroducingStructureintotheAgileAdoptionProcess........................................................7 1.4.2 MeasuringandAssessingAgility........................................................................................... 7 1.4.3 AccommodatingProjectandOrganizationalCharacteristics ..............................................8 1.4.4 EffectivelyGuidingtheAgileAdoptionEffort....................................................................... 8 1.5. SOLUTIONAPPROACH..................................................................................................................... 9 1.5.1 Stage1:IdentificationofDiscontinuingFactors................................................................10 1.5.2 Stage2:ProjectLevelAssessment....................................................................................... 11 1.5.3 Stage3:OrganizationalReadinessAssessment.................................................................. 11 1.5.4 Stage4:Reconciliation........................................................................................................ 12 1.6. ORGANIZATIONOFTHISDISSERTATION.......................................................................................... 12
2.
PROCESSIMPROVEMENTANDTHEAGILEADOPTIONFRAMEWORK.................................13 2.1. THEIDEALMODEL..................................................................................................................... 14 2.1.1 OverviewoftheIDEALModel.............................................................................................. 15 2.1.2 IDEAL,SCAMPIandCMMI................................................................................................... 18 2.2. SPILIFECYCLEMODELSFORAGILEDEVELOPMENT....................................................................... 20 2.2.1 ChallengeswithSPIModelsforAgility................................................................................ 20 2.2.2 IDEALandAgility................................................................................................................. 21 2.3. RESEARCHSCOPE:THEAGILEADOPTIONFRAMEWORK................................................................... 23
3.
THEAGILEADOPTIONFRAMEWORK:THE4STAGEPROCESS............................................26 3.1. MOTIVATIONANDCHALLENGES..................................................................................................... 27 3.1.1 TheNeedtoConductaPreAssessment.............................................................................. 28 3.1.2 DesiredState:ProjectorOrganization?.............................................................................. 29 3.2. OVERVIEWOFTHESIDKYAGILEMEASUREMENTINDEX(SAMI)......................................................31 3.3. STAGE1:DISCONTINUINGFACTORS............................................................................................... 37 3.3.1 DeterminingtheDiscontinuingFactors.............................................................................. 38 3.3.2 AssessthePresenceofDiscontinuingFactors..................................................................... 40 3.3.3 MakeGo/NogoDecision..................................................................................................... 43 3.4. STAGE2:PROJECTLEVELASSESSMENT......................................................................................... 45 3.4.1 ProjectLevelAssessment:BackgroundInformation..........................................................46 3.4.2 EstablishingaTargetAgileLevel........................................................................................ 48
vi
3.4.3 LimitingFactors:OrganizationalPerspective.................................................................... 49 3.4.4 LimitingFactors:PracticePerspective............................................................................... 51 3.5. STAGE3:ORGANIZATIONALREADINESSASSESSMENT..................................................................... 54 3.5.1 OrganizationalAssessment:BackgroundInformation ......................................................55 3.5.2 AccomplishingtheOrganizationalReadinessAssessment.................................................57 3.6. STAGE4:RECONCILIATION ............................................................................................................ 62 4. THESIDKYAGILEMEASUREMENTINDEX.............................................................................69 4.1 BACKGROUNDINFORMATIONABOUTMEASUREMENTINDICES..........................................................69 4.2 AGILELEVELS.............................................................................................................................. 72 4.2.1 IdentifyingtheLevelsofAgility........................................................................................... 74 4.2.2 DeterminingtheOrderoftheLevelsofAgility.................................................................... 76 4.3 AGILEPRINCIPLES........................................................................................................................ 81 4.3.1 TheRelationbetweenAgileLevelsandAgilePrinciples .....................................................82 4.3.2 Identifyingthe5AgilePrinciplesusedintheSAMI............................................................83 4.4 AGILEPRACTICES......................................................................................................................... 86 4.4.1 PopulatingAgileLevel1withAgilePractices ..................................................................... 90 4.4.2 AgilePracticeswithinAgileLevel2.................................................................................... 97 4.4.3 AgilePracticeswithinAgileLevel3.................................................................................... 99 4.4.4 AgilePracticeswithinAgileLevel4.................................................................................. 105 4.4.5 AgilePracticeswithinAgileLevel5.................................................................................. 109 4.5 INDICATORS............................................................................................................................... 114 4.5.1 IntroductiontoIndictors................................................................................................... 114 4.5.2 OrganizationoftheIndicators.......................................................................................... 117 4.6 TAILORABILITYOFTHE5LEVELSOFAGILITY ................................................................................ 120 4.6.1 IncorporatingBusinessValues.......................................................................................... 121 4.6.2 ReorganizingPracticesbasedonExperientialSuccess....................................................121 5. SUBSTANTIATINGTHEAGILEADOPTIONFRAMEWORK...................................................123 5.1. THESUBSTANTIATIONAPPROACH............................................................................................... 124 5.1.1 Procedureforgatheringfeedback ..................................................................................... 124 5.1.2 OverviewofSurveyQuestionsandParticipants...............................................................126 5.1.3 Participants........................................................................................................................ 129 5.2. QUANTITATIVEFEEDBACK.......................................................................................................... 132 5.2.1 ResultsconcerningtheSidkyAgileMeasurementIndex(SAMI)......................................132 5.2.2 Resultsconcerningthe4StageProcess............................................................................ 141 5.3. QUALITATIVEFEEDBACK............................................................................................................. 147 5.3.1 TheSidkyAgileMeasurementIndex................................................................................. 148 5.3.2 TheDiscontinuingFactors(Stage1)................................................................................. 152 5.3.3 OtherComments................................................................................................................ 153 6. CONCLUSION..........................................................................................................................156 6.1. 6.2. 6.3. 7. MAINCONTRIBUTIONS ................................................................................................................ 158 FUTUREWORK.......................................................................................................................... 161 SUMMARY..................................................................................................................................164
REFERENCES..........................................................................................................................165
vii
LISTOFFIGURES
FIGURE1.IDEALMODEL......................................................................................................................16 FIGURE2.CMMIANDSCAMPIRELATIVETOIDEAL................................................................................19 FIGURE3.AGILEADOPTIONFRAMEWORKRELATIVETOIDEAL ..................................................................25 FIGURE4.THE4STAGEPROCESSFORAGILEADOPTION...........................................................................26 FIGURE5.COMPONENTSOFTHEAGILEMEASUREMENTINDEX(INDICATORSARENOTSHOWN)...................................32 FIGURE6.STAGE1:DISCONTINUINGFACTORS..........................................................................................37 FIGURE7.SAMPLEINDICATORSFORDISCONTINUINGFACTORS...................................................................42 FIGURE8.HIERARCHYOFINDICATORSFORDISCONTINUINGFACTORS.........................................................43 FIGURE9.STAGE2:PROJECTLEVELASSESSMENT....................................................................................46 FIGURE10.CRYSTALFAMILYOFMETHODOLOGIES ....................................................................................47 FIGURE11.STAGE3:ORGANIZATIONALREADINESSASSESSMENT...............................................................55 FIGURE12.ORGANIZATIONALCHARACTERISTICSASSESSEDFORAGILEPRACTICESINLEVEL1.......................59 FIGURE13.ORGANIZATIONALREADINESSASSESSMENTRESULTS...............................................................61 FIGURE14.STAGE4:RECONCILIATION....................................................................................................63 FIGURE15.RECONCILIATION(ORGANIZATION>PROJECT)........................................................................64 FIGURE16.RECONCILIATION(ORGANIZATION=PROJECT).........................................................................64 FIGURE17.RECONCILIATIONSTAGE(ORGANIZATION<PROJECT)..............................................................65 FIGURE18.PARTOFTHEORGANIZATIONALREADINESSASSESSMENTRESULTS............................................66 FIGURE19.PLANNINGSPECTRUM..........................................................................................................70 FIGURE20.AGILELEVELS......................................................................................................................80 FIGURE21.LAYOUTOFAGILELEVELSANDPRINCIPLESWITHINSAMI........................................................85 FIGURE22.EMPTYMATRIXOFTHE5AGILELEVELSAND5AGILEPRINCIPLES.............................................85 FIGURE23.AGILELEVELSPOPULATEDWITHAGILEPRACTICESCATEGORIZEDWITHINAGILEPRINCIPLES........89 FIGURE24.AGILELEVEL1UNPOPULATEDWITHPRACTICES.......................................................................90 FIGURE25.AGILELEVEL1POPULATEDWITHONLYONEAGILEPRACTICE....................................................91 FIGURE26.AGILELEVEL1AFTERPOPULATEDTHREEAGILEPRINCIPLES .....................................................94 FIGURE27.AGILELEVEL1POPULATEDWITHAGILEPRACTICES.................................................................96 FIGURE28.AGILELEVEL2POPULATEDWITHAGILEPRACTICES.................................................................97 FIGURE29.AGILELEVEL3POPULATEDWITHAGILEPRACTICES...............................................................100 FIGURE30.AGILELEVEL4POPULATEDWITHAGILEPRACTICES...............................................................106 FIGURE31.AGILELEVEL5POPULATEDWITHAGILEPRACTICES...............................................................110 FIGURE32.ORGANIZATIONALCHARACTERISTICSASSESSEDFORPRACTICEINAGILELEVEL1.......................118 FIGURE33.OVERALLRESULTSFORTHESAMI........................................................................................133 FIGURE34.RESULTSOFTHESAMICATEGORIZEDBYYEARSOFEXPERIENCE.............................................134 FIGURE35.RESULTSOFTHESAMICATEGORIZEDBYROLES....................................................................135 FIGURE36.RESULTSOFTHEAGILEMEASUREMENTINDEXFROMAGILEEXPERTS........................................140 FIGURE37.OVERALLRESULTSFORTHE4STAGEPROCESS......................................................................141 FIGURE38.RESULTSOFTHE4STAGEPROCESSCATEGORIZEDBYEXPERIENCE ............................................142 FIGURE39.RESULTSOFTHE4STAGEPROCESSCATEGORIZEDBYROLE.....................................................143 FIGURE40.RESULTSFORTHE4STAGEPROCESSFROMAGILEEXPERTS....................................................147
viii
LISTOFTABLES
TABLE1.ORGANIZATIONALPROCESSIMPROVEMENTMODELS...................................................................14 TABLE2.THE5AGILELEVELSINDECSENDINGORDER...............................................................................33 TABLE3.THESIDKYAGILEMEASUREMENTINDEX(SAMI)POPULATEDWITHAGILEPRACTICESANDCONCEPTS................36 TABLE4.ASSESSMENTTABLEFORTHEDISCONTINUINGFACTOR:INAPPROPRIATENEEDFORAGILITY............41 TABLE5.NOMINALVALUESFORAGGREGATEDINDICATORS.......................................................................43 TABLE6.ASSESSMENTRESULTSFORDISCONTINUINGFACTORS..................................................................44 TABLE7.THESAMIWITHLIMITEDAGILEPRACTICESUNDERLINED..........................................................52 TABLE8.THESAMIWITHNONLIMITEDAGILEPRACTICESUNDERLINED...................................................58 TABLE9.AGILEVALUESREPRESENTEDBYAGILELEVELS ............................................................................76 TABLE10.THE5AGILELEVELSINORDER...............................................................................................78 TABLE11.COCKBURN'SLEVELS............................................................................................................103 TABLE12.SAMIPOPULATEDWITHAGILEPRACTICES............................................................................113 TABLE13.SAMPLEINDICATORSTOBEANSWEREDBYTHEDEVELOPER......................................................116 TABLE14.SAMPLEINDICATORSTOBEANSWEREDBYTHEMANAGER.........................................................116 TABLE15.READINESSASSESSMENTTABLE(RAT)FORCOLLABORATIVEPLANNING...................................119 TABLE16.TWOPAGESURVEYQUESTIONSABOUTTHESIDKYAGILEMEASUREMENTINDEX........................127 TABLE17.TWOPAGESURVEYQUESTIONSABOUTTHE4STAGEPROCESS .................................................128 TABLE18.PARTICIPANTINFORMATIONONROLESANDAGILEEXPERIENCE...............................................130 TABLE19.CATEGORIZATIONOFPARTICIPANTSBYTHEIRROLESANDYEARSOFEXPERIENCE.......................131
ix
1. Introduction
This dissertation presents the Agile Adoption Framework. This framework is a structured approach to guide and assist the process of introducing agile practices into organizations. The present chapter provides a brief history of agile practices and the problems organizations can face when opting to move toward agility. The discussionofthehistoryandproblemsmotivatesthecreationoftheAgileAdoption Framework.
1.1. Background
The work presented in this research is primarily within the area of software engineering.Morespecifically,thisresearchfitswithintheareaofsoftwareprocess improvement and organizational change. This section presents a brief history of agilitystartingwiththepioneeringworksuptothecurrentresearchinthefieldof agileadoption.Wealsoidentifytheinsufficiencythatmotivatedthecreationofthe AgileAdoptionFramework.
1.1.1 TheHistoryofAgility
The main goal of Software Engineering consists of the establishment and use of sound engineering principles and methods to obtain economic software that is reliable and works on real machines [15]. These governing engineering principles and methods form the software development process. After realizing the significanceofsoftwaredevelopmentprocessesinproducinggoodsoftware,many efforts arose to identify the most suitable software development methodologies. OneofthepioneersinthisquestwastheSoftwareEngineering Institute(SEI).The SEIintroducedtheCapabilityMaturityModelforSoftware(CMMorSWCMM)tothe software development community in 1986. The CMM is a process maturity frameworkthathelpsorganizationsimprovetheirsoftwareprocessthroughasetof recommendedpracticesinanumberofkeyprocessareas[40].
Withtheendofthetwentiethcenturyandthebeginningofanewmillennium,the software market presented new challenges to the software development industry. Some of these challenges are pressure for accelerated product development, minimumtimetomarket,customersdemands,andreducedbudgets.Traditionalists using the Capability Maturity Model (CMM) and the improved Capability Maturity Model Integration (CMMI) preferred extensive planning, codified processes and otherrigorousmeanstomakedevelopmentmoreefficientandpredictable.Hence, theyweregraduallyleadingthedevelopmentprocesstowardsperfection[19].Many believedthatthetraditionalistsapproachofferedthebestsolutionfortheproblems ofthesoftwareindustry;butothersdidnot. Seventeen practitioners sympathetic to finding an alternative to the detailed plan drivendevelopmentapproachconvenedinFebruary2001[45].Theoutcomeofthis meeting,TheManifestoforAgileSoftwareDevelopment[18],declares: We are uncovering better ways of developing software by doing it andhelpingothersdoit.Throughthisworkwehavecometovalue: Individualsandinteractionsoverprocessesandtools Workingsoftwareovercomprehensivedocumentation Customercollaborationovercontractnegotiation Respondingtochangeoverfollowingaplan Thatis,whilethereisvalueintheitemsontheright,wevaluethe itemsontheleftmore. The creation of this manifesto brought to light many different agile development processes and methods and helped many others emerge. A short list of the well known agile methods includes Extreme Programming (XP), Scrum, the Dynamic Systems Development Method (DSDM), Agile Modeling (AM), Adaptive Software Development(ASD),LeanDevelopment(LD),CrystalMethodsandFeaturesDriven Development(FDD).Manyothersexist. 2
1.2. TheAgileAdoptionWave
Atfirst,organizationswereskepticalaboutadoptingagilesoftwaremethodologies. Information technology (IT) executives were asking the agile community why shouldweadoptagilepractices?Theagilecommunityprovided atangiblehands on answer exemplified by the numerous pilot projects and smallscale transitions thatoccurredinorganizations.Theresultswereimpressiveandempiricalevidence showed that embracing agile practices yielded many benefits [85],[76], [12], [11], [61],and[59],including: Earlyreturnoninvestment Shorttimetomarket Improvedquality Enhancedclientrelationships Betterteammorale
Thenumeroussuccessstorieshighlightingthebenefitsreapedbyorganizationsthat havesuccessfullyadoptedagilepracticeshaveprovidedasufficientanswertothose whoweredoubtfulaboutadoptingagilepractices.Thequickandwidepublication ofthesesuccessstorieshavecausedtheagileadoptionwavetogrowstrongerand progressfaster. Manyanticipatedandnoticedthewaveofagileadoption.InCorporateITLeadsthe SecondWaveofAgileAdoption,areportreleasedonNovember30,2005Forrester Researchnoted: Agile software development processes are in use at 14% of North American and European enterprises, and another 19% of enterprises are either interested in adopting Agile or already planningtodoso.Earlyadoptersofagileprocesseswereprimarily smallhightechproductcompanies.Butasecondwaveofadoption is now underway, with enterprise IT shops taking the lead. These
shopsareturningtoagileprocessestocuttimetomarket,improve quality, and strengthen their relationships with business stakeholders. Other surveys and published research, such as the Agile 2006 survey by Digital Focus,theStateofAgileDevelopmentsurveyconductedbyVersionOne,andtheAgile Adoption Rate survey conducted by Scott Ambler, all show evidence that agile adoptionisontherise.
1.3. MotivationfortheAgileAdoptionFramework
Withthegrowthofagileadoption,thequestionof whytoadoptagilepracticeswas quickly being replaced with how to adopt agile practices [46]. The tone of those interestedinAgileshiftedfromaskingaboutexampleswhereagilityworks,ordoes not, to asking for guidance and assistance on how to implement agility in their particularcases. Although it was possible to point to numerous successful agile adoptions, these successstoriescannotbegeneralized.Manyofthemweretoonarrowlyfocusedata specific organization. These success stories cannot provide useful guidance and assistancetoanotherorganizationwithadifferentsetofneeds.However,themere presenceofsuchsuccessstoriestriggeredpeopletoaskifthesameapproachwould work at their organization. Thus, the need for a set of generic guidelines to help identify the right agile practices for an organization considering moving to agility became evident. These guidelines also needed to warn of possible pitfalls in adopting certain agile practices, outline the order in which practices should be adoptedandprovideanswerstomanyotherquestionsrelatedtoagileadoption. Even though consultants or agile coaches could provide answers to many of these questions, it is important to realize that such answers were based on their own experiences.Inmanycases,theknowledgeofagilecoacheswaslimitedtothetype and size of projects they were involved with. Typically, after the completion of a
project, consultants reflect on what worked and what failed. They would then retune their adoption approach for their next project. Some of them had even captured these skills in publications and have suggested to the agile community somesuccessfulpractices,orwhattobecarefulofwhenadoptingagility[71,46,67, 19]. These contributions are valuable and do provide those seeking to adopt agile withsomelevelofguidanceandassistance.However,thisadviceisnotstructured inastructuredapproachofthesortreallyneededtoguideeffortsoforganizationsin adoptingagilepractices. Like consultants, researchers have developed a limited number of approaches to help and guide people with agile adoption. For example, Bohem designed a frameworktoguideagileadoptioneffortsbasedontheassessmentofvariousrisks. Bohemsframeworkisveryhelpfulasitprovidesthoseseekingtoadoptagilewitha waytocarefullybalanceagilityanddiscipline.WhileBohemsworkishelpful,one of its drawbacks related to agile adoption is that it addresses agility in its generic form,insteadoffocusingonactualpractices.Organizationsseekingtoadoptagility stillneedsometangibleapproach.Theyarestillrequiredtoidentifytheactualagile practicesthatarethebestfitfortheirorganizationbeforeattemptingthemoveto agility. With the agile adoption wave growing, and with the absence of structured and disciplinedguidanceandassistancefromtheagilitycommunity,thereisaneedfora new approach to help address the concerns surrounding how to adopt agile practices.
1.4. ProblemStatement
This research addresses the current absence, at least in the public domain, of a structured approach to guide agile adoption efforts. Furthermore, a rigorous formalization of what constitutes agility is also missing. Organizations aspiring to become agile want to know when they are considered agile, as well as what it meanstobeagile.Moreover,guidelineshighlightingwhatis neededtohelpagile
adoption efforts succeed are unavailable. These guidelines are essential for determining if any activities or tasks are overlooked during the adoption process. The lack of a structured approach for agile adoption causes organizations to questionhowtoidentifytherightpracticestoadopt,howtodetermineiftheyare readyforagile,whatthenecessarypreparationsforagileare,andwhatthepotential difficultiesthatcoulddevelopduringtheadoptionprocessare. The contributions consultants and researchers have made are valuable, and have developed the foundations for guiding agile adoption efforts. However, the lack of structure in some approaches and the lack of focus on agile practices (a problem Bohems approach exemplifies) prevent these contributions from ultimately providingstructuredguidanceandassistancetoorganizationsonhowtoadoptagile practices. Furthermore, because of the narrow focus of these approaches, even whentheyprovidesomeguidance,itisnotcomprehensiveenough,becauseitonly treatsasmallaspectoftheadoptioneffortordrawsontheprocessusedatasingle organization with specific parameters and expectations. Therefore, what the agile industryneedsisasetofrepeatableguidelines(aframework)thatagilecoachescan usetodetermineanorganization'sreadinessforembarkingonthejourneytoward agilityandtoguidetheactualadoptionprocess. To develop a framework that can provide organizations with comprehensive guidance and structured assistance for their agile adoption journey, a number of issues have to be addressed. Among the most important and challenging of these issuesarehowto: introducestructureinacomplexandunpredictableprocesslikethatofagile adoption measureandassessagilityindependentofagilemethods accommodate project and organizational characteristics influencing agile adoptionefforts
ensure that the framework guides the adoption effort in an efficient and effectivemanner.
Thenextsectionsbrieflyelaborateoneachoftheseissues.
1.4.1 IntroducingStructureintotheAgileAdoptionProcess
Transitioningorganizationstoagilityisanunpredictableprocess.Thisismainlydue to several aspects of the organization including, but not limited to, its structure, people,culture,andmanagementpractices.Allofthesefeaturescanaffecttheeffort atanypointinthejourneytoadoptingagility.Hence,akeyissuethatariseswhen developing a framework to guide and assist with adoption efforts is how to encompass the efforts of such an organizationwide change phenomenon within a comprehensivestructuredframework.Someofthemanyquestionsarisingfromthis issueare: how to develop a framework that provides enough structure to guide and assistagileadoptioneffortswhilenotdictatingthem how the framework can determine the agile practices most suitable for the organizationtoadopt how to capture the order in which agile practices should be adopted in the organization how the framework should handle situations where the organization is not readyforcertainagilepractices.
1.4.2 MeasuringandAssessingAgility
Measurement and assessment are substantial components of many process improvement efforts, including the move to agility. Therefore, a measurement approachisneededwhenanalyzingthecurrentagilityoftheprocessandidentifying its agile potential. The main challenge is how to measure or assess agility for a projectororganizationindependentofaparticularagilemethodology.Someofthe factorscontributingtothischallengeare:
identifyingasuitablemeasurementscaleforagility determiningtheaspectsofthedevelopmentprocessthatneedtobeassessed toconcludeitsagility finding a way to aggregate the assessment results of all these different aspectsinamannerthatenablestheassessortodeterminetheagilityofthe projectororganization.
1.4.3 AccommodatingProjectandOrganizationalCharacteristics
Agile processes accommodate and adapt to different situations and environments, andthetransitiontoagilityshouldbenodifferent.Althoughtheframeworkguiding agile adoption needs to be repeatable, it also needs to accommodate the changing natureofprojectswithinanorganization,justasagileprocessesaccommodatethe changingnatureofrequirementsinaproject.Eachsoftwaredevelopmentprojectis unique and surrounded by unique characteristics. In light of this, another challengingissueishowtodevelopaframeworkthatcanaccommodatetheunique characteristics of each project within the organization. Some of the challenges relatedtothisissueare: addressing adoption efforts related to individual projects without overlookingtheoverallorganization howtodifferentiatebetween,andhandle,projectcharacteristicsthatcanbe changed,aswellasthosethatcannotbecausetheyareoutside theprojects and/ororganizationscontrol. dealing with scenarios where a projects ability to adopt agile practices is differentfromanorganizationsabilitytoadoptagilepractices.
1.4.4 EffectivelyGuidingtheAgileAdoptionEffort
Effectiveness is a key principle of agile development processes. To uphold this principlewhentransitioningorganizationstoagilitybringsaboutanotherchallenge: howtoensurethattheframeworkisguidingthetransitiontoagilityinaneffective
manner. Ensuring that such a complex process (i.e. agile adoption) is conducted effectivelyischallengingduetoanumberoffactors,including: determining if the organization is ready for transitioning to agility before committing any resources to the adoption effort. It is clearly ineffective to waste time, effortandmoneyon tryingto transitionanorganization that is notreadyforagility. Ensuringbeforestartingtheactualadoptionprocessforaparticularpractice thattheorganizationisreadytoadoptthatpractice;againcommittingtime, effort and money trying to introduce a practice into an organization that is notreadyforthepracticeisineffective designing the framework in a way that it assesses and measures only the aspectsoftheorganizationthatarenecessaryandsufficient,andavoidsany extraeffortsthatdonotdirectlycontributetotheadoptioneffort.
1.5. SolutionApproach
The Agile Adoption Framework presented in this dissertation is a structured and efficient approach to guide agile adoption efforts within projects without overlooking the organizational aspect of the adoption process. The Agile Adoption Framework tackles the four issues mentioned in the previous section through its uniquedesign and structure.Theframeworkhastwomain components: the Sidky Agile Measurement Index (SAMI) and a 4Stage process that utilizes SAMI to determine which, and to what extent, agile practices can be introduced into the organization. Thefirstcomponent,SAMI,servesthreeimportantpurposes. It serves as a tool to measure and assess the agile potential of an organization independent of any particular agile method (e.g. XP, Scrum etc)
It provides a scale for identifying the target agile level for a project aspiringtoadoptagility. The measurement index helps the coach organize and group the agile practices in a structured manner based on essential agile qualities and businessvalues.
However,SAMIbyitselfdoesnotguideorganizationsadoptingagilepractices.The second component of the Agile Adoption Framework, the 4Stage process, uses SAMItoguideorganizationsbyidentifyingtheagilepracticesthataremostsuitable for their environment. Each of the four stages within this component of the framework (4Stage process) are carefully sequenced and designed to ensure that theadoptionprocessisconductedinahighlyeffectivemanner.Thefourstagesare: Stage1:IdentificationofDiscontinuingFactors Stage2:ProjectLevelAssessment Stage3:OrganizationalReadinessAssessment Stage4:Reconciliation
The 4Stage process introduces the structure into the agile adoption process because each stage has clearly defined inputs, outputs and objectives. The next sections elaborate briefly on each of the four stages while showing how they help providestructuredandefficientguidanceandassistancetoorganizationsadopting agilepractices.
1.5.1 Stage1:IdentificationofDiscontinuingFactors
SinceadoptingagilepracticesisessentiallyatypeofSoftwareProcessImprovement (SPI),theorganizationneedstoundergoapreassessmentphasebeforeitmakesthe decisiontostarttheinitiative.Therefore,theobjectiveofthisfirststageistoidentify whetheranorganizationiscapableofembarkingonthejourneyoftransitioningto
10
agility. This is accomplished by providing organizations with a means to decide whether or not to proceed with agile adoption initiatives. Conducting such an assessmentbeforeanyeffortisputintotheadoptioninitiativeisefficientbecauseit saves the organization from committing valuable time and resources to a SPI initiativethatisdestinedtofail.ThisstageiscompletedwheneitheraGoorNogo decisionmadeatthebeginningoftheagileadoptioneffort.
1.5.2 Stage2:ProjectLevelAssessment
Stage 2 starts once a Go decision is made from Stage 1. The main objective of this stageistoidentifythehighestlevelofagilitythata projectcanachieve.Stage2hasa projectlevel focus because each project in an organization is unique. This implies that each project in the organization can function at different levels of agility. Therefore, in this stage, the focus is on identifying and assessing the existence of projectlevel factors, especially those outside the organizations control, that have the potential to jeopardize the success of the adoption of agile practices. This assessment process is accomplished by utilizing the assessment indicators identified within SAMI. This stage ends once a target agile level (from SAMI) is identifiedforaprojectaspiringtoadoptagilepractices.
1.5.3 Stage3:OrganizationalReadinessAssessment
TheinputneededforStage3istheprojectstargetagilelevel,whichisdetermined in Stage 2. The objective of Stage 3 is to determine the extent to which the organization isready to support the adoption of the projects target agile level. To determine this, an assessment is conducted, using SAMI, that looks at how accommodatingthedifferentcomponentsoftheorganization(i.e.developers,tools, cultureetc) are for the adoption of the agile practices contained within the projects target agile level. By identifying what each agile practice needs for its successful adoption, and then determining whether the organization meets these needs, the organization is able to discover the necessary preparations it needs to
11
undertaketoadoptthedesiredagilepractices.Theoutputofthisstageisthelevelof agility(fromSAMI)theorganizationisreadytoadopt.
1.5.4 Stage4:Reconciliation
TheReconciliationstagebeginsafteratargetagilelevelfortheprojectisidentified (fromStage2)andanorganizationalreadinessagilelevelisdetermined(fromStage 3).Theobjectiveofthisstageistoreconcileanydifferencethatmayexistsbetween thesetwolevels.Duringthisstage,thedifferencesbetweenthepracticestheproject wantstoadopt(i.e.theprojectstargetagilelevel)andthepracticestheorganization can adopt (i.e. organizations readiness level) are resolved. By resolving these differences (if any), this stage results in determining the set of agile practices that aremostsuitablefortheorganizationtoadopt. The Agile Adoption Framework assists the agile community in supporting the growing demand from organizations that want to adopt agile practices. However, the framework is only one essential ingredient; the other is an agile coach who knowshowtoapplythatframework.Suchapersoncanbeanagileconsultanthired to facilitate the process, or an inhouse employee with sufficient training in agile methodsandtheuseoftheframework.Theremainderofthisdissertationpresents in detail how the different components of the Agile Adoption Framework are designedandutilizedtoprovideguidanceandassistancetoorganizationsonhowto transitiontoamoreagilesoftwaredevelopmentprocess.
1.6. OrganizationofthisDissertation
Thenextchapter,Chapter2,discussesthenotionofSoftwareProcessImprovement (SPI) and its relation to the Agile Adoption Framework. Chapter 3 presents the structure and details of the Sidky Agile Measurement Index (SAMI). Each of the stages in the 4Stage process is then presented in detail in Chapter 4. Chapter 5 presents industry feedback regarding the framework. Finally, Chapter 6 provides concludingremarksabouttheAgileAdoptionFramework.
12
2. ProcessImprovementandtheAgileAdoption Framework
Sinceadoptingagilepracticesisessentiallyaprocessimprovementeffort,itisuseful totheunderstandingofthecomponentsoftheAgileAdoptionFrameworktodiscuss some generic process improvement frameworks and models. This chapter, therefore,focusesontheconceptofsoftwareprocessimprovementanditsrelation toadoptingagilepractices. This chapter also puts the Agile Adoption Framework in perspective in terms of overall process improvement efforts. Edward Deming, one of the pioneers of applyingstatisticalprocesscontrolinindustry,hasdescribedprocessimprovement asacontinuouscycleofsixsteps[83]: 1. Understandthestatusofthedevelopmentprocess 2. Developavisionofthedesiredprocess 3. Listimprovementactionsinorderofpriority 4. Generateaplantoaccomplishtherequiredactions 5. Committheresourcestoexecutetheplan 6. Startoveratstep1 Demings steps essentially provide a skeleton for process improvement efforts. Deming is even more famous for the cycle he created. ShewartDemings cycle consistsoffoursteps(Plan,Do,Study,Act)thatcapturethe sameprinciplesashis six steps, but at a higher and more generic level. ShewartDemings Cycle can be appliedtoprocessimprovementeffortsinanydomain. Instead of building the discussion in this chapter around ShewartDemings Cycle, the focus is on a more detailed model (influenced by Deming) that was originally developed for Software Process Improvement (SPI) efforts. A number of different improvement models are used to support continuous, topdown SPI in
13
organizations. Some of these are the Quality Improvement Paradigm (QIP) [14], IDEAL(acronymforInitiating,Diagnosing,Establishing,ActingandLearning)[66], and ISO/IEC 15504 Part 7 [52]. Table 1 shows the different phases of all the mentioned organizational process improvement models and their relation to the ShewartDemingCycle[74].
ShewartDeming Cycle QIP IDEAL ISO/IEC15504 Examineorganizations Needs
Chooseprocesses, methods, techniques and Establishing tools Do Check Act Execute Analyze Packageand storeexperience Acting
Initiateprocessimprovement Prepareandconduct processassessment Analyze results and derive actionplan Implementimprovements Confirmimprovements Sustainimprovementgains Monitorperformance
Learning
Table1.OrganizationalProcessImprovementModels
TheIDEALandISO/IEC15504modelsarethebestcandidatestousetodiscussagile processimprovementefforts.However,duetothesimilaritiesbetweenthemodels, instead of focusing on two SPI organizational models, IDEAL will serve as the referencemodelbecauseitismorewidelyusedandclaimsseniorityintermsofage overtheISO/IEC15504model.
2.1. TheIDEALModel
AtthementionofSPI,manyimmediatelythinkofSPIframeworkssuchasCapability Maturity Model Integration (CMMI), ISO 15504 (SPICE), ISO 9001 and so forth. However, this almost automatic response raises the question of where do these
14
frameworks fit in the overall process improvement effort of an organization. For example,CMMIidentifiesthestepsalongthepathofprocessmaturity,butdoesnot treat how to sustain the progress or provide the context for these changes. The IDEAL process model fills this gap by providing an organizational model for software process improvement. In other words, it provides an overarching model for CMMI and the other process improvement frameworks. The IDEAL model is cyclical,whichimpliescontinuousprocessimprovement.Thatis,itachievesregular and continuous improvement by continuing to go through the cycle of initiating, diagnosing,establishing,actingandlearning.
2.1.1 OverviewoftheIDEALModel
TheIDEALmodelprovidesadisciplinedengineeringapproachforimprovement.It focusesonmanagingtheimprovementprogram,andestablishesthefoundationfor alongtermimprovementstrategy.Themodelconsistsoffivephases: IInitiating:Layingthegroundworkforasuccessfulimprovementeffort. D Diagnosing: Determining the present state and desired state and developingrecommendationsforimprovement. E Establishing: Planning the specifics of how to reach SPI initiatives target. AActing:Doingtheworkaccordingtotheplan. L Learning: Learning from the experience and improving the ability to adoptnewtechnologiesinthefuture. Eachofthefivephasesismadeupofseveralactivities.Figure1showsthephases andactivitieswithineachofthephasesofIDEAL. Usually in SPI efforts, a team of specially trained individuals, headed by an experienced change agent, oversees and conducts the execution of the overall
15
organizationalchangeandimprovementprocess.Thephasesguidingthisteamare presentedingreaterdetail:
Figure1.IDEALModel[66]
The Initiating Phase: The team completes the critical groundwork during the initiating phase. It clearly articulates the business reasons for undertaking the process improvement effort. It identifies the effort's contributions to the goals and objectives of the business. The team secures thesupportofcriticalmanagers,andarrangesfortheallocationofresources. Finally, it puts in place an infrastructure for managing implementation details. The activities of the initiating phase are critical. If they are done completely and properly, subsequent activities can proceed with minimal disruption.Iftheyaredonepoorly,incompletely,orhaphazardly,thentime, effortandresourceswillbewastedinsubsequentphases.
16
The Diagnosing Phase: This phase builds upon the initiating phase to develop a more complete understanding of the improvement work. During the diagnosing phase, the SPI team determines two characterizations of the organization: the current state of the organization and the desired future state. It uses these organizational states to develop an approach for improving the practice of the business. Characterizing the current and desiredstatesissimilartoidentifyingtheoriginanddestinationofajourney. Theteamcancharacterizethesetwostatesmoreeasilybyusingareference standard (or measurement index) such as the Capability Maturity Model (CMM). The recommendations the team develops as a part of this activity suggestawayofproceedinginsubsequentactivities. TheEstablishingPhase:Thepurposeoftheestablishingphaseistodevelop a detailedwork plan. The SPI team sets therecommendations made during the diagnosing phase, as well as the organization's broader operations and theconstraintsofitsoperatingenvironment.Then,theSPIteamdevelopsan approach that honors and factors in the priorities. Finally, the team incorporates the specific actions, milestones, deliverables and responsibilitiesintoanactionplan.
The Acting Phase: The activities of the acting phase help an organization implementtheworkthattheSPIteamhasconceptualizedandplannedinthe previousthreephases.Theseactivitiestypicallyconsumemorecalendartime andmoreresourcesthanalloftheotherphasescombined.
The Learning Phase:Thelearningphasecompletestheimprovementcycle. OneofthegoalsoftheIDEALModelistocontinuouslyimprovetheabilityto implement change. In the learning phase, the SPI team reviews the entire
17
IDEAL experience to determine what has been accomplished, whether the effortachievedtheintendedgoals,andhowtheorganizationcanimplement change more effectively and/or efficiently in the future. The SPI team must keeprecordsthroughouttheIDEALcyclewiththisphaseinmind. InhisthesistitledDevelopmentandEvaluationofSoftwareProcessImprovement MethodsKomiSirviprovidedadetaileddiscussionofSPImodelsandframeworks thatcomplementthisbriefintroductiontoIDEAL[58]. Beforediscussingagilityandprocessimprovement,itisimportanttoexplainwhere CMMI and the Standard CMMI Appraisal Method for Process Improvement (SCAMPI)fitwithintheIDEALmodel,becauselaterithelpsexplainwheretheAgile AdoptionFrameworkfitswithintheSPIinitiativesforagilesoftwaredevelopment.
2.1.2 IDEAL,SCAMPIandCMMI
TheCMMIisthebasicmeasurementindexforsoftwaredevelopmentcapabilityand maturity in an organization. The SCAMPI appraisal method is used to identify strengths, weaknesses and ratings relative to the CMMI measurement index. DiagnosesfromSCAMPIappraisalsshouldbepartofaprocessimprovementcycle such as IDEAL. In the IDEAL cycle, the SPI team uses SCAMPI appraisals and the CMMI primarily in the diagnosing phase to characterize the current and desired states of the organization, and to develop the process improvement recommendations.Figure2showshowtheCMMIandtheSCAMPIareusedinthis phase. Additionally,theSCAMPIandCMMIindirectlyaffecttheactivitiesoftheEstablishing stageofIDEAL.Thisstagefocusesonprioritizingthechangesthattheorganization needs to make and developing an action plan for the process improvement effort. The sequencing of the CMMI levels along with the appraisal approach the SCAMPI
18
uses implicitly dictates a certain prioritization of these process improvement changes. For example, an organization at CMM Level 2 gives a higher priority to establishing the key process areas highlighted in CMM Level 3 than those in CMM Level5.ThepurposeCMMIandSCAMPIserveintheestablishingphaseistoprovide direction to the activities in this phase, not to directly conduct these activities. Consequently,theyarenotofficiallyconsideredpartofthestage.
Figure2.CMMIandSCAMPIrelativetoIDEAL
The presentation of a generic SPI lifecycle model (IDEAL) and the relationship betweenitandotherprocessimprovementmethodsandframeworks(SCAMPIand CMMI) leads to further discussion of the SPI lifecycle model, but from the perspective of adopting agile practices in the next section. The next section also
19
includes a discussion of the relationship between the Agile Adoption Framework andSPImodels.
2.2. SPILifeCycleModelsforAgileDevelopment
Moving an organization toward having an agile development process through the adoption of agile practices is a type of process improvement effort. Organizations are increasingly recognizing the need for specific implementation guidance when theyadoptnewsoftwareengineeringtools,processesandmethods.Becausemany softwareprocessimprovementefforts,includingtheadoptionofagilepractices,are complex with effects far reaching in the organization, they require a systematic approachformanagingtheprocessimprovementlifecycle. WhilemanyagilepractitionersarecriticalofCMMandanythingrelatedtoCMM(e.g. IDEAL),thereisnodoubtthatthereismuchtolearnfromthe CMMbasedprocess improvementefforts.Oneimportantlessonhighlightstheneedtoapproachprocess improvement efforts in a systematic manner, instead of chaotically. In fact, some level of guidance and structure should exist for all process improvement efforts, includingagilesoftwaredevelopment,nomatterwhattheanticipatedoutcomeis.
2.2.1 ChallengeswithSPIModelsforAgility
There are several challenges to overcoming the perceived incompatibility of SPI models and agile software development. One challenge is the limited number of referencesdirectlyaddressingtheissueoforganizationalSPI withinthecontextof agile software development. A reason for this might be that most of these SPI models were not originally developed for agile processes. For example, since McFeeley originally designed IDEAL as a life cycle model for software process improvement based upon the SoftwareCMM (SWCMM) [66], many agile
20
consultants have perceived it to be incompatible with agile approaches. Their rationale behind that perception is the infeasibility to have plandriven process improvement models used when the target development method is agile. This reasoningisinvalid,becausethemodificationsmadetothesemodels,astheyexist today, to fit a wide range of process improvement domains suggest they can be modifiedtofitagileadoptionefforts.Thisleadstothesecondreasonfortheclaim thatSPImodelsarenotapplicabletoagileadoptionefforts.Thefocusofnumerous agile methodologies is on the project level activities of software development, but SPImodelsaddressissuesonanorganizationallevel[55]. This difference in focus between agile methodologies and SPI models is a valid concern for not using traditional SPI models with agile software development. However,SPImodelssuchasIDEALprovideenoughguidanceandbenefittomakeit irrational to throw them all away, because they focus on an organizational level ratherthanaprojectlevel.TheAgileAdoptionFrameworkisnotaSPIlifecyclefor agiledevelopment;noristhefocusofthisresearchtoprovideacompleteSPIlife cycleforagilesoftwaredevelopment.TheAgileAdoptionFramework,likeSCAMPI and CMMI, needs to live within a SPI lifecycle model. The Agile Adoption FrameworkcanbeusedwithaSPIlifecyclemodelsuchasIDEALorISO/IEC15504 whenthemodelisslightlymodified.Thesemodificationschangetheinitialstagesof themodeltobothcatertotheprojectandorganizationallevelsoftheagileadoption effort. Therefore,sincetheAgileAdoptionFrameworkcanalterIDEALtoincludeaproject focus, it is still possible to use IDEAL as an overall guidance model for agile SPI initiatives.
2.2.2 IDEALandAgility
In general, IDEAL or similar SPI models (e.g. ISO/IEC 15504) do not demand or provide any specific SPI methods for conducting different SPI activities. Instead,
21
theysuggestthestepsnecessarytoachievecontinuousimprovement,thusserving asaroadmapforimprovementinorganizations.Thissectionprovidesabrieflookat the steps and phases of IDEAL with the idea of using this model to guide an organization adopting agile practices. Again, the intent of this research is not to modify IDEAL for use with agile adoption, but to present it to provide the context andestablishtheoverallpictureofwheretheAgileAdoptionFrameworklieswithin theoverallprocessofSPI. TheSPIinitiativeusingIDEALstartswithastimulusforchange.Inthecaseofagile processimprovement,thisstimulususuallycomesfromanorganizationsaspiration tobecomemoreabletoadapttochangeortoincreaseproductqualityortohavean earlierreturnoninvestmentoranyoftheotherbenefitsthat theadoptionofagile practices can realize for an organization [85], [76], [12], [11], [61], [59]. Once a stimulusforchangeoccurs,theIDEALlifecyclebegins. Intheinitiatingphase,theSPIteamstillneedstobuildthecontextofthisdesireto movetowardsagilitywithintheorganization.Theteamisalsorequiredtoalignthis transition with the organizations business strategy and build sponsorship for the change.Othershavementionedthesamestepshighlightedintheinitiatingphaseof IDEALasbestpracticeswhenadoptingagilepractices[19,31].Therefore,simply followingawellestablishedmodellikeIDEALforprocessimprovementcansavethe agileadoptionindustrybothtimeandeffortsortingoutwhatworksfromwhatdoes notworkforanorganization.Ofcourse,thisisnosilverbullet,butitdoessavethe agileadoptionindustryfromreinventingthewheelorlearningfromscratch. Oncetheinitiatingphaseprovidesthegroundworkforthemovetowardagility,the SPI team moves to the diagnosing phase to assess and further analyze the current agile state of the organization until it can develop a set of recommendations concerning the agile practices the organization should adopt. Working from these recommendationsintheEstablishingstage,theSPIteamdevelopsadetailedwork plan that takes into consideration the current environment and constraints of the 22
organization. With this information, the SPI team implements the process improvement efforts in the Acting stage. The Learning stage consists of reviewing the changes and reflecting on the change process. If the review shows that the objective of the improvement has not been attained, another cycle of process improvement that takes into consideration what was learned from the previous cyclecommences. Onceagain,itisimportanttokeepinmindthattheSPIteamsimplyusesIDEALhere toprovideguidancetoagileadoptioneffortsandnottodictatethem.
2.3. ResearchScope:TheAgileAdoptionFramework
Sincethescopeofthisresearchdoesnotincludedevelopingortailoringacomplete process improvement lifecycle for agile adoption efforts, the discussion of IDEAL fulfills the objective of creating the groundwork or foundation for such a lifecycle. LikeIDEAL,whichneedstheCMMIandSCAMPIforitsfoundations,anagileprocess improvementlifecycleneedsanagilemeasurementindexandaprocessormethod that uses this measurement index to diagnose the organizations readiness and to guide the process improvement effort. This measurement index and the ensuing process are the scope of this research. The Agile Adoption Framework consists of twocomponents,theSidkyAgileMeasurementIndex(SAMI)anda4Stageprocess that uses SAMI. These two components work together to provide a first step in guidingorganizationstowardadoptingagilepractices. As developed, these two components enable others to start using a process improvement lifecycle, such as IDEAL, to guide their adoption efforts. The challenges, as highlighted in Chapter 1, are to create an agile measurement index and develop a process that efficiently uses this measurement index to guide the adoptionefforts.Anothermajor challenge,asmentionedearlier,istocreatethe4
23
stageprocessoftheAgileAdoptionFrameworkinamannerthataddressesproject levelfactorsofagileadoptionaswellasorganizationalfactors. The mapping of the Agile Adoption Framework to IDEAL primarily covers the activities of the Diagnosing stages, while partially influencing the Initiating and Establishing stages. Figure 3 illustratesthe areas of IDEAL that the Agile Adoption Frameworkaddresses. The Agile Adoption Framework addresses the objectives of the Initiating phase of IDEAL via the first stage of its 4stage process, Identifying Discontinuing Factors. Whilethisfirststagedoesnotmapexactlytotheactivitieshighlightedintheoriginal IDEALmodel,thisstageassessestheorganizationtodeterminewhetheranyfactors are present that would prevent the adoption process from continuing. As in the initiating phase of IDEAL, one of factors to be assessed in the first stage of the 4 stageprocessissponsorshipsupportfortheprocessimprovementinitiative. InplaceoftheDiagnosingphaseofIDEAL,theAgileAdoptionFrameworkusesthe 4Stage process and the agile measurement index to determine a target agile level foraprojectanddevelopasetofrecommendedagilepracticesfortheorganization toadopt.LikeSCAMPI,theAgileAdoptionFrameworkalsoidentifiesthestrengths or weaknesses in the organization relative to the practices recommended for adoption. However, unlike SCAMPI, the framework does not include a set of best practices that highlight how to overcome the weaknesses. Instead, the Agile Adoption Framework provides guidance on prioritizing the weaknesses to be addressed.ThisishowtheAgileAdoptionFrameworkinfluences thethirdstageof IDEAL,Establishing.TheActingandLearningstagesofIDEALareoutsidethescope ofthisresearch.
24
Figure3.AgileAdoptionFrameworkrelativetoIDEAL
Chapter 3 provides a detailed discussion of the main component of the Agile Adoption Framework, the 4Stage process. The chapter includes an explanation of howexactlyeachofthe4stageshelpsprovideguidancetoorganizationsadopting agilepracticesfrombothaprojectandorganizationalperspective.Additionally,the chapter provides a brief overview of the Sidky Agile Measurement Index (SAMI). Chapter 4 then presents the details of the SAMI and an explanation of how it was created.
25
3. TheAgileAdoptionFramework:The4StageProcess
TheAgileAdoptionFrameworkisastructuredandrepeatableapproachdesignedto guideandassistagileadoptionefforts.Itassiststheagilecommunityinsupporting the growing demand from organizations that want to adopt agile practices. The main component of the Agile Adoption Framework is the 4Stage Process, which utilizes the Sidky Agile Measurement Index (SAMI) to help an organization adopt agilepractices.TheSAMIisascaletheagilecoachusestoidentifytheagilepotential ofaprojectororganization.
No-go
Stage 4: Reconciliation
Agile Practices to Adopt
Figure4.The4StageProcessforAgileAdoption
As depicted in Figure 4, the 4Stage Process consists of four pieces that work together to help the assessor determine if (or when) an organization is ready to movetowardagility,or,inotherwords,makethego/nogodecision,andassistshim or her in the process of identifying which agile practices the organization should adopt.Thefourstagesare: Stage 1: Discontinuing Factors.Discoversthepresenceofanyroadblocks(or showstoppers)thatcanpreventtheadoptionprocessfromsucceeding
26
Stage 2: Project Level Assessment. Utilizes the SAMI to determine the target levelofagilityforaparticularproject Stage 3: Organizational Readiness Assessment. Uses the SAMI to assess the extenttowhichtheorganizationcanachievethetargetagilitylevelidentified foraproject
Stage 4: Reconciliation. Determines the final set of agile practices to be adoptedbyreconcilingthetargetagilelevelforaproject(fromStage2)and thereadinessoftheembodyingorganization(fromStage3)
This chapter focuses on the backbone of the Agile Adoption Framework, the 4 StageProcess.Thechapterstartsbypresentingsomeofthechallengesencountered inthedevelopmentofthe4StageProcess.Section 3.2presentsanoverviewofthe SAMI, since the 4Stage Process utilizes it. (Chapter 4 provides the details of the SAMI.)Thelatterpartofthischapterincludessectionsoneachofthefourstagesof the4StageProcess.
3.1. MotivationandChallenges
The objective behind the creation of the Agile Adoption Framework is to provide organizationswithguidanceonwhichagilepracticestoadopt.SimilartoCMMIand SCAMPI,predecessorsoftheAgileAdoptionFramework,theframeworkconsistsof twomaincomponents,anagilemeasurementindexandaprocesscomponentthat uses the measurement index to provide the organization with guidance. The first threephasesofIDEAL(Initiating,DiagnosingandEstablishing)providetheprimary sources of inspiration in determining the nature and structure of the process component of the framework. The objective was not to replicate these phases of IDEAL,buttolearnfromthemwhatisneededtoguideanorganizationthroughthe adoptionofanewtechnology,includingagilepractices. Analysis of the objectives of these three stages of IDEAL results in a process that comprisesthefollowingfourstructuredstages:
27
1. DiscontinuingFactors 2. ProjectLevelAssessment 3. OrganizationalReadinessAssessment 4. Reconciliation The decision to call this a process is based on the definition of the word process. According to the American Heritage Dictionary, one definition for a process is a series of actions, changes, or functions bringing about a result. Since these four stagesdoexactlythis,theyhavebeentitledthe 4Stage Process.Thedetailsofeach of these four stages follow, but are proceeded by a discussion of two of the main issuesthatinfluencedthecreationofthesefourstages.Thefirstissueisrelatedto the need of conducting preassessments, and the second concerns whether the desired state of agility should be addressed from a projectlevel perspective or an organizationallevel.
3.1.1 TheNeedtoConductaPreAssessment
Traditional Software Process Improvement (SPI) models, based on the Capability MaturityModel(CMM)andCMMIntegration(CMMI),recommendthatthedecision to start a SPI initiative be made after a trained assessor has conducted a pre assessment of the organization in order to determine whether it is ready for SPI [43]. Organizations that do not embody the factors necessary for a successful SPI effortareconsiderednotready.Inthissituation,theSPIeffortissuspendeduntil the missing factors become present. Preassessment is also important in an agile adoption initiative, because it helps identify factors in an organization that can prevent the successful adoption of agile practices. If such factors exist, the organization must eliminate them before continuing with the adoption effort. This preassessmentphasesavestheorganizationtime,moneyandeffortbyidentifying upfrontmissingorexistingfactorsthatcancausetheSPIoragileadoptioneffortto fail[53].
28
Additionally, conducting an assessment in order to decide whether or not to go aheadwiththeefforttointroduceagilepracticesisimportantbecauseofadditional lossesthat Technical Chaoscanprecipitate.Technicalchaos,thedisruptionscaused by the partial adoption of new practices, leaves the development process in an unstablestateuntilitrevertsbacktotheoriginalengineeringpracticesusedbefore thefailedadoptioneffort.Technicalchaosislikelytooccurwhenanagileadoption effort starts and then fails before completion. As a result, the stage titled Discontinuing Factors was created to ensure that the organization makes the decision to adopt agile practices only after finding no factors present that can jeopardizetheadoptioneffort.
3.1.2 DesiredState:ProjectorOrganization?
This challenge exists because most of the traditional SPI models and frameworks have an organizational focus. It is common in SPI to identify the current level of processmaturityofthewholecompany(currentstateoftheorganization)andthen determine the desired level for the whole organization (desired state of the organization).IDEAL,CMMIandtheISO15504discussthecurrentstatesordesired states in terms of the whole organization, and not in terms of current or desired statesforindividualprojects.Thisfocusmakessense,becausetheseSPIinitiatives are working to instill certain principles and Key Process Areas (KPAs) across the wholeorganization.Theirobjectiveistoseetheseprinciples andKPAsevidentfor everyprojectintheorganization. However,adoptingagilepracticesisdifferentbecausethefocusisnotonprinciples orKPAs,butontheadoptionofagilepractices.Thegoalofagileadoptioninitiatives is to ensure the implementation of these principles and KPAs in the organization
29
throughtheuseofagilepractices.ForexamplesinceRequirementsManagementisa KPAforCMMLevel2,theobjectiveistoensurethatagilepracticesareusedtofulfill thegoalsofthisKPA.Thisexplainswhyadoptingagilepracticesinanorganization is not in opposition to achieving higher CMM levels. Moreover, within the same organization, the KPA of Requirements Management can be manifested through different practices, depending on the project. The requirements management needed for a government project differs in the way it is implemented from that needed for a social networking portal. Since every project is different and is surrounded by unique circumstances (customers, location, team and so forth) the agilepracticesusedforoneprojectareoftenunsuitableforanotherproject. TheabovediscussionillustrateswhytraditionalSPIinitiativesaddressthedesired stateissuefromanorganizationalperspectiveandwhySPIinitiativesthatfocuson adopting agile practices need to address the same issue, but from a project perspective.Thisconclusionanswerstheinitialchallengeofwhethertoaddressthe desired state of agility from a project perspective or from an organizational perspective. The answer is that both need to be addressed. Since each project is different, the agile practices that are suitable for one project may or may not be suitable for another. Therefore, each project needs a specific target level of agility (thedesiredstate).Atthesametime,itisimportanttorecognizethatthisprojectis livingwithinanorganizationand,therefore,itisnecessarytotakeintoaccountthe organization too. The organizational assessment determines if the organization is readyfortheprojecttoadoptitstargetagilelevel. Since there was no stage responsible for developing recommendations, a fourth stage titled Reconciliation has been added to the Agile Adoption Framework. The Reconciliation stage isresponsible for comparingthe target projectagile leveland theorganizationsreadinesslevel,andreconcilingthedifferencesbetweenthetwo levelsinamannerthatyieldsrecommendationsonhowtoreach thedesiredagile levelfortheproject. 30
The 4Stage Process is assists organizations in determining their readiness to undertake an initiative to adopt agile practices. Additionally, the four stages help organizations determine which practices to adopt while identifying organizational weaknesses that might affect their adoption.After completing the4StageProcess, anorganizationneedstocreateaplantostrengthentheidentifiedweaknesses,and planfortheadoptionoftheidentifiedagilepractices.Withtheseplansinplace,the organizationadoptsthepracticesandthenconfirmsthesuccessoftheadoption.As mentioned in Chapter 2, the steps to complete agile adoption (occurring after the completion of the four stages of the framework) are outside the scope of this research. The remainder of this chapter provides a detailed explanation of each of the four stages,includinghoweachcontributestotheoverallobjectiveofprovidingguidance to organizations aspiring to adopt agile practices. However, since the 4Stage Process relies on the Sidky Agile Measurement Index (SAMI) for many of its assessments, the next section provides a brief description of that measurement index.Chapter4presentsadetaileddescriptionoftheSAMI.
3.2. OverviewoftheSidkyAgileMeasurementIndex(SAMI)
Oneofthemainconcernsorganizationshavewhenseekingtoadoptagilepractices isdetermininghowagiletheycanbecome[39].Theagilepotential(i.e.thedegreeto which that entity can adopt agile practices) of projects and organizations is influencedbythecircumstancessurroundingthem.Todeterminetheagilepotential the coach (or the one conducting the assessment) needs to use a measurement index orscalethat can assessthepotentialagilityofanentity. TheAgile Adoption FrameworkusestheSidkyAgileMeasurementIndex(SAMI)todeterminetheagile potential of a project or organization. The SAMI that is composed of four components:
31
Agile Principles
A 5 5 B C D E 5
Agile Principles
A B C D E
Agile Levels
Agile Levels
4 3 2 1
Agility Increases
4 3 2 1
Agile Levels
(b) Empty Agile Levels with Agile Principles
4 3 2 1
(c) Agile Levels populated with Agile Practices categorized within Agile Principles
Figure 5. Components of the Agile Measurement Index (Indicators are not shown)
1. AgileLevels:asetofagilepracticesthatarerelatedand,whenadopted collectively,makesignificantimprovementsinthesoftwaredevelopment process,therebyleadingtotherealizationofacorevalueofagility 2. AgilePrinciples:guidelinesthatneedtobeemployedtoensurethatthe developmentprocessisagile 3. AgilePracticesandConcepts:theconcreteactivitiesandpractical techniquesusedtodevelopandmanagesoftwareprojectsinamanner consistentwiththeagileprinciples 4. Indicators:questionstheexaminerusestoassesscertaincharacteristicsof anorganizationorproject,suchasitspeople,cultureandenvironment,in ordertoascertainthereadinessoftheorganizationorprojecttoadoptan agilepractice. Chapter4detailsthedevelopmentprocessoftheSAMIandeachofitscomponents. This section presents a simple overview of the measurement index as a whole, withoutfocusingonanyparticularcomponent,aswellasthenameandobjectiveof eachofthefivelevels.Figure 5showsthecomponentsoftheSAMI.
32
Agile levels, as depicted in Figure 5a, are considered the units of the SAMI as they enumerate the possible degrees of agility for a project or organization. The agile potentialofaprojectororganizationisexpressedintermsthehighestagilelevelit can achieve. The attainment of a particular level indicates that the project or organizationhasrealizedandembracedtheessentialelementneededtoestablisha commensurate agile development process. For example, when the elements inherent to enhancing communication and collaboration are embodied within the development process, then the Agile Level 1 (Collaborative) is attained. However, beforeaprojectcanexpecttomovetoLevel2status,allpracticesassociatedwith Agile Level 1 must be achieved or achievable. The agile levels represent the core qualities of agility as defined by the Agile Manifesto [2]. The objective of the level refers to the agile quality the level seeks to achieve or introduce into the developmentlifecycle.Table2showsthefivelevelsindescendingorder.
AgileLevel Level5 Level4 Level3 Level2 Level1 LevelName Encompassing Adaptive Effective Evolutionary Collaborative LevelsObjective(AgileValueReworded) Establishingavibrantandallencompassingenvironmentto sustainagility Respondingtochangethroughmultiplelevelsoffeedback Developinghighquality,workingsoftwareinanefficientan effectivemanner Deliveringsoftwareearlyandcontinuously Enhancingcommunicationandcollaboration
Table2.The5AgileLevelsindecsendingorder
Each of the agile levels is composed of a set of agile practices, that when adopted, helpsaccomplishthe levelsobjective.Thesecondcomponentofthemeasurement index, agile principles, guides the assignment of agile practices and concepts assignedtoeachlevel. Agileprinciplesaretheessentialcharacteristicsthatmustbereflectedinaprocess before it is considered Agile. For example, two key agile principles are human centric, which refers to the reliance on people and the interaction between them, 33
and technical excellence, which implies the use of procedures that produce and maintainthehighestqualityofcodepossible.TheSAMIusesfiveagileprinciplesto ensurethattheagilelevelsembodytheessentialcharacteristicsofagility.Figure5b illustratestherelationshipbetweenagilelevelsandagileprinciples.Thetoprowof Table 3enumeratesthoseprinciples. Each agile level contains practices associated with most, if not all, of the agile principles. The principle reflects the approach that the agile practice uses to promote the agile quality pertinent to a level. For example, all of the practices in Level 3 (Effective) promote the agile objective of developing high quality, working software in an efficient an effective manner. How an objective is achieved is determined by the practices associated with agile principles spanning each level. Along the same lines, practices associated with the technical excellence principle promote its agile objective by focusing on enhancing the technical aspect of the process; while practices associated with the humancentric principle promote enhancing the human aspect of the process. More about agile principles can be foundinChapter4. The realessence ofthe agile measurement index, however,istheagile practices it enunciates. Agile practices are concrete activities and practical techniques used to develop and manage software projects in a manner consistent with the agile principles. For example, paired programming, user stories, and collaborative planningareallagilepractices.Sincetheagilelevelsarecomposedofagilepractices (organizedalongthelineofagileprinciplesseeFigure5c),theyareconsideredthe basic building block of the SAMI. The attainment of an agile level is achieved only whentheagilepracticesassociatedwithitareadopted.TheSAMIispopulatedwith 40 distinct agile practices. Table 2 illustrates these practices, arranged along the linesoftheagilelevelsandprinciples. 34
A set of indicators, or questions, must accompany each agile practice or concept in themeasurementindex.TheSAMIcontainsapproximately300differentindicators. The agile coach uses these indicators or questions to measure the extent to which the organization is ready to adopt an agile practice or concept. Each indicator is designed to measure a particular organizational characteristic necessary for the successfuladoptionoftheagilepracticetheindicatorisrelatedto.Dependingonthe question, a manager, developer, or agile coach is designated to answer it, either subjectively or objectively. All the organizational characteristics that need to be assessed, along with the indicators needed to assess them, are placed in the Readiness Assessment Table (RAT) associated with each agile practice. RATs are explainedinfurtherdetailinthediscussionoftheIndicatorscomponentoftheSAMI inChapter4. Asanexampleoftheabove,assumetheassessorwantstodeterminetheextentto which the organization is ready to adopt coding standards (Level 1, Technical Excellence).Thetwoorganizationalcharacteristicsthatneedtobeassessedare:(1) towhatextentdothedevelopersunderstandthebenefitsbehindcodingstandards, and(2)howwillingaretheytoconformtocodingstandards.Severalindicatorsare usedtoassesseachofthesecharacteristics.Forexample,toassesswillingness,the assessor might ask the developers to what extent would they abide by coding standardsevenwhenunderatimeconstraint.
35
Agile Principles Embrace Change to Deliver Customer Value Level 5 Encompassing Establishing a vibrant environment to sustain agility Low process ceremony [60, 72] Plan and Deliver Software Frequently Agile project estimation [29] Human-centric Ideal agile physical setup [60] Technical Excellence Test driven development [16] Paired programming [84] No/minimal number of level -1 or 1b people on team [24, 22] Level 4 Adaptive Responding to change through multiple levels of feedback Client driven iterations [60] Continuous customer satisfaction feedback [64, 77] Smaller and more frequent releases (4-8 weeks) [64] Adaptive planning [60] [29] Daily progress tracking meetings [8] Agile documentation [73, 57] User stories [30] Customer immediately accessible [22] Customer contract revolves around commitment of collaboration [45, 64] Customer Collaboration Frequent face-toface interaction between developers & users (collocated) [17]
Level 3: Effective Developing high quality, working software in an efficient an effective manner
Risk driven iterations [60] Plan features not tasks. [29] Maintain a list of all features and their status (backlog) [57]
Self organizing teams [60, 72, 57, 27] Frequent face-to-face communication [72, 27, 18]
Continuous integration [60] Continuous improvement (refactoring) [57, 17, 41, 7]. Unit tests [50] 30% of level 2 and level 3 people [24, 22]
Continuous delivery [60, 57, 45, 17] Planning at different levels [29]
Software configuration management [57] Tracking iteration progress [60] No big design up front (BDUF) [5, 17]
Coding standards [51, 82, 68] Knowledge sharing tools [60] Task volunteering [60]
Table 3. The Sidky Agile Measurement Index (SAMI) populated with agile practices and concepts
TheSAMIisusedintheprocesscomponentoftheframework,whichconsistsoffour stages working together to guide organizations in identifying agile practices that best fit into their environment. After this brief introduction to the SAMI, the 36
remainder of this chapter illustrates how the 4Stage Process uses the SAMI to provideorganizationswithguidanceandassistance.
3.3. Stage1:DiscontinuingFactors
The objective of the first stage of the 4Stage Process is to provide organizations with a method for reaching a decision on whether or not to proceed with agile adoption initiatives. As Figure 6 shows, to achieve this goal, Stage 1 provides organizations with an assessment process that identifies the factors that could prevent the successful adoption of agile practices. These are called discontinuing factors and can vary from one organization to another. Stage 1 suggests that organizationsfollowthreestepsinordertofulfilltheobjectiveofthisstage: 1. Determinethelistofdiscontinuingfactors 2. Assesstheextentofthepresenceofdiscontinuingfactors 3. MakeGo/Nogodecisionbasedonassessmentresults
No Discontinuing factors found
Proceed to Stage 2
Figure6.Stage1:DiscontinuingFactors
37
Thefollowingsubsectionsprovideadiscussionoftheimportanceofthisstageand detaileddescriptionsoftheactualstepsthattakeplaceduringthisstage. ThisdiscussionbeginswithadescriptionofhowStage1oftheprocessguidesand assistsorganizationsinmakingGo/Nogodecisionsconcerningtheadoptionofagile practices.Apreassessmentactivitythatidentifiesanydiscontinuingfactorsaidsin making this decision. The next three sections provide a detailed discussion of the processthatshouldbefollowedduringthisstage.
3.3.1 DeterminingtheDiscontinuingFactors
The first step in Stage 1 of the 4Stage Process is to identify the factors that could adversely impact the agile adoption process. These Discontinuing Factors are organizational characteristics that, if present in an organization, can hinder or jeopardize the success of the agile adoption process. These factors can vary from organization to organization and from one agile consultant to another. They typicallypertaintoanorganizationsresourcesincludingmoney,timeandeffort,as wellasthesupportoftheexecutives. TheIDEALmodelisasourceofinspirationforidentifyingdiscontinuingfactors.The Initiating phase of IDEAL helped identify two factors that, if absent from an organization, could prevent the success of the agile adoption effort. These two discontinuingfactorsare: Inappropriate Need for Agility: This refers to situations where, from a businessorsoftwaredevelopmentperspective,adoptingagilitydoesnotadd any value. This factor was derived from the initial input of the initiating phaseofIDEAL,Stimulusforchange. Absence of Executive Support:Ifcommittedsupportfromexecutivesponsors isabsent,theneffectiveandsubstantialchangeintheorganizationisunlikely
38
tooccur.ThisfactorwasalsoderivedfromtheinitiatingphaseofIDEALthat emphasizesthepresenceofSponsorshipbeforethestartoftheSPIeffort. Areviewofvariousadoptioncasesvalidatestheidentificationofthesetwofactors as discontinuing factors. Several authors note that these two factors could hinder the adoption process if present. For example, the first two factors that Spayd [79] highlights as needed to realize success in the adoption of agile practices are the counterpartsofboththesefactorsderivedfromIDEAL.Cohn[31],Eckman[37],and Pukinskis[71]allsupporttheideathatthelackofexecutive buyinorsponsorship is a factor that can jeopardize the success of any process improvement effort, especiallyrelativetoagile. A third discontinuing factor is the lack of sufficient funds. When funds are unavailable or insufficient to support the agile adoption effort, then an adoption process is not feasible [37]. As obvious as this factor is, it is important to be conscious of it, especially if the change effort is going to be managed inhouse. Usually, if a consultant is hired to conduct the adoption process, he or she makes surethatsufficientfundsareavailablebeforetheengagementstarts. Another discontinuing factor initially included is the type of the project, because mission or lifecritical projects are not suitable candidates for agility. This assumptionisbasedontheworkofBoehmandotherswhoargueagiledevelopment isnotsuitableformissionandlifecriticalsystems[4][69][19][24].However,since more and more agile development can be found in the mission and lifecritical projects [56] [54] [35], some of the authors that maintained this position arenow changingtheirpointofview.Therefore,thetypeofprojectnolongerneedstobea discontinuingfactor,eventhoughthelevelordegreeofagilityusedformissionand lifecriticalsystemsmightbedifferent.Thisrealizationresultedinapapershowing how to use the concepts of the agile adoption framework to identify the practices suitableforthedevelopmentofmissionandlifecriticalsystems[78].
39
As mentioned earlier, these are not the only discontinuing factors. Other organizationsorconsultantscanidentifyotherdiscontinuingfactors.However,the key to identifying these factors is to think of what could stop or hinder the agile adoptionprocess,regardlessofthenumberofagilepracticesbeingadopted. When an organization demonstrates any of these discontinuing factors, it is unpreparedtomovetowardsagilityandshouldsuspendtheadoptionprocessuntil the environment is more supportive. With the discontinuing factors identified, the nextstepistoemploytheprocessusedtoassesstheirpresenceintheorganization.
3.3.2 AssessthePresenceofDiscontinuingFactors
Once the assessor or the organization has identified the discontinuing factors, the nextsteptowardagileadoptionistoascertaintheextentofthepresenceorabsence ofthesefactors.LiketheapproachusedbytheSAMI,thisstepreliesonindicatorsto assessthedegreetowhichadiscontinuingfactorispresentorabsent.Indicatorsare questionsthatpeopleintheorganizationortheassessorhimselforherselfanswer. Depending on the factor, indictors measure the specific organizational characteristicsthatdirectlyinfluencetheexistenceofthatdiscontinuingfactor. Forexample,todeterminewhetheranorganizationlacksthesufficientfundsforthe agileadoptioneffort,oneoftheorganizationalcharacteristicsmeasuredisthedollar amountoffundsallocatedtotheprocessimprovementeffort.Anothercharacteristic measured is the ability to actually spend the funds for agile adoption. At least one indicator,thoughmorearepreferable,isusedtoassesseachofthesecharacteristics. Anexampleofaquestionorindicatorusedtoassesstheabilitytospendfundson agile adoption is Can the funds be spent on any process improvement activity? AnotherindicatorisArethereanyrestrictionsonthetypeofactivitiesthesefundscan beusedfor? Each discontinuing factor has an assessment table that highlights the different organizational characteristics that the assessor needs to assess in order to determinetheextenttowhichthefactorispresent. 40
Categoryof Assessment
Areatobe assessed
Characteristic(s)to beassessed
Todetermine: Whetherornottheprojects requirementsareclearandwelldefined, thuspredictingnochange,orwhetheror nottherequirementsneedtobeflexible and/ormightchange Whetherornottheprojecthastobe developedquicklyinordertointroduceit tothemarketassoonaspossible Whetherornottheorganizationhasa trendofhavingprojectsthatgoovertime andbudget Whetherornottheorganizationisfacing anyproblemsordissatisfactionwiththe currentsoftwareprocess
Assessment Method
RateofChange
Interviewing
Table4.AssessmentTablefortheDiscontinuingFactor:InappropriateNeedforAgility
For example, Table 4 depicts the assessment table used for the first discontinuing factor, Inappropriate Need for Agility. The assessor uses this factor to determine whether or not there is any value added by adopting agile software development. Thefirstverticalcolumninthetableidentifiesthegenericorganizationalareatobe assessed.Thenextverticalcolumnspecifieswhichaspectoftheorganizationalarea needs assessment. The third column designates the actual organizational characteristic to be assessed. In this example, the assessor needs to assess four different characteristics in order to measure the existence or absence of this discontinuingfactor.Oneofthesecharacteristicsisthe rate of changeoftheproject requirements. The fourth column, To determine, defines the goal behind the assessment of this characteristic. The fifth column provides information on the methodusedtoconducttheassessmentandthelastcolumnprovidesareferenceto the actual indicators the assessor uses for each particular organizational characteristic.Theindicatornumberisusedtoidentifyandreferencetheindicator. The first two letters in the indicators number (DC) mean that the assessors use these indicators for assessment of DisContinuing factors. The letter after the underscore(_)referstothetypeofpersonwhoshouldprovideananswerforthe indicator: A: denotes an indicator that the assessor, or the person conducting the assessment,needstoanswer
41
D: denotes an indicator that the developer, or anyone on the development sideoftheproject,needstoanswer M:denotesanindicatorthatamanager, oranyoneperformingmanagement relatedtasksfortotheproject,needstoanswer
A sequential number is used as the last digit in the indicators number. Figure 7 showssomesampleindicators,whichusuallyconsistofastatementorquestionthat needs a response. Most indicators are based on a 5point Likert summated scale, from1stronglydisagreeto5stronglyagree.Asmallnumberofotherindicators are based on other 5point scales that are more appropriate to the organizational characteristicbeingassessed.
Figure7.SampleIndicatorsforDiscontinuingFactors
Figure8showstheorganizationalcharacteristicsthatneedto beassessedforeach ofthediscontinuingfactors.Theassessoruses21differentindicatorstoassessthe discontinuing factors. Appendix A contains the assessment tables for all three factorsalongwithall21indicatorsusedtoassessthem.
42
Discontinuing Factors
Inappropriate Need for Agility Historical Project Schedules and Budgets (A=2) Challenges with current software process (D=3,M=3) Rate of Change of Project Requirements (M=3) Time to Market Needed for Project (M=1) Lack of Sufficient Funds Availability of Funds (M=6) Absence of Executive Support Executive Management Buy-in (M=3)
Figure8.HierarchyofIndicatorsforDiscontinuingFactors
AppendixAalsohighlightsthemethodusedtoaggregatetheresultsofthedifferent indicatorstocomeupwithonenominalvalue,asshowninTable5.Theaggregate result of the answers to the indicators (the nominal value) shows the extent to whichthatfactorispresentor absentintheorganization.Thedecisiontoproceed with the adoption effort, or abandon it, is based on the nominal values for all the factors.Thenextsectionprovidesadiscussionofthisstep.
NotAchieved PartiallyAchieved LargelyAchieved FullyAchieved 0%35% 35%65% 65%85% 85%100%
Table5.NominalValuesforAggregatedIndicators
3.3.3 MakeGo/NogoDecision
Oncetheassessmentprocesshasidentifiedthedegreetowhicheachdiscontinuing factorispresentintheorganization,itmovestothethirdstepwithinStage1ofthe 4Stage Process of the Agile Adoption Framework. During this step, the assessor
43
recommends proceeding with the agile adoption effort or abandoning it based on the absence of discontinuing factors. To receive the green light, the degree of absenceforeachofthediscontinuingfactorsmustfallbelowanacceptablethreshold for the organization. While this seems a little counterintuitive at first, since the assessment is for discontinuing factors whose presence is a hindrance to the adoptionprocess,theirabsenceisagoodsign.Inotherwords,thegoalistohaveall the discontinuing factors score a Not Achieved. The greater the presence of discontinuing factors in the organization, the worse the situation is. For example, assumeTable6showstheassessmentresultsforanorganization.Theorganization has decided to go ahead with the agile adoption effort when the level of discontinuingfactorswasfoundtobebelow35%(NotAchieved).However,because one or more of the discontinuing factors was found at a level higher than the threshold, the assessor has recommended a Nogo decision. Since the level of presenceofthediscontinuingfactor, Lack of Sufficient Funds, washigherthan35%, thereisaNogodecisiontocontinuetheagileadoptioneffort.Theadoptionprocess is suspended until the conditions changed and a reassessment showed that the presenceofthediscontinuingfactorhaddroppedbelowthethreshold.
DiscontinuingFactors
InappropriateNeedforAgility LackofSufficientFunds AbsenceofExecutiveSupport Not Achieved 0%35% Partially Achieved 35%65% Largely Achieved 65%85% FullyAchieved 85%100%
Table6.AssessmentResultsforDiscontinuingFactors
Eachorganizationcansetitsownthresholdsfordifferentfactors.Forexample,one organization might decide to suspend the adoption process if any discontinuing is partiallyachievedorhigher(35%to100%).However,anotherorganizationmight have the same rule, but set a higher threshold for one of the factors. For example, theorganizationmighttolerateahigherthreshold(below65%) foronlythefactor related to funds. In this case, the example shown in Table 6 would generate a Go decisionbecausethefundsfactorisbelowitsthreshold(65%)andtheotherfactors
44
are already Not Achieved. Again, these thresholds are left to the stakeholders to determine. Clearly,itisnecessarytoensurethatorganizationshavethecapabilitytointroduce agilepracticesintotheirprocessbeforestartingsuchaprocessimprovementeffort. Iftheyarenotready,thentheymayunnecessarilycommittoaninitiativethatcan havedetrimentalconsequenceslater. Insummary,Stage1providesguidancetoorganizationsneedingtodecidewhether to start the agile adoption effort. Identifying and assessing the absence of discontinuing factors in the organization determines an organizations ability to proceed with the introduction of agile practices. Once the stakeholders decide to proceedwiththeagileadoptioneffort,theguidanceprocessentersthesecondstage ofthe4StageProcesstheprojectlevelassessment.
3.4. Stage2:ProjectLevelAssessment
Afterthestakeholdersmakethedecisiontogoaheadwiththeagileadoptioneffort (from Stage 1), the next stage looks at the individual projects that will adopt agile practices and determines which level of agility (based on the SAMI) each should adopt. Since each project is different and is surrounded by unique circumstances, eachprojectneedstoadoptalevelofagilitythatisbestsuitableforit. Figure9depictsanoutlineoftheapproachusedinStage2to determinethetarget agilelevelforeachproject.Theassessorstartsbyassessing certainfactorsrelated to Agile Level 1. If this assessment is positive, the assessor proceeds to assess factors related to the next agile level. The level at which the assessment fails is identifiedasthehighestagileleveltheprojectcanreach(i.e.targetagilelevel). Section 3.4.2describesthedetailsofhowlimitingfactorsoutsidetheorganizations control,influencethetargetlevelestablishedforeachproject.Theselimitingfactors are discussed from an organizational perspective as well as a practicebased
45
perspective.Butfirst,Section3.4.1givessomebriefbackgroundaboutthenotionof projectbasedagility.
Target = Level 5
Encompassing
Yes
Target = Level 4 Adaptive
?
Yes
No
Effective Effective
Target = Level 3
? No
Yes
Target = Level 2 Evolutionary
? No
Yes
Target = Level 1 Collaborative
Figure9.Stage2:ProjectLevelAssessment
3.4.1 ProjectLevelAssessment:BackgroundInformation
Practitioners and researchers alike accept the idea of having different degrees of agile software development based on the type of project. One of the more famous agile methodologies based on the premises that each project is different and, therefore,necessitatesdifferentdegreesofagility(orprocess)isCockburnsCrystal Family [24] [26]. The Crystal family includes a number of different methodologies andthecriticalityandsizeofeachindividualprojectguides thechoiceofthemost suitablemethodologyfortheproject.
46
Figure10.CrystalFamilyofMethodologies[24][26]
Figure 10 shows that each member of the Crystal family is marked with the color indicatingtheheavinessofthemethodology,i.e.thedarkerthecolortheheavierthe methodology.Thecharactersymbolsindicatethepotentiallosscausedbyasystem failure(i.e.C=Comfort,D=DiscretionaryMoney,E=EssentialMoney,andL=Life).The numeral beside the character symbol represents the number of the people on the project.TheimportanceoftheCrystalfamilyisthatCockburn giveseachprojecta differentmethodologydependingonthecriticalityandsizefactorsoftheproject. Little followed the same concept as Cockburn with his Adoptive Agility but identifiedfactorsotherthancriticalityandteamsizetodeterminetheappropriate methodology for the project. Little classified projects according to Complexity Attributes(whichincludedteamsizeandcriticality)andUncertaintyAttributes[63] [62].Basedontheassessmentofthesetwosetsofattributes, aprojectisclassified intooneoffourprojecttypes: DogsSimpleprojectswithlowuncertainty ColtsSimpleprojectswithhighuncertainty
47
CowsComplexprojectswithlowuncertainty BullsComplexprojectswithhighuncertainty
Little did not define a set methodology for each of the four project types, but he highlighted some agile practices that are suitable for each project type. Both Cockburns Crystal Family and Littles Adaptive Agility demonstrate the possibilityofselectingdifferentfactorstodeterminetherightdegreeofprocessor process agility for a particular project. The development of Stage 2 of the 4Stage Process is indebted to the work of Cockburn and Little. However, Stage 2 differs fromtheworkofothers,becausethelevelofagilityaprojectcanreachisnotbased oneithercriticalityandsizeastheCrystalFamilyorthecomplexityanduncertainty, as Adaptive Agility is, but on the absence of factors outside the organizations control that are needed to adopt an agile practice. The next sections present, in greaterdetail,theapproachStage2usestodeterminethetargetlevelofagilityfora project.
3.4.2 EstablishingaTargetAgileLevel
Stage 2 is the first stage of the adoption process that utilizes the SAMI presented briefly in Section 3.2. The objective of this stage is to identify the highest level of agilityaprojectcanachieve.Thisiscalledthetargetagilelevelandisoneofthefive agilelevelsdefinedintheSAMI. The important question is how the target level is identified for each project. The first step to answering this question is to recall the design of the SAMI. In it, each agile level is composed of a set of agile practices. Each one of these practices is associated with a set of indicators that assesses different aspects or factors of the organization to determine the extent the organization is ready to adopt that agile practice. The organization cannot change some of the organizational factors or
48
aspectsassessedbytheseindicators,becausetheyexistoutsideoftheorganizations control.Theseoutsidefactorsinfluencethetargetagilelevelforeachproject. For example, frequent facetoface communication is an agile practice at Level 3. Therefore, near team proximity(havingthewholeteaminacloseproximitytoeach other) is a factor needed to successfully adopt this practice. If the project and organization have no say in changing this project characteristic (near team proximity),becauseitisoutsideoftheircontrol,andiftheprojectlevelassessment determinesthatthisfactorisnotachievedforthisprojectandcannotbeachieved, because it is outsidethe organizations control, then the highest level of agility for thisprojectwillbethesameAgileLevelinwhichthisagilepracticeisfound,which isLevel3inthiscase. Forterminologypurposes,organizationalorprojectfactorsthattheorganizationor project team cannot change are called limiting factors and the agile practices or concepts that depend on these factors for a successful adoption are called limiting agile practices.Thename limiting factorwaschosen,becauseeachhasthepotential tolimitthetargetagilelevelforaproject. Since identifying the target agile level, or the highest level a project can aspire to, dependsonlimitingfactors,orfactorsoutsideofanorganizationscontrol,thefirst step is to identify all these limiting factors and any agile practices that depend on themforasuccessfuladoption(limitingagilepractices).
3.4.3 LimitingFactors:OrganizationalPerspective
There are many organizational and project characteristics that are assessed to determinewhethertheorganizationisreadytoadoptanagilepracticeornot.The organization can change some of these factors, but not others. Different organizationshavedifferentfactorsthattheyhavecontroloverandothersthatthey havenocontrolover.Theabilitytochangecharacteristicsdependsonthestructure
49
of the organization and its policies and procedures. Therefore, since the limiting factorsvaryfromorganizationtoorganization,thesefactorsexemplifyafewofthe morecommonpossibilities: TheCustomer Ifanorganizationcanchangeanyofthesefactors,then,bydefinition,theynolonger qualifyaslimitingfactors.Thatsaid,theorganizationusuallyhaslittleornocontrol over customerrelated factors and, therefore, cannot expect to change them. Team proximity, however, is another matter. While it is something an organization can control, sometimes an organization fails to consider this factor when allocating a certain team for the project and finds itself hamstrung, because this allocation cannot be changed. For example, consider the situation where five of the 12 memberteamarehalfwayacrossthecountryortheglobe,andthereisnothingthat theprojectororganizationcando(practically)tochangethissituation.However,if theorganizationcanchangetheteammembersproximity,thenbydefinitionteam proximityisnolongeralimitingfactor.Thesamelogicappliestoteamcompetency. Iftheteamallocatedforacertainprojectcontainsnoexperiencedpeople,andthisis afactortheorganizationcannotchange,thenteamcompetencyisalimitingfactor. Therefore, at the start of each project or when working with an organization, it is importanttoknowexactlywhichaspectsorfactorstheorganizationcanchangeand whichitcannotchange.Thisknowledgegivesthepersonleadingtheefforttoadopt agility a clear perspective of what to expect. Stage 2 does this, but in a structured andmoredetailedmanner. Teamproximity Teamcompetency
50
3.4.4 LimitingFactors:PracticePerspective
Once the person leading the adoption effort has identified the limiting factors, the next step is to identify any agile practices that depend on any of these limiting factorsforasuccessfuladoption.TheReadinessAssessmentTable(RAT)(explained indetailinSection 4.5.2)associatedwitheachagilepracticeprovidesguidancefor this step. These RATs identify each organizational characteristic that needs to be assessed.IfanyofthelimitingfactorsarefoundintheRATofanyagilepractice,that agile practice is identified as a Limiting Agile Practice. Based on the examples of limiting factors identified earlier in the Agile Adoption Framework, the limiting practicesare: Customerdependent: Frequentfacetofaceinteractionbetweendevelopersandusers Immediatecustomeraccessibility Collaborationcommitmentincustomercontract Evolutionarydevelopmentreflectedincustomercontract Customercommitmenttoworkwithdevelopingteam Frequentfacetofacecommunication Idealagilephysicalsetup 30%ofCockburnsLevel2(experienced)andCockburnsLevel3(highly experiencedpeople Table 7 shows the position of all the potential limiting agile practices within the SAMI.Itisimportanttonotethatthelimitingagilepracticesidentifiedinthissection canvarydependingontwothings: 1. thelimitingfactorsidentifiedintheprevioussubsection 2. thesetofreadinessindicatorsassociatedwitheachagilepractice. 51 No/minimal number of Cockburn Level 1 (no experience) or Cockburn Level1b(someexperience)peopleonteam
Teamproximitydependent: -
Teamcompetencedependent: -
Agile Principles Embrace Change to Deliver Customer Value Level 5 Encompassing Establishing a vibrant environment to sustain agility Low process ceremony Plan and Deliver Software Frequently Agile project estimation Human-centric Ideal agile physical setup Technical Excellence Test driven development Paired programming No/minimal number of level -1 or 1b people on team Client driven iterations Continuous customer satisfaction feedback Smaller and more frequent releases (4-8 weeks) Adaptive planning User stories Daily progress tracking meetings Agile documentation Customer contract revolves around commitment of collaboration Customer immediately accessible Customer Collaboration Frequent face-toface interaction between developers & users (collocated)
Level 3: Effective Developing high quality, working software in an efficient an effective manner
Risk driven iterations Plan features not tasks. Maintain a list of all features and their status (backlog)
Continuous integration Continuous improvement (refactoring) Unit tests 30% of level 2 and level 3 people
Evolutionary requirements
Software configuration management Tracking iteration progress No big design up front (BDUF)
Collaborative planning
Coding standards
Table7.TheSAMIwithLimitedAgilePracticesUnderlined
52
Withtheidentificationofpotentiallylimitingagilepractices,theassessorisreadyto begintheprojectassessmentneededtoidentifythehighestlevelofagilityaproject canreach(i.e.thetargetagilelevel).Thisprocessmeasuresonlytheextenttowhich thefactorsneededforthelimitingagilepracticesarepresent.Theassessorconducts the assessment using the indicators associated with each agile practice. Since indicators are an essential component of the SAMI, Chapter 4 describes in detail howtouseindicatorstoconductassessments. The assessor starts the process by assessing the organizations readiness for adopting only the limiting agile practices of the first agile level. If the result is positiveandshowsthattheorganizationisreadytoadoptthosepracticesthenthe assessmentprocessmovesupwardonthescale.Theassessordoesthesameforthe limiting practices identified in Agile Level 2 and so on. As long as the assessment results show that the organization can adopt the limiting practice, the assessment keepsmovingtohigherlevels.Oncethefactorsneededfortheadoptionofalimiting practice are absent, then the assessment process stops, and the highest level of agilityfortheprojectisthelevelatwhichthelimitingpracticeisfound. The highest level of agility attainable is the level at which the assessment for the limitingfactorhasfailed,becausethefactorsneededforthe adoptionofalimiting agile practice are absent and the organization cannot do anything to change that. Therefore, the project cannot aspire to a higher level of agility, because it cannot fully adopt all the practices in the current level. If the factors outside the organizationscontrolchange,thentheassessmentprocesscancontinuetoidentify anew,andhigher,targetlevelfortheproject. When factors outside the control of the organization constrain the highest level of agilityforaproject,thefocusfallsonresolvingtheconstrainingfactorsthatprevent all the principles of agility from rising to higher levels of agility. Focusing on eliminating these factors is better and more beneficial than focusing on ways to
53
adopt agile practices in higher levels because this does not resolve the effect the weakestprincipleexertsontheadoptionofagility.
In summary, the target agile level for a project is the point when the assessment processdiscoversthatoneoftheprojectcharacteristicsneededtoadoptalimiting agilepracticeorconceptismissing,andneithertheprojectnororganizationcando anythingtoinfluenceorchangethis.Aftertheassessmenthas identifiedthetarget agile level, the next step in the journey to agility is to conduct an organizational readinessassessmenttodeterminethesetofagilepracticesthat canbeadoptedfor theproject.
3.5. Stage3:OrganizationalReadinessAssessment
Identifyingthetargetlevelforaprojectdoesnotnecessarilymeanthatthatlevelis achievable. Determining the achievable level requires an assessment of the readiness of the organization to adopt each of the agile practices up to, and including,thetargetlevel. During Stage 3, the assessor conducts an organizational assessment to determine theextentofthereadinessoftheorganizationtoadopttheagilepracticescontained in the target agile level. The activities of Stage 3 highlight the areas that need improvement to accommodate the adoption of the agile practices. In other words, theassessorusesthisstagetodevelopasetofrecommendationsforachievingthe targetagilelevelfortheproject. As Figure 11 shows, Stage 3 depends on the projects target level identified from Stage2.Stage3assessesallofthedifferentaspectsoftheorganizationtodetermine whethertheorganizationhasthenecessarycharacteristicstosupportthepractices encompassed in the target agile level. The details of how Stage 3 guides this organizational readiness assessment and the role the SAMI plays follow a brief discussion of the background of this stage and the importance of conducting a readinessassessmentinthenextsection.
54
TargetAgile Level
Effective Developers
Figure11.Stage3:OrganizationalReadinessAssessment
3.5.1 OrganizationalAssessment:BackgroundInformation
The idea of conducting an assessment before the actual adoption process starts is not new. The first suggestion Boehm and Turner have for organizations trying to adopt agile practices is to incorporate preparation upfront [21]. They urge organizations to spend time and effort to conduct a significant upfront analysis to identify any mismatches between the organization and the set of agile practices it wantstoadopt.Moreover,Ceschietal.pointoutthatoneofthebiggestchallengesto introducing agile methods in an organization is the lack of a detailed preliminary evaluationofthechallengesthatthisintroductionmightcause. 55
Although it is important to know whether the organization is ready to handle the adoption of certain agile practices before it starts adopting them, all too often the adoption efforts overlook this preadoption assessment phase or do not spend enoughtimeandeffortonit.Theresultisthatanorganizationstartstoadoptagile practiceswithoutknowingwhetheritisreadyforthem.Challengesstarttoemerge andhardshipsfollow.Theimmediatesolutioninthiskindofsituationiseithertotry harder to adopt the practice or to abandon that the practice and deem it as an unsuitablepractice.Stage3ofthe4StageProcessoftheAgileAdoptionFramework offers a solution to the readiness problem. As described in the next section, it providestheassessorwithguidelinesforassessingthereadinessoftheorganization for each agile practice in such a way that it identifies, before any adoption effort starts,practicesthataresuitableandunsuitableforthe organization.Moreover,the assessment process highlights the exact reasons when a practice is unsuitable for adoption. Investing time and effort in this type of preadoption assessment of each agile practiceincreasestheprobabilityofsuccessfortheoveralltransitiontoagility[21]. CarryingouttheactivitieswithinStage3significantlyreducestherisksassociated with the agile adoption process. Furthermore, this assessment identifies the exact organizational characteristics that might jeopardize the successful adoption of an agile practice. Finally, all of this happens before the organization initiates the adoptioneffortandbeforetheeffortmightcausedisruption. Knowing where an organization falls short before the adoption process helps it either select a more suitable set of agile practices to adopt or improve the weak organizationalcharacteristicsthatcancausetheadoptionprocesstofail.
56
3.5.2 AccomplishingtheOrganizationalReadinessAssessment
ThemainobjectiveofStage3istodeterminetheextenttowhichtheorganizationis readytoachievetheprojectstargetagilelevel.Todoso,theassessorassesseshow readytheorganizationistoadopteachoftheagilepracticeswithinthetargetagile level,andthelevel(s)belowit.TheSAMIplaysacrucialroleduringtheassessment processofthisstage. UsingtheSAMIforOrganizationReadinessAssessment LikeStage2,Stage3ofthe4StageProcessalsoreliesontheSAMI.However,Stage2 assessedthereadinessofagilepracticesthatdependedonorganizational characteristicsoutsidetheorganizationscontrol.Stage3reliesontheothersetof agilepracticeswithinSAMI,thosethatdependonorganizationalcharacteristicsthat theprojectororganizationcanchange.Thisisafundamentaldifferenceintheuseof theSAMIfromStage2toStage3. Table 8 shows the SAMI. During Stage 2, the limiting agile practices (those not underlined) were assessed to determine the highest level of agility for a project. DuringStage3,theorganizationsreadinessfortherestoftheagilepracticesorthe nonlimitingAgilepractices(thoseunderlined)isassessed. The indicators associated with each agile practice in the SAMI are instrumental in theassessment.Theyareusedtodeterminetheextenttowhichtheorganizationis ready to adopt each individual agile practice. The indicators associated with each agile practice are concerned with assessing all the organizational characteristics thatcouldinfluencetheextenttowhichtheorganizationisreadytoadopttheagile practice. The type of organizational or project characteristics usually assessed to determinethereadinessforapracticeare: Customers:theprojectscustomersandclients Developers:thetechnicalstaffinvolvedwiththedevelopmentoftheproject
57
Managers: the managers or executives overseeing the project and involved withdecisionmaking Tools:thesoftwaretoolsusedwithintheorganizationorforacertainproject Culture: the overall culture of the people within an organization or the projectteam
Agile Principles Embrace Change to Deliver Customer Value Plan and Deliver Software Frequently Agile project estimation Human-centric Ideal agile physical setup Technical Excellence Test driven development Paired programming No/minimal number of level -1 or 1b people on team Client driven iterations Continuous customer satisfaction feedback Smaller and more frequent releases (4-8 weeks) Adaptive planning User stories Daily progress tracking meetings Agile documentation Customer contract revolves around commitment of collaboration Customer immediately accessible Customer Collaboration Frequent face-toface interaction between developers & users (collocated)
Level 3: Effective Developing high quality, working software in an efficient an effective manner
Risk driven iterations Plan features not tasks. Maintain a list of all features and their status (backlog)
Continuous integration Continuous improvement (refactoring) Unit tests 30% of level 2 and level 3 people
Evolutionary requirements
Software configuration management Tracking iteration progress No big design up front (BDUF)
Collaborative planning
Coding standards
Table8.TheSAMIwithNonLimitedAgilePracticesunderlined
58
Project management: the procedures and practices related to managing projectsintheorganization Software process: the activities and artifacts related to the software developmentprocessintheorganization Physical environment: the physical layout of the organization and the geographicalandgeospatialdistributionofitsemployees.
Figure12,illustratesalltheorganizationalcharacteristicsthatneedtobeassessed for each of the agile practices in Agile Level 1. Notice that the practice Customer commitmenttoworkwithdevelopmentteamisnotpartofthefigure,despitethefact thatitisoneofthepracticesinlevel1.ThisisagainbecauseStage3dealsonlywith theagilepracticesthatarenotlimiting.
Management Style (M=7,D=4) Managers Buy-in (M=2) Management Transparency (M=4) Power Distance (M=1,D=4) Developers Buy-in (D=1) Planning Activity Exists (M=2,A=1) Managements Buy-in (M=2) Developers Buy-in (D=1) Interaction between developers (M=1,D=1) Belief in Collectivism (D=1) Developers Buy-in (D=4) Empowerment of Developers (M=2,D=3) Motivation of Developers (D=6) Managers Trust to Developers (M=4,D=1) Developers Buy-in (D=2) Existence of Coding Standards (A=1) Developers Buy-in (M=1,D=2) Managers Buy-in (M=5) Availability of Knowledge Sharing Tools (A=1) Developers Buy-in (D=1) Managers Buy-in (M=1) Ability to change and improve process (M=3,D=3)
Collaborative Planning
Figure12.OrganizationalCharacteristicsAssessedforAgilePracticesinLevel1
59
Thefundamentaldifferencebetweenlimitingandnonlimitingagilepracticesisthe issue of whether the organization has control over changing the characteristics needed for the adoption of that agile practice. With limiting agile practices, the organizationdoesnothavetheabilitytochangethesecharacteristicsand,therefore, they limit the highest level of agility the project can reach. However, with non limitingpractices,theorganization canchangethem.Therefore,thefocusbecomes determining if the current state of these characteristics can support adopting the agile practice or not. Since they are nonlimiting, if the assessment results show thesecharacteristicsarenotinastatetosupporttheadoptionofanagilepractice, the organization can strengthen and change these organizational characteristics untiltheyarereadytoaccommodatetheagilepractice. AssessingtheOrganizationsReadiness Givenanidentifiedproject,thefirststepistodeterminethesetofagilepracticesor CandidatePracticestheorganizationaspirestoadopt.Tosavetimeandcostduring thisassessmentstage,insteadofassessinghowreadytheorganizationistoadoptall the agile practices in the SAMI, the set of candidate practices consist of only the practices within the target agile level of the project and the levels below that. For example, if the target agile level for a project is Agile Level 3, then the set of candidatepracticescomprisesallthepracticesinAgileLevels1,2and3.Theseare candidatepractices,becausetheyarethepracticesthattheproject wantstoadopt, but is waiting for the results of the organizational readiness assessment to determine which ones the project can actually adopt. Once the assessor has identifiedthecandidatepractices,heorsheusestheindicatorsassociatedwitheach agilepractice(seeChapter4)todeterminetheextenttowhichtheorganizationis readytoadoptthatpractice.Figure12showstheorganizationalcharacteristicsthat theassessorneedsinordertoassesstheagilepracticesinLevel1.Theassessoruses multipleindicatorstoassesseachoftheseorganizationalcharacteristics.Theresults foreachofthesecharacteristicsareaggregatedtogetherusinganapproachinspired
60
bytheEvaluationEnvironment[10]andareplottedinatablesimilartotheonein Figure13. Figure 13 shows the table resulting from the organizational assessment stage that depictstheachievedlevelofeachorganizationalcharacteristic.Thehighestlevelof aggregation for the indicators is that of the organizational characteristic. If the results were aggregated up to the level of the agile practice, the results would be useless. Knowing that an organization is partly ready for an agile practice is not beneficial. However, keeping the level of aggregation at the characteristic level is beneficial to executives and decision makers, because it draws attention to the characteristicsoftheorganizationthatmightcausetheadoptionofapracticetofail.
Figure13.OrganizationalReadinessAssessmentResults
As in the project level assessment, determining the highest agile level an organizationiscapableofachievingisdependentontheorganizationsreadinessto adoptthepracticesinthatagilelevel.Iftheorganizationalcharacteristicsneededfor a practice are found to be not achieved or only partially achieved, this finding indicates that the organization is not ready to adopt that practice. As a result, the highest level of agility the organization can reach becomes the level at which a 61
3.6. Stage4:Reconciliation
Followingtheorganizationalreadinessassessment,theagilelevelachievablebythe organizationisknown.Priorto that,Stage2hadidentifiedtheagilelevelthatthe project aspires to adopt. Therefore, the final step, reconciliation, is necessary to determinetheagilepracticestheprojectfinallyadopts.Inessence,duringthisstage theassessoranalyzestheresultsoftheorganizationalassessmentandmakesaset of recommendations to the organization on how to proceed, especially if the organizationsreadinesslevelislessthantheprojecttargetlevel. Figure14illustratestheactivitiesofthisstage.Asimplegapanalysisexaminesthe differencebetweentheorganizationalreadinesslevelandtheprojecttargetlevel.If thereisnogap,meaningthattheorganizationisreadytoachievetheprojectstarget agilelevel,thentheorganizationhassuccessfullyidentifiedthesetofagilepractices toadopt.Howeverifthereisagapbetweentheorganizations readinessleveland theprojectstargetlevel,thenreconciliationisneeded.Asexplainedindetaillater, the reconciliation phase will either recommend the strengthening of weak organizational elements or to adopt those practices the organization is ready for, even though the project wont be operating at its full agile potential. During Stage 4 the differences between the projects target agile level and the organizations readiness level are resolved to determine the final set of agile
62
practices to be adopted/employed. Three different scenarios are possible during thisstage: Organization Readiness Level is higher than the Project Target Level:Thiscaseis depicted conceptually in Figure 15. No reconciliation is needed and all the practices within the projects agile level and below become the chosen agile practices for adoption. This scenario rarely occurs, because the project environmentisusuallycontainedwithintheorganization.
Introduce or strengthen the missing or weak organizational characteristics
Customers Management
Yes
Gap Analysis
Gap
No Gap
No
Choose only the agile practices the organization is ready for
Project Management
Figure14.Stage4:Reconciliation
63
Figure15.Reconciliation(Organization>Project)
Organization Readiness Level = Project Target Level: This case is depicted conceptually in Figure 16. No reconciliation is needed and all the practices withintheprojectsagilelevelandbelowbecometheagilepracticeschosenfor adoption.Thisistheidealcase,becausetheprojectisachieving100%ofitsagile potential.