ADAPTing To Agile: A Guide To Transitioning

Transcription

ADAPTing to Agile:A Guide to TransitioningMike CohnNovember 10, 20081Mike Cohn - background Sunday, November 9, 2008 2003–2008 Mountain Goat Software 2

Topics today.1. Why transitioning to agile is hard2. ADAPTing to agile development3. A framework for transitioning4. The role of leadership5. Patterns of agile adoption 2003–2008 Mountain Goat Software 3 2003–2008 Mountain Goat Software 4Sunday, November 9, 2008

Change is not top-down or bottom-up;it’s both Two simplistic views of change: Top down Powerful leader shares a visionBottom-up A team starts and everyone else sees the benefits of thenew approachBut, transitioning to agile is neither top-downnor bottom-up It’s everywhere, all together, all-at-once 2003–2008 Mountain Goat Software 5Best practices are tempting It is tempting to codify things that work in a givencontext into best practices This leads to inflexible processes†Once we know what’s “best” we stop adapting Or even thinking about what we’re doingOnce we’ve stopped inspecting and adapting we’renot agile, or won’t be for long†Source: Anderson, P. “Seven Layers for Guidingthe Evolving Enterprise” in The Biology of Business. Sunday, November 9, 2008 2003–2008 Mountain Goat Software 6

The transition process must be congruentwith the development process 2003–2008 Mountain Goat Software 7Organizations are unpredictable, livingsystems Traditional view of the organization is as amachine We can dissemble it, study its part, put it backtogether Once we set it in motion, it will continue inmotion Sunday, November 9, 2008 2003–2008 Mountain Goat Software 8

The leads to a flawed view oforganizational change 2003–2008 Mountain Goat Software 9We need a different mental model The organization as a Complex AdaptiveSystem (CAS) A dynamic network of many agents acting in parallel acting and reacting to what other agents are doing Control is highly dispersed and decentralized Overall system behavior is the result of a hugenumber of decisions made constantly by many agentsJohn Holland in Complexity: The Emerging Science atthe Edge of Order and Chaos by Mitchell Waldrop Sunday, November 9, 2008 2003–2008 Mountain Goat Software 10

Local goals and gaps Local agents (individuals, project teams,discipline coworkers) identify local gaps basedon their local Localactions 2003–2008 Mountain Goat Software 11Differing views of successNewtonian viewSuccess closing the gap with thedesired stateCAS viewSuccess achieving a good fit withthe environment Sunday, November 9, 2008 2003–2008 Mountain Goat Software 12

Each paired statement below and on the next slidedescribes either the traditional or CAS view of howto change an organization Put an X in the appropriate column to indicate whichdescribes the traditional view and which the CAS viewBehavior is predictable and controllableBehavior is unpredictable and uncontrollableTraditionalCAS viewview Direction is determined through emergenceand by many peopleDirection is determined by a few leaders.Every effect is also a causeEvery effect has a cause 2003–2008 Mountain Goat Software 13TraditionalCAS viewviewRelationships are directiveRelationships are empoweringResponsiveness to the environment is themeasure of valueEfficiency and reliability are measures of valueDecisions are based on facts and dataDecisions are based on patterns and tensionsLeaders are experts and authoritiesLeaders are facilitators and supporters Sunday, November 9, 2008 2003–2008 Mountain Goat Software 14

Discuss these questionsLooking back on the previous two slides, circle theitem in each pair that is most closely aligned withagile.Are those views the predominant views in yourorganization today?If not, what problems do you expect to encounterwhile transitioning? 2003–2008 Mountain Goat Software 15 2003–2008 Mountain Goat Software 16Sunday, November 9, 2008

Awareness that the current approachisn’t workingDesire to changeAbility to work in an agile mannerPromote early successes to buildmomentum and get others to followTransfer the impact of agile throughoutthe organization so that it sticks 2003–2008 Mountain Goat Software 17I’m the ScrumMaster and.the developers are not meeting expectations for codequality. One of our challenges is that we’re still hackingour way through lots of legacy code that isn’t unittestable or automated yet, but is mission critical and theperson who has been working mostly on that area ofcode consistently leaves holes in the design andimplementation of new pieces of that code. We alsohave the issue with at least one other developer as well. Sunday, November 9, 2008 2003–2008 Mountain Goat Software 18

