As you come in, find someone in
the room and discuss what you
know about Technical Debt
HOW TO KEEP YOUR
PRODUCT DEVELOPMENT
TEAMS GOING FAST
Product Camp Austin 11
We’d prefer a fast, steady stream
of new features…
But sometimes it feels more like
this
Long Delivery Times
Mounting Defects
Rising Development Costs
Poor Customer Responsiveness
Late Deliveries
Frustrated and ...
Intentional Debt
Temporary
Code
Business Pressure
Delayed
Testing
Other
Conscious
Tradeoffs
Unintentional Debt
Poor Code
or Design
Business Pressure
Poor Practices
Inflexible
Software
Lack of understanding
Poor
des...
A Vicious Cycle
Time
Pressure
Poorly
Implemented
Features
Late Delivery
Continuous Integration
Test (and other) Automation
Refactoring - would you trust
delivery of your products over this
road?
Peer Review
http://jimhighsmith.com/the-financial-implications-of-technical-debt/
Jim Highsmith’s Technical Debt Graph
Rewrite!
Let’s do an exercise to understand
the concept further.
Form into Teams of at least 4
people.
Feature
Cost: 15
Feature
Cost: 10
Feature
Cost: 5
Technical Debt
Cost 15
Impact -10
Technical Debt
Cost 15
Impact -10
Tech...
Feature
Cost: 15
Feature
Cost: 10
Feature
Cost: 5
Technical Debt
Cost 15
Impact -10
Technical Debt
Cost 15
Impact -10
Tech...
0"
10"
20"
30"
40"
50"
60"
70"
Itera/ on"1" Itera/ on"2" Itera/ on"3" Itera/ on"4" Itera/ on"5"
Theori/ cal"Capacity" Tech...
0"
10"
20"
30"
40"
50"
60"
70"
Itera/ on"1" Itera/ on"2" Itera/ on"3" Itera/ on"4" Itera/ on"5"
Theori/ cal"Capacity" Tech...
Feature
Cost: 10
Feature
Cost: 15
Feature
Cost: 10
Technical Debt
Cost 15
Impact -10
Technical Debt
Cost 15
Impact -10
Tec...
0"
10"
20"
30"
40"
50"
60"
70"
Itera/ on"1" Itera/ on"2" Itera/ on"3" Itera/ on"4" Itera/ on"5"
Theori/ cal"Capacity" Tech...
The goal is to complete as many
feature points at the end of 5
iterations.
Go!
The goal is to complete as many
feature points at the end of 5
iterations.
Stop!
Theoretical Capacity
Technical Debt
Productivity
Time
In order to go fast we need a
focus on Craftsmanship
Capture your debt
Visualize and estimate
Need to invest time, team needs
slack
Agile processes promote sustainable
development. The
sponsors, developers, and users should
be able to maintain a constant...
Discuss how you could apply
theses concepts to help your teams
go fast.
How to Keep Going Fast - Agile Velocity - Product Camp Austin
How to Keep Going Fast - Agile Velocity - Product Camp Austin
How to Keep Going Fast - Agile Velocity - Product Camp Austin
How to Keep Going Fast - Agile Velocity - Product Camp Austin
Upcoming SlideShare
Loading in …5
×

How to Keep Going Fast - Agile Velocity - Product Camp Austin

407
-1

Published on

