Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Transitioning to Agile: Overcoming Waterfallaci...

Mike Cohn
June 19, 2012

Transitioning to Agile: Overcoming Waterfallacies and Agilephobias

If there’s so much to like about agile, why do some team members resist it so strongly? Agile expert, author, and trainer Mike Cohn explores two of the main reasons for resistance to agile: Waterfallacies and AgilePhobias. A Waterfallacy is a mistaken idea or belief about agile that stems from prolonged exposure to waterfall projects. An AgilePhobia, on the other hand, is a strong fear or dislike of agile, usually due to the uncertainty of change.

Of the two, Waterfallacies have the potential to do the most damage to your transition effort, but fortunately, they are the more easily overcome. During his presentation, Mike examines the most common Waterfallacies and how to eliminate them. He also discusses the most prevalent AgilePhobias, how to identify the afflicted team members, and how to help them overcome their fears.

Mike Cohn

June 19, 2012
Tweet

More Decks by Mike Cohn

Other Decks in Business

Transcript

  1. © Mountain Goat Software, LLC 1. Why transitioning to agile

    is hard 2. A framework for transitioning 3. Overcoming waterfallacies and agilephobias Topics today... 2
  2. © Mountain Goat Software, LLC Three reasons 1 Change is

    not top-down or bottom-up; it’s both 3 The transition process must be congruent with the development process 2 We fall into the predictability trap 4
  3. © Mountain Goat Software, LLC Top down or bottom up?

    N Two simplistic views of transitioning to agile: N Top down N Powerful leader shares a vision N Bottom-up N F73?EF3DFE3@67H7DKA@77>E7E77EF:747@7UFEA8F:7 new approach N But, transitioning to agile is neither top-down nor bottom-up N It’s everywhere, all together, all-at-once 1 5
  4. © Mountain Goat Software, LLC N How we traditionally view

    our organizations N Behavior is highly predictable N Once set in motion, will continue in motion N Predictable N An organization change strategy can be mapped out: N AF:;EUDEFF:7@F:3FF:7@EG5:3@6EA N And we’ll end up right where I predict Dispense with predictability 2 6
  5. © Mountain Goat Software, LLC “This machine imagery [Newtonian view]

    leads to the belief that studying the parts is the key to understanding the whole. Things are taken apart, dissected literally or U9GD3F;H7>K3@6F:7@BGF435=FA97F:7D I;F:AGF3@KE;9@;U53@F>AEE,:73EEG?BF;A@ is that the more we know about the workings of each piece, the more we will learn about the whole.” ~Margaret Wheatley in Leadership and the New Science 7
  6. © Mountain Goat Software, LLC What we do on projects

    N On projects we learn we cannot precisely anticipate: N our users’ requirements N how long it will take to develop a feature or entire system N which design will be best N the set of tasks necessary to develop a feature N So we devise alternative approaches N Rather than ask for upfront specs, we deliver partial solutions, solicit feedback, and repeat N Rather than design the whole system, we design incrementally and adjust based on what we learn N We need to do the same for the transition effort 8
  7. © Mountain Goat Software, LLC Use a congruent approach 3

    Part of the move to agile is a move to self-organizing teams Moving to self- organization requires self-organization “You will self-organize!” 9
  8. © Mountain Goat Software, LLC An agile process Cancel Gift

    wrap Return Iteration 2-4 weeks Return Iteration goal Iteration backlog Potentially shippable product increment Product backlog Gift wrap Coupons Cancel Daily ... ... ... Transition backlog ... Iteration monthly Weekly Altered organization An agile transition process 11
  9. © Mountain Goat Software, LLC Activities to support the goals

    Quarterly Monthly 3-4 goals Decide how pervasive to go with agile—development only or full company All Identify which issues agile can solve or help with. DF Transition backlog Weekly  Discuss progress  Remove impediments Meet weekly to execute, monthly to plan, quarterly to strategize 12
  10. © Mountain Goat Software, LLC Treat the transition as a

    project N Establish an “Agile Transition Team” (“Agile Adoption Team,” etc.) N Who? N Sponsor—senior person responsible for success N Area managers or leads who can make it happen N Meet weekly N Run monthly iterations managing work from a Transition Backlog N Run a quarterly cycle like the release cycle on an agile project 13
  11. © Mountain Goat Software, LLC Waterfallacy noun. mistaken belief or

    idea about agile that stems from prolonged exposure to waterfall projects 15
  12. © Mountain Goat Software, LLC 9;>753@SF9;H7?73UD?63F7 and a commitment to

    what will be in the product. 1 Is the answer just to under- commit and then deliver more than expected? 16
  13. © Mountain Goat Software, LLC Knowing the scope and date

    N It’s always been impossible to know both the scope and the date of a project N The vast majority of waterfall projects get this wrong, too N 'GFEAGD5;@95A?B3@;7EF:3FBDA?;E7FAUJ4AF:6A so by either padding or lying N If we acknowledge the impossibility of guaranteeing functionality and date N 3@6H;7IUJ76E5AB763F7BDA<75FE3ED;E=?3@397?7@F N I753@73E;>KID;F7UJ7663F7ADUJ76E5AB75A@FD35FE 17
  14. © Mountain Goat Software, LLC Knowing the scope and date

    N It’s always been impossible to know both the scope and the date of a project N The vast majority of waterfall projects get this wrong, too N And then end up delivering too little of the wrong functionality N 'GFEAGD5;@95A?B3@;7EF:3FBDA?;E7FAUJ both do so by either padding or lying 18
  15. © Mountain Goat Software, LLC 1. acknowledge the impossibility of

    guaranteeing functionality and date 2. 3@6H;7IUJ76E5AB7ADUJ7663F7BDA<75FE3E risk management If we... N 3@ID;F7UJ76BD;57ADUJ765A@FD35FE N And use the same principles on non-contracted projects that have a similar need for a low risk of dropped scope or schedule overrun Then we... 19
  16. © Mountain Goat Software, LLC Fixed-date planning: an example Desired

    release date 30 June Today’s Date 1 January Number of sprints 6 (monthly) Low velocity 15 High velocity 20 6×15 6×20 Will have Might have Won’t have 20
  17. Fixed-date contracting 6×15 6×20 Will have Might have Won’t have

    N You won’t likely win the contract N But you’ll probably make money if you do If you write a contract for just the will haves: N You will likely win the contract N But probably not make money on it If you write a contract that includes the might haves: It’s a risk issue Where do you want to be? 21
  18. © Mountain Goat Software, LLC Fixed-scope planning: an example Total

    story points desired 120 Low velocity 15 High velocity 20 120÷20= 120÷15= 22
  19. Fixed-scope contracting N You’ll likely win the contract N But

    may not make any money If you write a contract for the short duration: N You probably won’t win the contract N But will make money if you If you write a contract for the long duration: It’s a risk issue Where do you want to be? 23
  20. © Mountain Goat Software, LLC The value of customer feedback

    N 9;>76A7E?3=7UJ76BD;573@6UJ76E5AB7 projects harder N Because it acknowledges N the importance of customer feedback N and the existence of emergent requirements N Sequential processes treat these as changes of scope 24
  21. © Mountain Goat Software, LLC Agile requires our testers to

    be involved and testing right from the start. But they’re tied up on other projects. 2 We can’t move to agile because we can’t move testers from these other projects. 25
  22. © Mountain Goat Software, LLC Agile is not a silver

    bullet N Doesn’t solve a single problem you have, only exposes the problems you do have N Hopefully exposes these problems to those who can solve them N By repeatedly solving the problems you identify, things improve N Agile is hard work N There will be days you wonder why you’re doing this 26
  23. © Mountain Goat Software, LLC Digging out of this problem

    N !8AF:7DEA@F:7UDEFBDA<75FE53@:7>BF7EF:3H7F:7? do so N Perhaps just enough to move some small number of testers (1?) to the new project N Have the new project run cross-functionally N Whole team does whatever it takes to pay off the testing debt N Rule from day one: On new projects don’t allow any new debt to build up 27
  24. © Mountain Goat Software, LLC Agile requires everyone to be

    a generalist. 3 That isn’t cost-effective and doesn’t make sense for my project. Some of what we do is highly specialized. 28
  25. © Mountain Goat Software, LLC Everyone must be a generalist

    N H7DK67>;;@F:7IAD>6:3EU9GD76EB75;3>;L3F;A@ out N Why can’t we? N Not everyone needs to be a generalist N GF;FSEH7DK47@7U5;3>FA:3H7EA?75DAEEE=;>>76 people; “generalizing specialists” N This happens naturally on most agile teams because of their cross-functional composition N Some domains require specialists N bioinformatics, video game development, etc. 29
  26. © Mountain Goat Software, LLC We work in distributed environment,

    frequently with some team members in India, China, or the Ukraine. Self- organization seems to clash with some cultures. 4 How will agile development work in these environments? 30
  27. © Mountain Goat Software, LLC Self-organization around the world N

    I suspect it’s true that that self-organizing teams in the different countries will organize differently N G>FGD3>6;887D7@57EI;>>;@VG7@574GF@AFBD7H7@FE7>8 organization N Self-organization relies on N Container (in which to organize) N Differences (among people) N Transforming Exchanges N Self-organization leads to more creativity, ownership, productivity, engagement 31
  28. © Mountain Goat Software, LLC Agile relies primarily on face-

    to-face communication. Our projects are distributed across many time zones. And many people choose to work from home. 5 How does this work with agile? 32
  29. © Mountain Goat Software, LLC Multi-site agile N We rarely

    choose to highly distribute a project for F:747@7UFA8F73??7?47DE N We do it for cost or because of mergers and similar reasons N Working from home is detrimental to the short- term progress of the project N But may be necessary for the long-term success (e.g., it’s a recruiting tool) N Experiment: Is it better to all be at home one day per week or all on different days? 33
  30. © Mountain Goat Software, LLC Encourage face-to-face communication N Do

    whatever you can to have as much face-to- face communication as possible N Videoconference > phone > email N Fly people together at the start of the project N Send three people from one to the other N Get people together for iteration planning meetings and reviews 34
  31. © Mountain Goat Software, LLC N I’m afraid I’ll have

    nothing to do N I’m afraid I’l lose my job N I’m afraid people will see how little I actually do N I’m afraid I won't be able to keep up N I’m afraid I won’t be able to learn the new software N I’m afraid this will mean hard work N !S?38D3;6!S>>47UD76;8F:7675;E;A@EI7?3=76A@SFIAD=AGF N !S?38D3;6A85A@V;5F3@6FDK;@9FAD735:5A@E7@EGE Agilephobia noun. strong fear or dislike of agile, usually due to the uncertainty of change 35
  32. © Mountain Goat Software, LLC More agilephobias N I’m afraid

    I won’t get raises or promotions anymore N !S?38D3;6A85A@V;5F3@6FDK;@9FAD735:5A@E7@EGE N Drat! There go my 3-hour lunches N Drat! This means I can’t mosey in at 10:30 anymore N Drat! This means I’ll have to actually think now N Drat! This means I’ll actually have to talk to people now N It’s just so much easier and safer when someone else tells me exactly what to do N Its just so much easier and safer when I can tell them exactly what I want them to do 36
  33. © Mountain Goat Software, LLC Overcoming agilephobias N Being aware

    of what people fear is half the challenge N Acknowledge these agilephobias and over time work to have solutions for them N Over time people will lose their fear of losing their job N But will likely still need revised job descriptions in an agile enterprise 37
  34. © Mountain Goat Software, LLC Mike Cohn contact info [email protected]

    www.mountaingoatsoftware.com    A8U57 (303) 810-2190 (mobile) 38
  35. © Mountain Goat Software, LLC Agile puts a lot of

    emphasis on unit testing. I’m not working on a legacy application (yet!) but we are nine-months in and haven’t made automated testing a priority. 6 Can we still be agile? 39
  36. © Mountain Goat Software, LLC Agile without a lot of

    tests in place N Two most important principles of agile: 1. Inspect and Adapt 2. Iterate N Start where you are, do something, see how you did N And then do it again until you get to where you want to be 40
  37. © Mountain Goat Software, LLC A three-step process 1 We

    end this iteration with less manual testing than we started. Go after the “low-hanging fruit” by automating some easy-to-automate tests of great value. 2 All new features come with automated tests. 3 Everything (maybe, we hope) has an automated test. 41
  38. © Mountain Goat Software, LLC 200 300 400 500 1

    2 3 4 5 6 7 Months (Iterations) Hours of Manual Testing 42
  39. © Mountain Goat Software, LLC Mike Cohn contact info [email protected]

    www.mountaingoatsoftware.com    A8U57 (303) 810-2190 (mobile) 43