Individual and group change All individuals will need to move through theAwareness, Desire, and Ability stages But will do so at different rates Use the Promote stage to build Awareness andDesire in later adopters Need to Transfer the impact of agile to groups likeHuman Resources or the transition will fail Early adopters and leaders: 2003–2008 Mountain Goat Software 19Tools for building.Awareness Communicate Establish a vision Narrow the focus Metrics Run a pilot Sunday, November 9, 2008 2003–2008 Mountain Goat Software 20

2003–2008 Mountain Goat Software 21 2003–2008 Mountain Goat Software 22DesireAbility Sunday, November 9, 2008

PromoteTransfer 2003–2008 Mountain Goat Software 23Stop! My thoughts on desire,ability, transfer and promoteare on the following pages. You don’t want to see thembefore you think about yourown. Sunday, November 9, 2008 2003–2008 Mountain Goat Software 24

Tools for building.Desire A clear vision (again) Share examples of success Public praise for the right behavior Align incentives Turn the transition over to individuals Build momentumAbility Pairing (of all sorts) Bring in outside coaches Develop your own internal coaches Formal training Practice 2003–2008 Mountain Goat Software 25Promote Celebrate and share even small, early wins Goal is to build momentum Want a feeling of inevitability around the transition Reduce upcoming resistance before it starts Send people on an agile safari Attract attention and interest Sunday, November 9, 2008 2003–2008 Mountain Goat Software 26

Transfer Transfer the effects of agile beyond thecurrent group A team transfers to its department A department transfers to its division etc. If you don’t transfer, the transition willeventually and inevitably fail Too much organizational gravity pulling us backtoward the status quo Example: If you don’t align promotions, raises, annualreviews, those will work against you 2003–2008 Mountain Goat Software 27 2003–2008 Mountain Goat Software 28Sunday, November 9, 2008

On projects we learn we cannot precisely anticipate: our users’ requirementshow long it will take to develop a feature or entiresystemwhich design will be bestthe set of tasks necessary to develop a featureSo we devise alternative approaches: Rather than ask for upfront specs, we deliver partialsolutions, solicit feedback, and repeat Rather than design the whole system, we designincrementally and adjust based on what we learn 2003–2008 Mountain Goat Software 29An agile transitionprocess n wrapProductTransitionbacklogIterationbacklog Sunday, November 9, increment 2003–2008 Mountain Goat Software 30

Decide how pervasive to gowith agile—developmentAllonly or full companyIdentify which issues agileDFcan solve or help with.Transitionbacklog Discussprogress Removeimpediments 2003–2008 Mountain Goat Software 31Establish a “guiding coalition” Who? Sponsor—senior person responsible for success Area managers or leads who can make it happenUEDDBAQA Sunday, November 9, 2008PMO 2003–2008 Mountain Goat Software 32

Action teams Usually more than one at any time Each focused on a different goalOrganized around achieving specific organizational goals e.g., test automation or user experience designSome teams in an organization will be organic Individuals notice something needs to be achievedOthers will be formally-sponsored Guiding coalition puts someone in charge of achieving a goalthat hasn’t been picked up Usually best only if an organic team doesn’t form 2003–2008 Mountain Goat Software 33GuidingcoalitionMonthly iterations Iteration planning to identifytasks the action teams (andmembers of their deliveryteams) can make progress onWeekly cycle Like the daily standup A chance to synchronizework1 eachActionteams Sunday, November 9, 2008 2003–2008 Mountain Goat Software 34

Action team members Try to form these teams organically Possible with a point person to start the teamTrue product owner for the team is the guidingcoalitionBut this starting person acts as a combination dayto-day product owner and ScrumMaster Initial membership Start with 1-3 members who “get it”Ask each of those members to pick 1-2 more 2003–2008 Mountain Goat Software 35Action team memberconsiderations Think about Who has the power to make or break thetransition to agile?Who controls critical resources or expertise?How will each be affected?How will each react? Sunday, November 9, 2008 2003–2008 Mountain Goat Software 36

