• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ADAPTing to Agile for Continued Success

ADAPTing to Agile for Continued Success



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

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



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    ADAPTing to Agile for Continued Success ADAPTing to Agile for Continued Success Presentation Transcript

    • © 2009 Mountain Goat Software© Copyright Mountain Goat Software®ADAPTing to AgileforContinued SuccessAgile 2010 - OrlandoAugust 13, 2010Mike Cohnmike@mountaingoatsoftware.com1
    • © Copyright Mountain Goat Software®®Expectations2
    • © 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
    • © 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
    • © Copyright Mountain Goat Software®®2005200920102.4M6M10MLines of Code in FordVehicles100M Averageluxury car20M Navigation systemin 2009 S-ClassMercedes5
    • © 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
    • © 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
    • © Copyright Mountain Goat Software®®Salesforce.com+61%+94%+38%+568%Improvement 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
    • © 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
    • © 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
    • © 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 http://www.infoq.com/presentations/10-tips-for-agile-transitionsImprovements using Extreme Programming11
    • © 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
    • © Copyright Mountain Goat Software®®It’s not about strict adherenceMeet dailyTest firstIntegratecontinuouslyInspectandAdapt13
    • © 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, http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html3Jeff Sutherland, http://scrumjeffsutherland.blogspot.com/2009/12/jeff-sutherland-google-dec-14-2009.html.14
    • © 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
    • © 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
    • © 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
    • © Copyright Mountain Goat Software®®But these are inappropriate measures ofsuccessAgile is not something you become,it’s something you become more of.18
    • © Copyright Mountain Goat Software®®Becoming more than you areI’m moreused to beYou’re moreamShe is19
    • © Copyright Mountain Goat Software®®Succeeding with agileSuccess in agile is about becoming betterthan we wereStop obsessing over being perfect20
    • © Copyright Mountain Goat Software®®How do we get there?We raise the bar on one another21
    • © Copyright Mountain Goat Software®®Raising the bar–slowly but steadily22
    • © Copyright Mountain Goat Software®®23
    • © Copyright Mountain Goat Software®®Continuing to raise the bar on one another24
    • © Copyright Mountain Goat Software®®This idea used tobother me25
    • © Copyright Mountain Goat Software®®It’s still about continuous improvement26
    • © 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
    • © 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
    • © 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
    • © 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
    • © 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
    • © 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
    • © Copyright Mountain Goat Software®®AbilityProvide coaching and trainingHold individuals accountableShare informationSet reasonable targetsJust do itPromotePublicize success storiesHost an agile safariAttract attention33
    • © 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
    • © Copyright Mountain Goat Software®®Iterating toward agility35
    • © Copyright Mountain Goat Software®®Enterprise Transition Community(ETC)ImprovementbacklogImprovement CommunitiesImprovementbacklogImprovementbacklogImprovementbacklogImpedimentsEnergy, suppport, resources,guidance, & direction (occasionally)Iterating toward agility36
    • © 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
    • © 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
    • © 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
    • © 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
    • © 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
    • © 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
    • © 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
    • © 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
    • © Copyright Mountain Goat Software®®Mike Cohnmike@mountaingoatsoftware.comwww.mountaingoatsoftware.comtwitter: mikewcohn(888) 61−AGILE45