ADAPTing to Agile for Continued Success


Published on

Certified Scrum trainer and author Mike Cohn explores what comes after you’ve implemented agile development, and how to improve through the ADAPT process.

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

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

No notes for slide

ADAPTing to Agile for Continued Success

  1. 1. © 2009 Mountain Goat Software© Copyright Mountain Goat Software®ADAPTing to AgileforContinued SuccessAgile 2010 - OrlandoAugust 13, 2010Mike Cohnmike@mountaingoatsoftware.com1
  2. 2. © Copyright Mountain Goat Software®®Expectations2
  3. 3. © Copyright Mountain Goat Software®®The OO-Agile connectionAgile is the second wave of objectsThis is why so many Manifesto authors wereearly OOD / OOP advocates:Kent BeckAlistair CockburnWard CunninghamBob MartinDave Thomasetc.3
  4. 4. © Copyright Mountain Goat Software®®Looking back at OOSome said the OO revolution failed because:Objects didn’t achieve their full purposeBeing enamored with objects prevented usfrom looking for even better ways to buildsoftwareBusinesses were led to expect miraclesYet: Could today’s applications be writtenwithout objects?4
  5. 5. © Copyright Mountain Goat Software®®2005200920102.4M6M10MLines of Code in FordVehicles100M Averageluxury car20M Navigation systemin 2009 S-ClassMercedes5
  6. 6. © Copyright Mountain Goat Software®®Agile teams are 5–10x better.1What expectations do we have ofagile today that could lead us tolook back on it and call it a failure?There is a certain set of things youneed to do or you aren’t agile.2Becoming agile is easy.36
  7. 7. © Copyright Mountain Goat Software®®Very few teams have achieved the gains thatsome teams have shown are possibleExpectation #1:Agile is 5–10x betterWe can point to 5x and 10xsuccess storiesThese are the companiesthat did everything rightBut these aren’t the norm7
  8. 8. © Copyright Mountain Goat Software®® in mean time torelease for major releasesIncrease in features deliveredin major releasesIncrease in features deliveredper developerIncrease in major releasecumulative valueSource: Scrum Gathering,April 16, 2008.8
  9. 9. © Copyright Mountain Goat Software®®Defects per KNCSSePlan Services10Three years priorto introducing agile2.9First nine monthsafter starting agileProductivity (NCSS / month)270US average389Three years priorto introducing agile1206First nine monthsafter starting agile9
  10. 10. © Copyright Mountain Goat Software®®Cosmodemonic BiotechWaterfall AgileUse Case pagesUser StoriesCalendar monthsPerson monthsLines of Java codeLines of Java codeper person-month3,0001,4009 12540 5458,000 51,000120 84010
  11. 11. © Copyright Mountain Goat Software®®Pre-XP XP ImprovementCostScheduleDefects$2.8million$1.1million61%18 months13.5months24%2,270 381 83%18 11 39%Source:“10 Tips for Successful Agile Transitions,” Joshua Kerievsky, QCon 2007.At using Extreme Programming11
  12. 12. © Copyright Mountain Goat Software®®Many teams miss the markEither don’t do “all” of agile or don’t do it well“We do Scrum, but…”“we do 3-month sprints.”“we don’t have anythingshippable at the end ofeach sprint.”“we do testing in aseparate sprint.”Expectation #2:Agile is “this” set of things12
  13. 13. © Copyright Mountain Goat Software®®It’s not about strict adherenceMeet dailyTest firstIntegratecontinuouslyInspectandAdapt13
  14. 14. © Copyright Mountain Goat Software®®Expectation #3: Doing agile is easyMost claims are realistic“Although agile processes promise greater productivity oncein place, productivity may decrease during the transition whilethe team learns new techniques.” 1“Mastery” in two days“Maybe we need to say,‘Agile is hard, and you can’t master itby sitting through a two-day course.’” 2But there are some promises of miracles:“Current research shows that any team can achieve hyper-productivity in a few sprints, even in a dysfunctionalcompany.”31Cohn and Ford,“Introducing an Agile Process to an Organization,” IEEE Computer, June 2003.2James Shore, Sutherland,
  15. 15. © Copyright Mountain Goat Software®®Project SizeProductivitySmaller LargerLowerHigher+/- 1 Standard deviationIndustry averageAgile projectsSo let’s see what the truth isMah, Michael. 2008.“How agile projects measure up, and what this meansto you.” Cutter Consortium15
  16. 16. © Copyright Mountain Goat Software®®Mah, Michael. 2008.“How agile projects measure up, and what this meansto you.” Cutter ConsortiumAgile projectsProject SizeTime-to-MarketSmaller LargerLowerHigherIndustry average+/- 1 Standard Deviation16
  17. 17. © 2009 Mountain Goat Software© Copyright Mountain Goat Software®®Will agile continue to “fail” against theseexpectations?Of course, if that meansNot all companies become5–10x betterBeing done half-heartedlyin some placesIt will continue to be hard to do17
  18. 18. © Copyright Mountain Goat Software®®But these are inappropriate measures ofsuccessAgile is not something you become,it’s something you become more of.18
  19. 19. © Copyright Mountain Goat Software®®Becoming more than you areI’m moreused to beYou’re moreamShe is19
  20. 20. © Copyright Mountain Goat Software®®Succeeding with agileSuccess in agile is about becoming betterthan we wereStop obsessing over being perfect20
  21. 21. © Copyright Mountain Goat Software®®How do we get there?We raise the bar on one another21
  22. 22. © Copyright Mountain Goat Software®®Raising the bar–slowly but steadily22
  23. 23. © Copyright Mountain Goat Software®®23
  24. 24. © Copyright Mountain Goat Software®®Continuing to raise the bar on one another24
  25. 25. © Copyright Mountain Goat Software®®This idea used tobother me25
  26. 26. © Copyright Mountain Goat Software®®It’s still about continuous improvement26
  27. 27. © Copyright Mountain Goat Software®®Awareness that there is room forimprovementADesire to changeDAbility to work in an agile mannerAPromote early successes to buildmomentum and get others to followPTransfer the impact of agile throughout theorganization so that it sticksT27
  28. 28. © Copyright Mountain Goat Software®®“I’m the ScrumMaster and ......the developers are not meeting expectations forcode quality.One of our challenges is that we’re still hackingour way through lots of legacy code that isn’t unit-testable or automated yet.This code is mission-critical and the person who has been workingmostly on that area of code consistently leavesholes in the design and implementation of newpieces of that code.How can I get her to write high-quality code withautomated tests?”28
  29. 29. © Copyright Mountain Goat Software®®Individual and group changeAll individuals will need to move through theAwareness, Desire, and Ability stageBut will do so at different ratesEarly adapters and leaders:Use the Promote stage to build Awarenessand Desire in later adoptersNeed to Transfer the impact of agile to groupslike Human Resources or the transition willfail29
  30. 30. © Copyright Mountain Goat Software®®Tools for building...AwarenessCommunicate that there’s a problemUse metricsProvide exposure to new people and experiencesFocus attention on the most important reason ortwo for changing30
  31. 31. © Copyright Mountain Goat Software®®Tools for building...DesireCommunicate that there’s a better wayCreate a sense of urgencyBuild momentumGet the team to take agile for a test driveAlign incentives (or, at least, remove disincentives)Focus on addressing any fearsHelp people let goDon’t discredit the pastEngage everyone in the transition31
  32. 32. © Copyright Mountain Goat Software®®WaterfallaciesMistaken beliefs or ideas about agile createdfrom working too long on waterfall projects.ExamplesAgile ignores architecture,which would be disastrous forthe type of system we build.Agile is OK for simplewebsites, but our system is toocomplicated.Our team is spread around theworld, and agile requires face-to-face communication.32
  33. 33. © Copyright Mountain Goat Software®®AbilityProvide coaching and trainingHold individuals accountableShare informationSet reasonable targetsJust do itPromotePublicize success storiesHost an agile safariAttract attention33
  34. 34. © Copyright Mountain Goat Software®®TransferTransfer the effects of agile beyond the current groupA team transfers to its departmentA department transfers to its divisionetc.If you don’t transfer, the transition will eventually andinevitably failToo much organizational gravity pulling us back toward thestatus quoExample:If you don’t align promotions, raises, annual reviews, thosewill work against you34
  35. 35. © Copyright Mountain Goat Software®®Iterating toward agility35
  36. 36. © Copyright Mountain Goat Software®®Enterprise Transition Community(ETC)ImprovementbacklogImprovement CommunitiesImprovementbacklogImprovementbacklogImprovementbacklogImpedimentsEnergy, suppport, resources,guidance, & direction (occasionally)Iterating toward agility36
  37. 37. © Copyright Mountain Goat Software®®Enterprise Transition Community (ETC)Creates a culture in which passion anddesire to improve can thriveDoes not direct the transition effortProvides energy, resources, support andguidanceRemoves organizational impediments to agilityEncourages Improvement Communities toform37
  38. 38. © Copyright Mountain Goat Software®®ETC membersSponsorFrom highest level at which change issupportedNot a checkbook-only commitmentOthersFrom any level but driven by desire toimproveDisbands when the “transition” part ofadopting agile is over38
  39. 39. © Copyright Mountain Goat Software®®ETC responsibilitiesArticulate the reasons for adopting agileStimulate conversationProvide resourcesEngage everyoneSet appropriate aspirationsAnticipate and address people issues and otherimpedimentsEncourage simultaneous focus on practices andprinciples39
  40. 40. © Copyright Mountain Goat Software®®An ETC’s improvement backlogItem Who Noteteams can get help.Jim (CTO) to talk this up atmonthly development meeting.Let’s see if there’s any interest.Establish an internal programfor developing ScrumMasters.How do we identify goodinternal candidates? How do wedevelop them?Collect and disseminate Scrumsuccess stories in our company.SCSavannah has expressed interestin this.Resolve dispute with facilitiescubicles.JS Jim to talk to Ursula in facilitiesGet more teams to docontinuous integration.ARArie will summarize metricsfrom his project and see howmany teams he can motivate.40
  41. 41. © Copyright Mountain Goat Software®®Improvement communities (ICs)Form around the passion of a small numberof peopleExpand from thereDo the real work of improving how theorganization implements agileFocus on goals with practical relevanceExamples:ScrumMaster,Testing, Product Owner,Continuous Integration41
  42. 42. © Copyright Mountain Goat Software®®Working with an ICAn IC works with a project teamWork is not done in an ivory towerMost ICs work in 2–4-week iterationsDisband or refocus when goal has beenachieved42
  43. 43. © Copyright Mountain Goat Software®®ETC ImprovementBacklog…Establish an internalprogram for developingScrumMasters.…Not everything on anIC’s improvementbacklog needs to tieback to the ETC’sbacklogAn IC Improvement BacklogFigure out how to identify goodcandidates to become ScrumMasters (inaddition to those who ask to participatein this program).Establish an internal mentoring program.Develop some internal classroomtraining.Which courses? Who can teachthem? Can we license courses?Get budget for next year for externalcoaching. How many days? At whatexpected daily rate?43
  44. 44. © Copyright Mountain Goat Software®®improvement backlogpassionate people to attack improvementbacklog itemsReturn here next year more agile than youare todayLet’s see how soon we can make it “softwaredevelopment” instead of “Agile SoftwareDevelopment”123444
  45. 45. © Copyright Mountain Goat Software®®Mike Cohnmike@mountaingoatsoftware.comwww.mountaingoatsoftware.comtwitter: mikewcohn(888) 61−AGILE45