Additional considerations Who will gain or lose something by the transition toagile? Are there blocs likely to mobilize against or insupport of the transition? Do team members have sufficient credibility that theteams’ opinions and results are taken seriously? Can team members put their personal interestsaside in favor of the organizational goal? 2003–2008 Mountain Goat Software 37Your transition team1. Who might desperately want the transition to fail? Why? What might you to be able to do to prevent them fromsabotaging the change?2. Who might want to be on the transition team whoshouldn’t be on the team? Why?What hidden agendas will people bring to the transitionteam? What can you do to counter (or make use of) thosehidden agendas?What can you do to handle snakes who need to be on theteam? Sunday, November 9, 2008 2003–2008 Mountain Goat Software 38

2003–2008 Mountain Goat Software 39Leading an agile transition Transition team and other formal leaders mustlead the transition but cannot do so in the usual ways “Nudge” the organization; Poke and prod; Self-organizing groups still require leadership Lead through example, questions, and focusSee how the organization responds Sunday, November 9, 2008 2003–2008 Mountain Goat Software 40

Pre-requisites of self-organizationContainer A boundary within which self-organization occurs Company, project, team, city, role, nationalityDifferences There must be differences among the agents acting inour system Technical knowledge, domain knowledge, education,experience, power, genderTransforming Exchanges Agents in the system interact and exchange resources Information, money, energy (vision)Glenda Eoyang: Conditions for Self-Organizing in Human Systems 2003–2008 Mountain Goat Software 41Using the CDE model When stuck thinking about how to nudge theorganization think of the: Containers formal teams, informal teams, clarify (or not)expectationsDifferences Dampen or amplify them within or between containersExchanges Insert new exchanges, new people, new techniques ortools Sunday, November 9, 2008 2003–2008 Mountain Goat Software 42

Containers Enlarge or shrink teams Enlarge or shrink the responsibility boundaryof teams Change team membership Create new teams or groups 2003–2008 Mountain Goat Software 43Differences Don’t require consensus Creativity comes from tensionQuiet disagreement is not as good as fiercedebate that leads to behavior change Ask hard questions Then expect teams to find solutions Sunday, November 9, 2008 2003–2008 Mountain Goat Software 44

Transforming exchanges Encourage communication between teams andgroups Who isn’t talking that should? Change reporting relationships Add or remove people from exchangesRelocate people Encourage learning 2003–2008 Mountain Goat Software 45You are the ScrumMaster or project manager. The next set of slides describes some teams withsome trouble spots. Think about how you mighthelp them by changing their Containers, amplifyingor dampening Differences, or changing theirExchanges. For each case, identify at least one thing you’d do. Note whether you are tweaking their Container,Differences, or Exchanges. (You might be affectingmore than one.) Sunday, November 9, 2008 2003–2008 Mountain Goat Software 46

The team consists of four developers, two testers, adatabase engineer and you. The developers and testersare not working well together. Developers work inisolation until two days are left in the iteration. Theythen throw the code “over the wall” to the testers.The team is failing to deliver potentially shippablesoftware at the end of each iteration. None of theitems they start are 100% finished. Their close butwork is always left to be done in the next iteration. 2003–2008 Mountain Goat Software 47The team seems to be consistently undercommittingduring iteration planning. They finish the work theycommit but it doesn’t seem like much. The productowner hasn’t complained yet but you’re worried shewill soon.Your organization has 20 different agile teams. Eachteam has its own testers who are starting to go indifferent directions in terms of preferred tools andapproaches. Sunday, November 9, 2008 2003–2008 Mountain Goat Software 48

Jeff, a senior developer, is very domineering. Duringiteration planning the team defers to him on everydecision even though he is a horrible estimator. You noticethe glances that other team members exchange when hesuggests very low estimates on some tasks.You are responsible for two teams. Team members on onediscuss all sides of various issues before making adecision. This has been working well. On the other team,discussions drag on endlessly because they pursueabsolute consensus in all cases. 2003–2008 Mountain Goat Software 49 2003–2008 Mountain Goat Software 50Sunday, November 9, 2008

