Managing Technical Debt by John Ryan 2011.6.22

660 views

Published on

Technical Debt presentation presented by BigVisible's John Ryan at Agile Socal June, 2011.

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

No Downloads
Views
Total views
660
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Managing Technical Debt by John Ryan 2011.6.22

  1. 1. Managing Technical DebtJohn RyanTechnical Agile Coach © 2011 BigVisible Solutions, Inc. All Rights Reserved
  2. 2. Overview Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level • ____level Who cares? Third _____ • _____level What _____ Fourth is “Technical Debt”? • ____ _____incur Technical Debt? Fifth levelwe How do •  Why do we take on Technical Debt? •  What can we do? © 2011 BigVisible Solutions, Inc.. All Rights Reserved2
  3. 3. Current Reality 1 Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level Are you experiencing Technical Debt? © 2011 BigVisible Solutions, Inc.. All Rights Reserved3
  4. 4. Why Do We Care? (1 of 4) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved4
  5. 5. Why Do We Care? (2 of 4) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved5
  6. 6. Why Do We Care? (3 of 4) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved6
  7. 7. Why Do We Care? (4 of 4) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved7
  8. 8. What’s Really Going On Here? Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level Progress = ! (Change - Quality Control) " ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level ! (Diagnose + Fix) # Defects Change ! Complexity Risk of Defect = Quality Control © 2011 BigVisible Solutions, Inc.. All Rights Reserved8
  9. 9. Current Reality, Part 2 Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level What is Technical Debt? © 2011 BigVisible Solutions, Inc.. All Rights Reserved9
  10. 10. What is Technical Debt? (1 of 2) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth levelDebt is… Technical ____ _____ Fifth level borrowing against our capacity to quickly respond tomorrow for the ability to make progress today. © 2011 BigVisible Solutions, Inc.. All Rights Reserved10
  11. 11. What is Technical Debt? (2 of 2) The Debtedit Master text styles ____ __ itself: Click to ____ _____ ____ ______ • _____unit test coverage (low quality control) Poor _____ Second level • ____level Third _____ software (comprehension complexity)* Poorly written _____ _____ Fourth level •  Software design that does not match the problem being solved ____ _____ Fifth level from dissonance) (complexity •  Repeated tasks remain manual (high risk of mistakes/defect) Interest Payments: •  Takes longer / more effort / is more error-prone to develop new features. (slower progress) •  Time wasted doing automatable tasks manually. (pure waste) •  Takes longer for new team members to ramp-up. (due to complexity) •  Decreasing quality delivery à Lowered morale à low gumption * WARNING: Code Quality metrics are diagnostic aides, NOT deterministic measures. Do not manage to them. © 2011 BigVisible Solutions, Inc.. All Rights Reserved11
  12. 12. Current Reality, Part 3 Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level How did we get here? © 2011 BigVisible Solutions, Inc.. All Rights Reserved12
  13. 13. How Does It Happen? (1 of 3) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level Original Quadrant: http://martinfowler.com/bliki/TechnicalDebtQuadrant.html © 2011 BigVisible Solutions, Inc.. All Rights Reserved13
  14. 14. How Does It Happen? (2 of 3) We Don’tedit Master text styles ____ __ Know Click to ____ _____ ____ ______ Second level know how to rigorously define our business process •  We don’t _____ _____ •  We don’t know responsible programming practices ____ _____ Third level Irresponsibly _____ _____ Fourth level Fifth level away time on lower priority tasks ____We fritter •  _____ •  We neglect design, coding and automation discipline Unavoidably (Intrinsic) •  We ALL learn as we go: •  … about our business process •  … how well our software solution meets our business needs. Deliberately (Strategic) •  You fully understand both approaches and you trade a technical –bility for a business –bility. •  We take the “quick & dirty” approach to meet a real deadline. •  And fork an effort to come-up with a cleaner solution. © 2011 BigVisible Solutions, Inc.. All Rights Reserved14
  15. 15. John’s Totally Unscientific Graph Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved15
  16. 16. How far do you want to go? Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved16
  17. 17. Future Reality Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level What can we do? © 2011 BigVisible Solutions, Inc.. All Rights Reserved17
  18. 18. What Can We Do? (1 of 3) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level John J. Doe © 2011 BigVisible Solutions, Inc.. All Rights Reserved18
  19. 19. What Can We Do? (2 of 3) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level The Three-Fold Path to Satisfaction ____ _____ Third level _____ _____ Fourth level 1.  Fix what you can control. ____ _____ Fifth level 2.  Address what you can influence. 3.  Escalate what you need help with. © 2011 BigVisible Solutions, Inc.. All Rights Reserved19
  20. 20. What Can We Do? (3 of 3) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level The Six_____ Transformational Patterns to Cure Human Causes ____ Golden* Third level _____ _____ Fourth level 1.  Collapse the Org ____ _____ Fifth level 2.  Quality First 3.  Active Product Ownership 4.  Hire for Cross-Functional Teams 5.  Encourage Communication 6.  Avoid Arbitrary Mandates * Jonathon Golden (see references at end of deck) © 2011 BigVisible Solutions, Inc.. All Rights Reserved20
  21. 21. As a Developer… (1 of 2) Give Test-Driven _____ ____ ______ serious college try. Click to edit Master text styles ____ __ ____ Development (TDD) a Start with_____ Shore’s “Let’s Play TDD”: _____ James Second level ____ Install 1.  _____ Third level Eclipse: _____level_____ Fourth http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr2 2.  Start the first video: ____ http://www.youtube.com/watch?v=f3G7gu1IHws _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved21
  22. 22. As a Developer… (2 of 2) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level Pick-up a Chop-Sharpening Book: 1. ____level Programmer Third _____ Pragmatic _____ _____ Fourth level 2. ____ _____ Refactoring Fifth level 3.  Head First Design Patterns 4.  Managing Software Debt Here’s the most up-to-date list: http://tinyurl.com/422aco8 © 2011 BigVisible Solutions, Inc.. All Rights Reserved22
  23. 23. Mapping Technical Debt Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level Chris Sterling’s Technical Debt Mapping: ____ _____ Third level 1.  Draw_____ _____ major Fourth level application components on a whiteboard. ____ _____ Fifth level 2.  Write down Technical Debt on stickies and put them on the board. 3.  Identify the potential value and cost to the team, if addressed. 4.  Prioritize by balancing value, cost and immediacy. © 2011 BigVisible Solutions, Inc.. All Rights Reserved23
  24. 24. Coda (1 of 2) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level What Stuck? © 2011 BigVisible Solutions, Inc.. All Rights Reserved24
  25. 25. Coda (2 of 2) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level What One Thing Will You Do Next? © 2011 BigVisible Solutions, Inc.. All Rights Reserved25
  26. 26. References Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level • ____level Golden’s Cutter IT Journal Article: Jonathon Third _____ _____ _____ Patterns for Curing the Human Causes of Technical “Transformation Fourth level Debt” ____ _____ Fifth level http://www.cutter.com/content/itjournal/fulltext/2010/10/itj1010f.html •  Martin Fowler on the Technical Debt Quadrant http://martinfowler.com/bliki/TechnicalDebtQuadrant.html •  Ward Cunningham explains the origin of ”Technical Debt” http://www.youtube.com/watch?v=pqeJFYwnkjE •  Chris Sterling’s “An Exercise to Identify and Prioritize Software Debt” http://www.gettingagile.com/2010/08/13/an-exercise-to-identify-and- priofitize-software-debt/ •  Sonar – Excellent Code Quality Diagnostic* Tool http://www.sonarsource.org/ * “Diagnostic” meaning a way to sniff potential problems; don’t let metrics drive your thinking, just inform it. © 2011 BigVisible Solutions, Inc.. All Rights Reserved26

×