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

How to Keep Product Development Teams Going Fast - Agile Velocity - ProductCamp

How to Keep Product Development Teams Going Fast - Agile Velocity - ProductCamp

Features often get delivered quickly on new software projects, but the pace gets exponentially slower over time. Why does this happen and what can you do about it? In this session, we'll introduce the hidden drag of technical debt and explain how it works. Through a combination of presentation, discussion and exercises Product Managers will learn how to recognize the symptoms and work with your team to eliminate it, so you can keep going fast.

9648545ab6d930b0607ffd18847c9c15?s=128

Eric Stewart

July 20, 2013
Tweet

Transcript

  1. HOW TO KEEP YOUR PRODUCT DEVELOPMENT TEAMS GOING FAST Product

    Camp Austin 11
  2. None
  3. As you come in, find someone in the room and

    discuss what you know about Technical Debt
  4. We’d prefer a fast, steady stream of new features…

  5. But sometimes it feels more like this

  6. Long Delivery Times Mounting Defects Rising Development Costs Poor Customer

    Responsiveness Late Deliveries Frustrated and Poor Performing Teams
  7. None
  8. None
  9. Good and Bad Debt Martin Fowler’s Technical Debt Quadrants http://www.martinfowler.com/bliki/TechnicalDebtQuadrant.html

  10. Intentional Debt Temporary Code Business Pressure Delayed Testing Other Conscious

    Tradeoffs
  11. Unintentional Debt Poor Code or Design Business Pressure Poor Practices

    Inflexible Software Lack of understanding Poor design/ architecture Unintended Complexity Poor design
  12. A Vicious Cycle Time Pressure Poorly Implemented Features Late Delivery

  13. Continuous Integration

  14. Test (and other) Automation

  15. Refactoring - would you trust delivery of your products over

    this road?
  16. Peer Review

  17. http://jimhighsmith.com/the-financial-implications-of-technical-debt/ Jim Highsmith’s Technical Debt Graph Rewrite!

  18. Let’s do an exercise to understand the concept further. Form

    into Teams of at least 4 people.
  19. Feature Cost: 15 Feature Cost: 10 Feature Cost: 5 Technical

    Debt Cost 15 Impact -10 Technical Debt Cost 15 Impact -10 Technical Debt Cost 10 Impact -5 Technical Debt Cost 5 Impact -5 Technical Debt Cost 5 Impact -5 Iteration Card Setup your board as follows
  20. Feature Cost: 15 Feature Cost: 10 Feature Cost: 5 Technical

    Debt Cost 15 Impact -10 Technical Debt Cost 15 Impact -10 Technical Debt Cost 10 Impact -5 Technical Debt Cost 5 Impact -5 Technical Debt Cost 5 Impact -5 Iteration Card Add  up  the  total    impact  of  all     technical  debt  items -35
  21. Technical)Debt)Game Iteration)1 Iteration)2 Iteration)3 Iteration)4 Iteration)5 Theoretical)Capacity 60 60 60

    60 60 Technical)Debt)Impact) (add)up)the)total))impact)of)all))technical)debt)items) Actual)Capacity (Subtract)Technical)Debt)Impact)from)Theoretical)Capacity)) Allocated)Points)Spent)on)Tech)Debt Allocated)Points)Spent)on)Features Total)Feature)Points)Deliverd)To)Date (This)is)a)cumulative)sum)of)Feature)points)delivered) 1.)Update)Actual)Capacity 3.)Plan)your)Iteration (Allocate)how)many)points)of)your)capacity)you)want)to)spend)on)Features)vs.)Technical)Debt) 4.)Draw)an)Iteration)Card (Follow)the)instructions)on)the)card) 2.)Update)Chart (Plot)the)Technical)Debt)Impact)for)the)current)iteration) 0" 10" 20" 30" 40" 50" 60" 70" Itera/on"1" Itera/on"2" Itera/on"3" Itera/on"4" Itera/on"5" Points)Per)Cycle) Theori/cal"Capacity" Technical"Debt"Impact" -35 25 X
  22. Technical)Debt)Game Iteration)1 Iteration)2 Iteration)3 Iteration)4 Iteration)5 Theoretical)Capacity 60 60 60

    60 60 Technical)Debt)Impact) (add)up)the)total))impact)of)all))technical)debt)items) Actual)Capacity (Subtract)Technical)Debt)Impact)from)Theoretical)Capacity)) Allocated)Points)Spent)on)Tech)Debt Allocated)Points)Spent)on)Features Total)Feature)Points)Deliverd)To)Date (This)is)a)cumulative)sum)of)Feature)points)delivered) 1.)Update)Actual)Capacity 3.)Plan)your)Iteration (Allocate)how)many)points)of)your)capacity)you)want)to)spend)on)Features)vs.)Technical)Debt) 4.)Draw)an)Iteration)Card (Follow)the)instructions)on)the)card) 2.)Update)Chart (Plot)the)Technical)Debt)Impact)for)the)current)iteration) 0" 10" 20" 30" 40" 50" 60" 70" Itera/on"1" Itera/on"2" Itera/on"3" Itera/on"4" Itera/on"5" Points)Per)Cycle) Theori/cal"Capacity" Technical"Debt"Impact"
  23. Feature Cost: 10 Feature Cost: 15 Feature Cost: 10 Technical

    Debt Cost 15 Impact -10 Technical Debt Cost 15 Impact -10 Technical Debt Cost 10 Impact -5 Technical Debt Cost 5 Impact -5 Technical Debt Cost 5 Impact -5 Iteration Card You have 25 Points to Spend Select the cards you want to spend your points on. No partially done work. Feature Cost: 5 Feature Cost: 5
  24. Technical)Debt)Game Iteration)1 Iteration)2 Iteration)3 Iteration)4 Iteration)5 Theoretical)Capacity 60 60 60

    60 60 Technical)Debt)Impact) (add)up)the)total))impact)of)all))technical)debt)items) Actual)Capacity (Subtract)Technical)Debt)Impact)from)Theoretical)Capacity)) Allocated)Points)Spent)on)Tech)Debt Allocated)Points)Spent)on)Features Total)Feature)Points)Deliverd)To)Date (This)is)a)cumulative)sum)of)Feature)points)delivered) 1.)Update)Actual)Capacity 3.)Plan)your)Iteration (Allocate)how)many)points)of)your)capacity)you)want)to)spend)on)Features)vs.)Technical)Debt) 4.)Draw)an)Iteration)Card (Follow)the)instructions)on)the)card) 2.)Update)Chart (Plot)the)Technical)Debt)Impact)for)the)current)iteration) 0" 10" 20" 30" 40" 50" 60" 70" Itera/on"1" Itera/on"2" Itera/on"3" Itera/on"4" Itera/on"5" Points)Per)Cycle) Theori/cal"Capacity" Technical"Debt"Impact" -35 25 10 15 15 X
  25. The goal is to complete as many feature points at

    the end of 5 iterations. Go!
  26. The goal is to complete as many feature points at

    the end of 5 iterations. Stop!
  27. Theoretical Capacity Technical Debt Productivity Time

  28. In order to go fast we need a focus on

    Craftsmanship
  29. Capture your debt

  30. Visualize and estimate

  31. Need to invest time, team needs slack

  32. Agile processes promote sustainable development. The sponsors, developers, and users

    should be able to maintain a constant pace indefinitely.
  33. Discuss how you could apply these concepts to help your

    teams go fast.
  34. None