• Like
Transitioning to Agile
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Transitioning to Agile

  • 271 views
Published

 

Published in Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
271
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
32
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. © Mountain Goat Software, LLCMike CohnPresidentMountain Goat SoftwareLafayette, Coloradomike@mountaingoatsoftware.comTransitioning to AgileA Guide to Good Practices in Context1
  • 2. Founding member anddirector of Agile Alliance,Scrum Alliance, and AgileProject LeadershipNetworkFounder of MountainGoat SoftwareConsultant, author,and speakerMike Cohn - background© Mountain Goat Software, LLC2
  • 3. © Mountain Goat Software, LLCThe twelve things you must do1. Dispense with predictability2. Treat the transition as a project3. Use a congruent approach4. Pick the right project5. Get the right people on (and off) the project6. Start development with a beachhead team7. Overcome resistance8. Have a customer9. Engage the change agents10.11.Don’t try it all at once12.Follow a guide3
  • 4. © Mountain Goat Software, LLCHow we traditionally view our organizationsBehavior is highly predictableOnce set in motion, will continue in motionPredictableAn organization change strategy can bemapped out:And we’ll end up right where I predictDispense with predictability14
  • 5. © Mountain Goat Software, LLC“This machine imagery [Newtonian view]leads to the belief that studying the parts isthe key to understanding the whole.Thingsare taken apart, dissected literally oris that the more we know about theworkings of each piece, the more we willlearn about the whole.”~Margaret Wheatleyin Leadership and the New Science5
  • 6. © Mountain Goat Software, LLCIs it top down or bottom up?Two simplistic views of transitioning to agile:Top downPowerful leader shares a visionBottom-upnew approachBut, transitioning to agile is neither top-downnor bottom-upIt’s everywhere, all together, all-at-once6
  • 7. © Mountain Goat Software, LLCWhat we do on projectsOn projects we learn we cannot precisely anticipate:our users’ requirementshow long it will take to develop a feature or entire systemwhich design will be bestthe set of tasks necessary to develop a featureSo we devise alternative approachesRather than ask for upfront specs, we deliver partialsolutions, solicit feedback, and repeatRather than design the whole system, we designincrementally and adjust based on what we learnWe need to do the same for the transition effort7
  • 8. © Mountain Goat Software, LLCTreat the transition as aproject2Establish an “Agile Transition Team” (“AgileAdoption Team,” etc.)Who?Sponsor—senior person responsible for successArea managers or leads who can make it happenMeet weeklyRun monthly iterations managing work from aTransition Backlog8
  • 9. © Mountain Goat Software, LLCStocking the transition backlogBrainstorm needed activities within these broadcategories1. Establish a sense of urgency2. Create a vision3. Communicate the vision4. Empower others to act5. Plan for, support and create short-term wins6. Consolidate improvements7. Inspect and adaptRef: John Kotter, Leading Change, 1996.9
  • 10. © Mountain Goat Software, LLCAn example transition backlogDecide how pervasive to go with Scrum—softwaredevelopment only or full companyAllIdentify which issues Scrum can solve or help with. DFSet expectations that it will hurt. MCTCIdentify other groups/functions that will be affected. MC, DFIdentify needed organizational changes—reporting,reviews, compensation, career paths, etc.Determine how we’ll communicate progressAre there agile project management tools we shoulduse?10
  • 11. © Mountain Goat Software, LLCUse a congruent approach3Part of the move toagile is a move toself-organizing teamsMoving to self-organization requiresself-organization“You will self-organize!”11
  • 12. © Mountain Goat Software, LLCPre-requisites of self-organizationA boundary within which self-organization occursCompany, project, team, city, role, nationalityContainerThere must be differences among the “agents” actingin our systemTechnical knowledge, domain knowledge, education,experience, power, genderDifferencesTransforming ExchangesAgents in the system interact and exchange resourcesInformation, money, energy (vision)Glenda Eoyang: Conditions for Self-Organizing in Human Systems12
  • 13. © Mountain Goat Software, LLCUsing the CDE modelWhen stuck thinking about how to nudge theorganization think of the:Containersformal teams, informal teams, clarify (or not)expectationsDifferencesDampen or amplify them within or between containersExchangesInsert new exchanges, new people, new techniques ortools13
  • 14. © Mountain Goat Software, LLCPick the right projectDurationSizeImportanceA businesssponsorPick this project414
  • 15. © Mountain Goat Software, LLCSizeSomething that can be startedwith one teamScale up the team using theprinciples shown laterProbably no more than 1-5 teamson initial projectProbably can’t scale any higherduring a medium length projectanyway15
  • 16. © Mountain Goat Software, LLCDurationPick a project with a mediumdurationProbably 2-4 monthsMedium for your organization will bedifferent from mineDon’t want too shortWon’t prove as much“It only works on small projects”Don’t want too longWant to see value quickly16
  • 17. © Mountain Goat Software, LLCA business sponsorPick a project that has abusiness sponsor who willengage because:You’ll need a business-side allychance of doing it againbusiness sponsor is to start withone willing to be involvedPick one who embraces agile17
  • 18. © Mountain Goat Software, LLCImportancePick an important projectbecause:People don’t change behaviorunless they need toIt will be hard to stick with it unlessthe project is importantDon’t pick one that is too riskyBut if you pick a trivial projectthe results will be dismissedYou can startin the middleof a project18
  • 19. © Mountain Goat Software, LLC“Don’t start with an initial ‘learningproject’ that is of marginal importance.Start on a project that is absolutely criticalto your company; otherwise it will be too[agile] will ask of you.”~Jim Highsmith in Adaptive SoftwareDevelopment Ecosysmtems19
  • 20. © Mountain Goat Software, LLCThe ideal projectHas an active, engaged business sponsorIs critical to your organizationWould likely or possibly fail if done in thestatus quo mannerCan start with 1 teamWill grow to no more than 5 teamsLasts “a handful of months”20
  • 21. © Mountain Goat Software, LLCGet the right people on (andoff) the projectBe aware that there are typically two teams5The project teamThe transition team21
  • 22. © Mountain Goat Software, LLCThe project teamThe project team shouldBe cross-functional / multi-disciplinaryInclude opinion leadersBoth favorably disposed toward and opposed to agileInclude evangelistsInclude those who’ve done it before (elsewhere)Include a range of perspectives22
  • 23. © Mountain Goat Software, LLCThe transition teamResponsible for guiding a transition to agileSometimes this is implicitly the same team as the projectteam“if you do well, we’ll all switch”Think aboutWho has the power to make or break the transition toagile?Who controls critical resources or expertise?How will each be affected?How will each react?23
  • 24. © Mountain Goat Software, LLCWho will gain or lose something by the transition toagile?Are there blocs likely to mobilize against or insupport of the transition?teams’ opinions and results are taken seriously?Can team members put their personal interestsaside in favor of the organizational goal?Additional transition teamconsiderations24
  • 25. © Mountain Goat Software, LLCWho should not be onthese teamsPeople with big egosDon’t understand their own limitationsSnakesSomeone who poisons relationships among teammembersReluctant participantsLack time or enthusiasmBut may have needed expertise or political clout25
  • 26. © Mountain Goat Software, LLCStart development with abeachhead team6Cannot start effectively if focus is spread toothinGive them the early infrastructural tasksTheir goal is to build enough of and the rightparts of the system so that other teams can beadded26
  • 27. © Mountain Goat Software, LLCTwo approaches to expandingStart with 1-3 teams and get them successfulSplit those teams up and use members toseed new teamsRepeatSplit and seed1Start with 1-3 teams and get them successfulKeep teams togetherSelect 1-2 coaches from those teamsUse them to advise new teamsAttend planning meetingAttend 2 daily scrums per weekSpend 4 hours with the team per sprintInternal coaching227
  • 28. © Mountain Goat Software, LLCOvercome resistance7Sell the problem, not the solutionNo one wants a solution to a problem they don’t(think they) haveBe open to hearing better solutions than you haveCommunicate why the change and why nowPut team members in touch with customersLet them hear the problems you are hearing28
  • 29. © Mountain Goat Software, LLCDisposition to Change ContinuumGenerally deliberate, disciplinedand organizedPrefer change that maintainscurrent structureEnjoy predictabilityMay appear cautiousFocus on details and routineConserversMay appear unorganized,undisciplined, unconventionalPrefer change that challengesthe current structureWill challenge assumptionsEnjoy risk and uncertaintyLittle regard for policiesOriginatorsPrefer changes that emphasizes workableoutcomesMore focused on results than structureOpen to both sides of an argumentOperate as mediatorsAppear more team orientedPragmatistsFrom: Harvard BusinessEssentials: ManagingChange andTransition29
  • 30. © Mountain Goat Software, LLCBalkanPeninsulaAppleComputerCompanieswith lots ofcontractorsMicrosoftin 1995Extent to which people agree on cause and effectNo consensus Broad consensusExtenttowhichpeopleagreeonwhattheywantNoconsensusBroadconsensus“Tools of Cooperation and Change,” Christensen et al., Oct. 2006.30
  • 31. © Mountain Goat Software, LLCPowerToolsCultureToolsManagementToolsLeadershipToolsExtent to which people agree on cause and effectNo consensus Broad consensusNoconsensusBroadconsensusExtenttowhichpeopleagreeonwhattheywant31
  • 32. © Mountain Goat Software, LLCPowerToolsCultureToolsManagementToolsLeadershipToolsExtent to which people agree on cause and effectNo consensus Broad consensusNoconsensusBroadconsensusCharismaSalesmanshipRole modelingVisionNegotiationFiatCoercionThreatsFolkloreRitualTraditionReligionDemocracyApprenticeshipStrategic planningFinancialincentivesHiring &promotionTrainingStandardsMetricsprogramsExtenttowhichpeopleagreeonwhattheywant32
  • 33. © Mountain Goat Software, LLCHave a customer8To succeed you need a CustomerProduct OwnerCustomer TeamWhatever you want to call it, you need oneDoesn’t have to “sit with the team”But set your targets around the level ofinvolvement you’ll get33
  • 34. © Mountain Goat Software, LLCCustomerInvolvementTimeCustomerInvolvementTimeAgile processes don’t require more customer involvementthan a successful project with another processBUTthe involvement is spread throughout the project.Customer involvementTraditional Agile34
  • 35. © Mountain Goat Software, LLCEngage the change agents9Change agents...help others see problems and address themarticulate the need for a changeare accepted as trustworthy and competentcan see and diagnose problemsmotivate people to changework through others to translate intent intoaction35
  • 36. © Mountain Goat Software, LLCIdentifying change agentsFind out who people listen toThese may not be people with formal authorityLook for people who think differentlyConsider new employees or others who maynot be infected with a common mindset yetConsider people with different backgroundsThe programmer with the art history degree36
  • 37. © Mountain Goat Software, LLC10The three most important words in agile:Whole team gathers and discusses what they’dlike to:Inspect and AdaptContinue doingStop doingStart doing37
  • 38. © Mountain Goat Software, LLCA start, stop, continue listStartStopContinueShowing the software to customers earlySpecifying acceptance tests early and withcustomersDoing code inspectionsGetting FitNesse into the nightly buildsTrying to finish one story before moving to thenextBeing disrespectful of QAMaking progress with the canonical databaseEmphasizing test automation38
  • 39. © Mountain Goat Software, LLCDon’t try it all at once11Don’t try to do everything all at onceStart with the agile practices that seem mostvaluable in your contextPut other practices on your Transition BacklogPrioritize them in as you goUse Start/Stop/Continue meetings as a guide39
  • 40. © Mountain Goat Software, LLCMy preferred sequenceRequirements as userstoriesFoundational skills(testing and OOD/P)Estimate and createrelease planNightly or continuousbuild with tests40
  • 41. © Mountain Goat Software, LLCFollow a guide12Follow the advice of someone who has beenthere, done thatAn employeeA contractorOutside mentor / coachTrainBetter design skills, unit testing and test automation,agile project management, estimating and planningCan save you from many mistakes41
  • 42. © Mountain Goat Software, LLCCommon sense?So try one-week iterations until you’ve masteredthat.Two weeks will then be a breeze.“We’re having trouble deliveringSo use smaller cards.“There’s not enough room towrite requirements on cards.”So do it more often until you become so good atit that’s it not painful.“Integrating is painful.”42
  • 43. © Mountain Goat Software, LLCThe role of consultants andemployees in change programsConsultant Involvement Employee InvolvementDiagnosis CapabilitiesAssessmentStrategyDevelopmentImplementationFrom: Harvard Business Essentials:Managing Change andTransition43
  • 44. © Mountain Goat Software, LLCMike Cohn contact infomike@mountaingoatsoftware.comwww.mountaingoatsoftware.com(303) 810-2190 (mobile)44