Six patterns, three decisionsororor 2003–2008 Mountain Goat Software 51Technical Practices FirstAdvantages Very rapid improvements arepossible The transition can be quickDisadvantages Technical practices supporteach other in subtle ways There is likely to be strongresistance to somepractices Outside coaching will likelybe needed Sunday, November 9, 2008Useful when The most pressing issuesfacing the project are onesthat can be solved withtechnical practices. You aren’t starting a hugenumber of teams at once Team members have solidtechnical backgrounds There is a desperate need toimprove 2003–2008 Mountain Goat Software 52

Iterative FirstAdvantages It’s easy to start It’s hard to argue againstDisadvantages The team may not chooseto add the technicalpractices Useful when You want to transition morethan a handful of teamsconcurrently You are starting with a stalledproject Lots of different technologiesare in use by various teams 2003–2008 Mountain Goat Software 53Start SmallAdvantages Cost of mistakes is minimized You can almost guaranteesuccessDisadvantages Conclusions may not becompelling It takes a lot of time Agile teams will need towork with non-agile teams Sunday, November 9, 2008Useful when There is reluctance tocommit fully to agile The risks of failing an all-atonce transition outweigh theadvantages You can afford the time ittakes 2003–2008 Mountain Goat Software 54

All InAdvantages It’s over quickly There’s no organizationaldissonance from using twoprocesses at once It can reduce some resistanceDisadvantages It’s risky It’s costly It will likely require aUseful when You want to send a clearmessage Time is critical Your team isn’t too small ortoo bigreorganization 2003–2008 Mountain Goat Software 55Stealth ModeAdvantages There’s no additional pressure No one knows about it untilyou tell them No one can tell you not to doitDisadvantages You won’t have anyorganizational support Skeptics will only hearabout success, they won’twitness it Sunday, November 9, 2008Useful when You want to experiment You don’t have anyorganizational support You expect strong resistance 2003–2008 Mountain Goat Software 56

Public Display of Agility (PDA)Advantages Everyone knows you’re doing itso you’re more likely to stickwith it It establishes a vision to worktoward Makes a firm statement that youare committed to transitioningDisadvantages Announcing something beforeyou do it can make you lookfoolish Resistors will come out of thewoodworkUseful when You are confident in theapproach and committed toachieving it You are likely to face stiffresistance and want to face itall at once 2003–2008 Mountain Goat Software 57Patterns of agile adoptionDiscuss these questions: Which of these techniques have you used in thepast? Was the transition successful? If not, would a different pattern have helped? What advice would you give to someone about touse one of these patterns you’ve used in the past? What pattern would you prefer to use in thefuture? What conditions would you like to be truefor you to use that pattern? Sunday, November 9, 2008 2003–2008 Mountain Goat Software 58

Three expansion patternsSplit and Seed 2003–2008 Mountain Goat Software 59 2003–2008 Mountain Goat Software 60Grow and split Sunday, November 9, 2008

Internal coachingGive coaches specificduties such as: Attend planning meeting Attend 2 daily scrums perweek Spend 4 hours with theteam per sprint 2003–2008 Mountain Goat Software 61Two mix-in patterns Impending doom Requirements first Sunday, November 9, 2008 2003–2008 Mountain Goat Software 62

Impending DoomAdvantages It can shock the team out ofcomplacency Admitting that a project isheaded toward disaster can freethe team to experiment It can help overcome a lot ofresistance The transition can be quickDisadvantages It isn’t always an option A big change in a time ofUseful when A project is on its way tofailure unless dramatic actionis taken Apathy has set in among teammemberstrouble can increase stress onthe team 2003–2008 Mountain Goat Software 63Requirements FirstAdvantages Starting with agilerequirements makes it hardto avoid being agile later It makes introducing otherpractices easierDisadvantages You have to wait until theright project is ready tostart Starting the project takeslonger than it should Sunday, November 9, 2008Useful when There is general agreementon what to build You are starting a newproject or restarting a failedproject You have the discipline andskill to do this quickly 2003–2008 Mountain Goat Software 64

Upcoming public classes 2003–2008 Mountain Goat Software 65Mike oftware.com(720) 890 6110 (office)(303) 810 2190 (mobile) Sunday, November 9, 2008 2003–2008 Mountain Goat Software 66

e.g., test automation or user experience design Some teams in an organization will be organic Individuals notice something needs to be achieved Others will be formally-sponsored Guiding coalition puts someone in charge of achieving a goal that hasn’t been pick