Your SlideShare is downloading. ×
How to Keep Going Fast - Agile Velocity - Product Camp Austin
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

280
views

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 …

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
280
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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
  • Transcript

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

    ×