Features often get delivered quickly on new software projects and slow to an exponentially slower pace over time. Teams are usually on their own to discover, implement, and even get buy-in for improving the technical capability to deliver. In this session we'll discuss how technical debt accrues and impacts the flow of features over time as well as how Product Owners can encourage and support teams to improve. We will run a simulation of a software project that demonstrates the impact of employing technical practices and addressing other technical debt.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
407
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Attribution: http://www.flickr.com/photos/usfwshq/8426146245/in/photolist-dQAcHx-f8wNoo-cSUakj-f8wNhN-cD8Fhm-cyRqpf-bjfV3x-7HHtaY-aRr156-8aupg4-7LK1as-7LRCsG-abNnzs-951W8W-7LRB1J-cZaxJj-8juseK-cpe6EJ-aCy8xe-du4Qh6-bDSxTn-9tsUQP-azwePa-a1oo6r-dCoxvW-c1KAqW-8h18Ri-bxVC3z-ePXdaS-7Xr9rh-cNWatS-ds9QJu-ds9FpF-ds9R55-ds9Qq3-ds9RHj-ds9GSV-a98QGU-bdEkpe-aeyxri-eZ6vag-7UAhNN-8RjCKM-bmXXkL-cmPWC7-c5eSqQ-7GPcZu-7LMFkF-cMLTYo-8ejG7H-cmPWQq/lightbox/
  • SymptomsImage attributions:http://www.flickr.com/photos/14511253@N04/4411497087/in/photolist-7HQ5oB-9qa4rb-7CHWy4-9q6Whp-8QjLj7-b7LaSn-9PUHMi-9oQ3qw-8iu4HN-9qxd3u-auQz9Z-a7Fctt-7ziiDq-9itKnt-dGN5VZ-8VV7NP-bBu2vW-bgDwNk-b4KooT-b4Kor8-b4Kota-b4KnT4-9qc58h-9q9okR-9q6gKK-9q7GDX-9q9uFw-7REcDB-amVpjf-aU2khT-bx9EXX-bjWDaT-9VryJk-7XZRgj-7XZQmu-7XWzb8-7PqVf7-avb9xS-avhS6v-9iL2JU-8kErPW-8wqZJZ-9q4aZp-9qgydX-9CbvHx-bkeVkw-aDb1kG-9bQLa4-9qfftM-7FK373-bB2cMehttp://www.flickr.com/photos/98193606@N00/3466024918/in/photolist-6hhhsj-6hHv9z-6hJQ94-6kPYqY-6mCk9G-6zKJLm-6zXfNr-6FUTot-6Qk2Sx-6TkkWU-6VyFqc-6X65A7-6YdYmY-6YyCNJ-7enMRy-7kD9oV-7w9FHt-9zYUbN-7HQ5oB-7QWatV-bPLUhn-bvH8Dv-7WepXX-eETBiA-9zrNro-8hvJXJ-9y23Bn-7NGfDb-9BhUgv-9SUSTr-ccfa4q-ccfcoy-ccfaDG-bUSTZH-bUSXFx-bUSVMc-ccfcFN-bUSUFV-bUSWkR-ccfcvC-ccfaiS-ccfaJh-bUSUKZ-bUSWbt-ccfb7Y-bUSWuv-ccf9R5-ccfd8Y-bUSV9p-ccf8ru-ccf9BAhttp://www.flickr.com/photos/43088195@N03/4536619509/in/photolist-7UTmVK-8a9Ani-dsT1wn-7Tg2ay-e6QgRx-e6VUVU-e6QgV6-e6VUTs-e6VUYC-e6Qh78-dEPDR7-dEJgeB-8a9ATi-e5piNA-bSPPHi-cLQR4Y-7H1ohN-9cs4T6-8mazGL-8xD2HP-8mazfW-bDcUqf-bWJ7TK-9qPqp4-dgjFYo-e9LFvq-bUCP3e-8rYusH-effxjm-bos1RP-8pr8hQ-a43cdw-8zGsCp-bJBaf6-81kp1V-9PoYnz-bXcg7w-efty5g-ef9Jmx-8CFmHB-98nU74-dTPBLJ-ef9NEe-a9chF3-91Pp6J-drhmrN-dr6e6D-c3FT4W-83wM3S-dp1PwW-atS3cshttp://www.flickr.com/photos/49503102897@N01/54389823/in/photolist-5NLcz-675rs-8zm7x-cJ3W6-n2cdj-p3S1H-r8fLX-rafFi-tpGed-tWtcr-yxxin-BHaEq-Cqe2K-Et2EX-J2cVe-ZYxen-2as17k-2cNeb2-2M4o2x-397sho-3eu4QL-3ftfgM-3nrv1i-3nR78L-3UbB1x-4kHKK1-4oDUyJ-4p3Eoa-4pDQzB-4A1f2M-4BidvL-4Ckoht-4LcGYe-4ThTPe-4XsfGQ-5nnZJL-5vAYu2-5xxLb9-5zbvKS-5B9ixa-5CiuF3-5G4WGv-5PXSRw-5RDD3C-5RE3QD-5RSP6E-5TaFQ8-5XCkjK-5YscQw-5YMBcR-61vEoa
  • We’re used to seeing and investing in Features and Bugs, but there are other investments needed too.http://pkruchten.wordpress.com/
  • Sometimes due to process, etc. but very often due to technical issues. We have a way of describing this called Technical Debt, which is based on a financial metaphor.Simpler or delayed design and implementation choices are like borrowing money. (I like "writing code" better than "skipping design" here -- JimLittle)Refactoring, implementing practices, or otherwise “doing it right” is like repaying principalSlower development due to complexity is like paying interest[a later addition] When the whole project caves in under the mess, is that like when the big guys come round and slam your hands in the car door for not paying up?
  • Photo:http://commons.wikimedia.org/wiki/File:Duct-tape.jpg
  • Photo by Jessica Spenglerhttp://www.flickr.com/photos/wordridden/6357610039/
  • http://eightvo.files.wordpress.com/2011/11/koelewijnwerk02.jpgContinuous Integration:DefinitionWithout it:Team finds issues late, rushes to fix, prone to cut cornersRisk of some work getting stale and needing to be abandonedAttribution: http://www.archersafetysigns.co.uk/prod.php?prod=7402
  • http://www.flickr.com/photos/jurvetson/6219463656/sizes/o/in/photolist-atAnS1-dhZrKM-atHJJo-9mvMsP-bs52Uo-bvcbis-bEWnc2-chEjh3-asg29e-biGH9K-7NJQbS-7NESvF-awbMMT-9ANyUd-9mqRC4-aXuibg-9M2QU4-7zxwmK-bdbY5i-dPuGGx/Photo by Steve JurvetsonThe photo is a Tesla – it’s not slow ;-)Automated TestingDefinitionWithout it:Defects found late, potentially not during the development processTeam less confident in making changes that introduce unintended behaviorMay push back or sandbag unnecessarilyRequires more manual testing effort to changeHigher level of bugs, reworkImplementation less testable, and often poorly designedAttribution: http://commons.wikimedia.org/wiki/File:Advanced_Automation_for_Space_Missions_figure_5-29.gif
  • http://www.flickr.com/photos/jollyuk/4143795151
  • Photo by Alex Hunghttp://www.flickr.com/photos/40077210@N00/3667199868
  • Phase 1: Lower cost for new featuresPhase 2: Accumlating Debt
  • Features backlogTech debt has accrued and the technical team has identified it and estimated the work and estimated the business impact
  • DebriefWhat did you learn?Technical Debt GrowsShare results (explain interesting ones)
  • Debrief- What did you learn
  • Stop digging the holeDon’t add new problemsDon’t make existing problems worseBoy Scout RuleLeave it cleaner than you found itIncremental improvementPhotoby AbhisekSardahttp://www.flickr.com/photos/reallynuts/4385681932/sizes/o/in/photolist-7FxLrJ-aL2Ngz-aN2VCP-7HYeMi-cpF5YC-7HYjKK-9k5K4T-cEcaKU-cEciJu-cEc9E3-cEc8Bf-cEceiG-cEcdbA-cEcfwm-cEcgDN-7yFDdK-ctkvPm-8vEXcj-8vBWhi-e6co5M-87q3Uk-86XQkY-ancyYm-7JDYGF-8itvxq-7H6R6f-8itvBU-7H6QTw-7H6QZj-7An2T3-7Fpg6m-8nkuqi/
  • Visualize your debt, make it explicitPhoto by Oliver Hammondhttp://www.flickr.com/photos/olivander/58499153/
  • Photo by Kristi Johnsonhttp://www.flickr.com/photos/46142663@N03/4451325321
  • http://commons.wikimedia.org/wiki/User:Roger_McLassushttp://commons.wikimedia.org/wiki/File:2006-02-04_Metal_spiral.jpg
  • Pair Share – someone you haven’t met yet
  • How to Keep Going Fast - Agile Velocity - Product Camp Austin

    1. 1. As you come in, find someone in the room and discuss what you know about Technical Debt
    2. 2. HOW TO KEEP YOUR PRODUCT DEVELOPMENT TEAMS GOING FAST Product Camp Austin 11
    3. 3. We’d prefer a fast, steady stream of new features…
    4. 4. But sometimes it feels more like this
    5. 5. Long Delivery Times Mounting Defects Rising Development Costs Poor Customer Responsiveness Late Deliveries Frustrated and Poor Performing Teams
    6. 6. Intentional Debt Temporary Code Business Pressure Delayed Testing Other Conscious Tradeoffs
    7. 7. Unintentional Debt Poor Code or Design Business Pressure Poor Practices Inflexible Software Lack of understanding Poor design/architecture Unintended Complexity Poor design
    8. 8. A Vicious Cycle Time Pressure Poorly Implemented Features Late Delivery
    9. 9. Continuous Integration
    10. 10. Test (and other) Automation
    11. 11. Refactoring - would you trust delivery of your products over this road?
    12. 12. Peer Review
    13. 13. http://jimhighsmith.com/the-financial-implications-of-technical-debt/ Jim Highsmith’s Technical Debt Graph Rewrite!
    14. 14. Let’s do an exercise to understand the concept further. Form into Teams of at least 4 people.
    15. 15. 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
    16. 16. 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
    17. 17. 0" 10" 20" 30" 40" 50" 60" 70" Itera/ on"1" Itera/ on"2" Itera/ on"3" Itera/ on"4" Itera/ on"5" Theori/ cal"Capacity" Technical"Debt"Impact" -35 25 X
    18. 18. 0" 10" 20" 30" 40" 50" 60" 70" Itera/ on"1" Itera/ on"2" Itera/ on"3" Itera/ on"4" Itera/ on"5" Theori/ cal"Capacity" Technical"Debt"Impact"
    19. 19. 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
    20. 20. 0" 10" 20" 30" 40" 50" 60" 70" Itera/ on"1" Itera/ on"2" Itera/ on"3" Itera/ on"4" Itera/ on"5" Theori/ cal"Capacity" Technical"Debt"Impact" -35 25 10 15 15 X
    21. 21. The goal is to complete as many feature points at the end of 5 iterations. Go!
    22. 22. The goal is to complete as many feature points at the end of 5 iterations. Stop!
    23. 23. Theoretical Capacity Technical Debt Productivity Time
    24. 24. In order to go fast we need a focus on Craftsmanship
    25. 25. Capture your debt
    26. 26. Visualize and estimate
    27. 27. Need to invest time, team needs slack
    28. 28. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
    29. 29. Discuss how you could apply theses concepts to help your teams go fast.
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×