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

Agile and the Seven Sins of Project Management

Mike Cohn
June 16, 2012

Agile and the Seven Sins of Project Management

Agile approaches to software development promise many advantages: shorter schedules, more productive teams, products that better meet customer expectations, higher quality, and more. In this talk, leading agile expert Mike Cohn will explain how agile teams achieve these goals by avoiding the seven deadly sins of project management. Covered will be sins such as gluttony, sloth, lust, opaqueness, and more. Giving in to one of these temptations can result in a failed or canceled project. Along the way you'll be introduced to key aspects of agile development and hear stories of agile success and failure.

Mike Cohn

June 16, 2012
Tweet

More Decks by Mike Cohn

Other Decks in Business

Transcript

  1. ® © 2008–2011 Mountain Goat Software® Mike Cohn - background

    •Founding member and director of Agile Alliance and Scrum Alliance •Founder of Mountain Goat Software •Ran my first Scrum project in 1995 •Former VPE in four companies Agile coach and trainer 2
  2. ® © 2008–2011 Mountain Goat Software® A cornucopia of agile

    processes =Extreme Programming (XP) =Scrum =Crystal =DSDM =Lean software development =Unbranded “agile” Agile Processes =Feature-Driven Development (FDD) =+<7P32'@=13AA =OpenUP Semi-Agile Processes 3
  3. © 2008–2011 Mountain Goat Software® ® A closer look at

    Scrum = 152(&,A&(0*,0((4,0*24$&6,&(524(5&4,%(' = But many Scrum teams are adopting much of XP = 2- to 4-week iterations called “sprints” = Self-organizing, cross-functional teams = Uses generative rules to create an agile environment 4
  4. ® © 2008–2011 Mountain Goat Software® The Scrum project community

    Programmer Programmer DBA Programmer Tester Tester User Experience Designer Analyst 3P<3AE6/B to build and in what order The team Scrum Master Product Owner Process coach and Sheepdog for the team 5
  5. ® © 2008–2011 Mountain Goat Software® Scrum Cancel Gift wrap

    Return Sprint 2-4 weeks Return Sprint goal Sprint backlog Potentially shippable product increment Product backlog Coupons Gift wrap Coupons Cancel 24 hours 6
  6. ® © 2008–2011 Mountain Goat Software® Seven Sins of Project

    Management Gluttony 1 Lust 2 Sloth 3 Opaqueness 4 Pride 5 Wastefulness 6 Myopia 7 7
  7. © 2008–2011 Mountain Goat Software® ® Sin #1: Gluttony =

    3P<7B7=< = Fixing all dimensions (scope, schedule, resources, and quality) of a project = A project management sin of excess = Experienced as = Impossible schedules = Death marches = Leads to = Trying to do too much for the resources (time, people) available = Cutting quality to meet other goals 8
  8. © 2008–2011 Mountain Goat Software® ® Timeboxes help avoid gluttony

    = *,.(,6(4$6,105$4(6,/(%1:(' = )=B63A1632C:3=4/<7B3@/B7=<7APF32 = But the number of iterations is variable = Focus is always on “what can we accomplish next?” 9
  9. © 2008–2011 Mountain Goat Software® ® Timeboxed iterations increase predictability

    = Over time a team learns how much it can complete per iteration (its “velocity”) 0 10 20 30 40 1 2 3 4 5 6 7 8 9 Iterations Velocity = Knowing this prevents the temptation to overcommit 10
  10. © 2008–2011 Mountain Goat Software® ® What expectation of future

    velocity should this team set? Feature A 5 Feature B 3 Feature C 5 Feature F 3 Feature D 5 Feature E 5 Feature G 3 Feature I 3 Feature H 5 Feature J 2 Feature K 5 Feature L 3 Feature A 5 Feature B 3 Feature C 5 Feature F 3 Feature D 5 Feature E 5 Feature G 3 Feature I 3 Feature H 5 Feature J 2 Feature K 5 Feature L 3 ✓ ✓ ✓ 11
  11. © 2008–2011 Mountain Goat Software® ® Sin #2: Lust =

    3P<7B7=< = Intense or unrestrained craving for features = Experienced as = Trying to put too many features into a product during the time allowed = Treating all features as “critical” = Leads to = Overtime, reduced quality, surprises 12
  12. ® © 2008–2011 Mountain Goat Software® Three ways agile deals

    with lust Incremental *4$6,A&$6,10 2 Developing features in priority order 1 13
  13. ® © 2008–2011 Mountain Goat Software® ~Kent Beck “Overtime is

    a symptom of a serious problem on the project. The XP rule is simple–you can’t work a A31=<2E339=4=D3@B7;3=@=<3E339P<31@/<9 and put in some extra hours. If you come in on Monday and say ‘To meet our goals, we’ll have to work late again,’ then you already have a problem that can’t be solved by working more hours.” #14-,0*$6$5756$,0$%.(2$&( 3 14
  14. © 2008–2011 Mountain Goat Software® ® Sin #3: Sloth =

    3P<7B7=< = Failing to do high quality work at all times = Experienced as = Testing quality in at the end = Instability during development = Leads to = Big delays = Unpredictable schedules 16
  15. ® © 2008–2011 Mountain Goat Software® Agile practices related to

    quality Continuous integration Simple design Automated testing Test-driven development Refactoring Pair programming 17
  16. ® © 2008–2011 Mountain Goat Software® Case Study 1 Cosmodemonic

    Biotech Waterfall Scrum Use Case pages User Stories Calendar months Person months Lines of Java code Lines of Java code per person-month 3,000 1,400 9 12 540 54 58,000 51,000 120 840 18
  17. ® © 2008–2011 Mountain Goat Software® Productivity (NCSS / month)

    270 US average 389 Three years prior to introducing agile 1206 First nine months after starting agile NCSS=Non-Comment Source Statment (Java) Case Study 2 ePS 19
  18. ® © 2008–2011 Mountain Goat Software® ePS Defects per KNCSS

    10 Three years prior to introducing agile 2.9 First nine months after starting agile = Results achieved without any targeted rewrite of existing (buggy) code = Many of the post-agile defects continued to be in the old code = True results would be even better (if we had measured them) But wait, there’s more... 20
  19. © 2008–2011 Mountain Goat Software® ® Sin #4: Opaqueness =

    3P<7B7=< = Obscuring the progress, quality or other attribute of a project = Experienced as = Not knowing the true state of the project = Leads to = Surprises = Poor decisions 21
  20. © 2008–2011 Mountain Goat Software® ® Three types of opaqueness

    = 10@6.(6%7*5$&&7/7.$6( = Continuous integration = Features are either “Done” or “Not Done” = Avoids the 90% Syndrome How agile addresses Quality opaqueness 1 22
  21. ® © 2008–2011 Mountain Goat Software® How agile addresses Schedule

    opaqueness 2 4(.($5(%740'190&+$46 Story Points Iterations 400 300 200 100 0 1 2 3 4 5 23
  22. © 2008–2011 Mountain Goat Software® ® 0 10 20 30

    40 1 2 3 4 5 6 7 8 9 Iterations 1=<P23<13 interval (28–37 here) How agile addresses Scope opaqueness 3 Velocity 24
  23. © 2008–2011 Mountain Goat Software® ® +A7<5/1=<P23<137<B3@D/:B= predict what will

    be delivered /A32=<=C@;327/<E3O::P<7A663@3(5×33) We’ll almost certainly get here (5×28) This is the most we can realistically expect (5×37) Assume: There are five sprints left. 25
  24. © 2008–2011 Mountain Goat Software® ® Sin #5: Pride =

    3P<7B7=< = Believing that we know everything to build the product = Experienced as = A lack of stakeholder and user involvement = Leads to = Failure to solicit feedback = Failure to learn 26
  25. ® © 2008–2011 Mountain Goat Software® Sprint 2-4 weeks Return

    Sprint goal Sprint backlog Potentially shippable product increment Product backlog Gift wrap Coupons Cancel 24 hours Where are opportunities for feedback? 27
  26. ® © 2008–2011 Mountain Goat Software® Agile requirements “User stories”

    facilitate working closely with users & customers As a user, I want to reserve a hotel room. As a vacation traveler, I want to see photos of the hotels so that I can choose the best one for me. As a user, I want the site to be available 99.999% of the time I try to access it. 28
  27. © 2008–2011 Mountain Goat Software® ® Sin #6: Wastefulness =

    3P<7B7=< = Misuse of critical resources = Experienced as = Losses of creativity, motivation, and time = Leads to = Project malaise = Delays = Doing it the same way (again) 29
  28. ® © 2008–2011 Mountain Goat Software® How agile handles waste

    !,/(%1:,0* 1 Daily standups 2 Iteration retrospectives 3 Self-organizing teams 4 30
  29. ® © 2008–2011 Mountain Goat Software® Salesforce.com Improvement in mean

    time to release for major releases +61% Increase in features delivered in major releases +94% Increase in features delivered per developer +38% Increase in major release cumulative value +568% Source: Scrum Gathering, April 16, 2008 32
  30. © 2008–2011 Mountain Goat Software® ® Sin #7: Myopia (Shortsightedness)

    = 3P<7B7=< = Not seeing beyond your own work = Experienced as = Teams who don’t see the big picture = Individuals who work only within their roles = Leads to = Unsuccessful products = Delays 33
  31. ® © 2008–2011 Mountain Goat Software® Seeing the forest and

    the trees at the same time Release Plan Sprint 1 Sprint 2 Sprint 3 Sprints 4–7 8 hours Task A 16 hours Task B 5 hours Task C 8 hours Task D Iteration Plan 34
  32. © 2008–2011 Mountain Goat Software® ® Cross-functional team = All

    disciplines necessary to go from idea to implementation = Improves creativity and ownership = Whole team commitment But does that make everyone a generalist? 35
  33. ® © 2008–2011 Mountain Goat Software® Is everyone a generalist?

    Ferentino’s Bruno’s Screw that; where’s lunch? Meconi’s Order-taker Key Floater Sandwich-maker 38
  34. ® © 2008–2011 Mountain Goat Software® Additional resources Scrum Information

    www.MountainGoatSoftware.com/scrum www.MountainGoatSoftware.com/presentations www.ScrumAlliance.org Training www.MountainGoatSoftware.com/training Books Agile Software Development with Scrum, Ken Schwaber Succeeding with Agile, Mike Cohn 39