Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Managing Technical Debt - 2011 webinar

6,622 views

Published on

Slides for BigVisible's John Ryan presenting on the source of and strategies for mitigating Technical Debt. (see http://vimeo.com/30135194)

Published in: Technology, Business
  • Be the first to comment

Managing Technical Debt - 2011 webinar

  1. 1. Mastering Technical DebtJohn RyanTechnical Agile Coach © 2011 BigVisible Solutions, Inc. All Rights Reserved
  2. 2. Overview Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level • ____level What is “Technical Debt”? Third _____ • _____level it happen? How _____ Fourth does • ____ _____ do? Fifth level we What can © 2011 BigVisible Solutions, Inc.. All Rights Reserved
  3. 3. Click to edit Master text styles____ __ ____ _____ ____ ______ _____ _____Second level ____ _____Third level _____ _____Fourth level ____ _____Fifth level What is Technical Debt? © 2011 BigVisible Solutions, Inc.. All Rights Reserved
  4. 4. Click to edit Master text styles____ __ ____ _____ ____ ______ _____ _____Second level ____ _____Third level _____ _____Fourth levelDebt is…Technical ____ _____Fifth level borrowing against our capacity of tomorrow to make more progress today. © 2011 BigVisible Solutions, Inc.. All Rights Reserved
  5. 5. The Structure and Process of Waste Technical ____ is an accumulation of defects: ____ __ Debt _____ ____ ______ Click to edit Master text styles • _____ level in the software (detected or not) Second Errors Intent _____ • ____level Third _____ of requirements Lack of clarity • _____level of the software Poor _____ Fourth design • ____ _____ design of the software (not matching the business’ needs) Fifth level Inappropriate • Thick-thumb a step in a process that could be automated An Interest Payment is Time Wasted… • …working around or fixing existing errors • …reworking code once requirements are clarified • …in the extra effort it takes to understand complex code • …square-pegging new features • …baby-sitting tasks that could be automated © 2011 BigVisible Solutions, Inc.. All Rights Reserved
  6. 6. Click to edit Master text styles____ __ ____ _____ ____ ______ _____ _____Second level ____ _____Third level _____ _____Fourth level ____ _____Fifth level How Do We Incur Technical Debt? © 2011 BigVisible Solutions, Inc.. All Rights Reserved
  7. 7. Mere Exposure Principle Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved
  8. 8. Defaulting Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved
  9. 9. Best of Intentions Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved
  10. 10. The Vicious Cycle Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved0
  11. 11. What’s Really Going On Here? Click to edit Master text styles ____ __ ____ _____ ____ ______ ∑(_____ _____ Second level ) ____ _____ = Capacity − Progress Changes Third level ∑( Quality Control ) _____ _____ Fourth level ____ _____ Fifth level − ∑ ( [ Diagnose + Fix] × Complexity ) # Defects Change× Complexity Probability of Defect = Quality Control © 2011 BigVisible Solutions, Inc.. All Rights Reserved1
  12. 12. Minimal Quality Control Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved2
  13. 13. Responsible Quality Control Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved3
  14. 14. Production vs. Production Capacity Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved4
  15. 15. Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level How Do We Master Technical Debt? © 2011 BigVisible Solutions, Inc.. All Rights Reserved5
  16. 16. Step 1: Identify The Root Cause Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level 1. Start with the symptom (Interest Payment). ____ _____ Third level 2. Then_____ did that happen?” or “what caused that?” (Technical _____ ask, Fourth level “why ____ _____ Fifth level Debt). 3. Keep asking “why?” until you get to the root cause. (Choice that led to creating Technical Debt) © 2011 BigVisible Solutions, Inc.. All Rights Reserved6
  17. 17. Step 2: Address It Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level 1. If it’s in your control, fix it! ____ _____ Third level 2. If you_____ _____ have Fourth level influence, connect it to a common goal. ____ _____ Fifth level 3. If it’s out of your hands, communicate it’s impact. © 2011 BigVisible Solutions, Inc.. All Rights Reserved7
  18. 18. Step 3: Profit! Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved8
  19. 19. Step 1: Identify The Root Cause Click to edit Master text styles ____ __ ____ _____ ____ ______ Wasted time _____ level _____ Second reworking a feature ____ _____ Third level …and you _____ _____ requirement Fourth level mitigate this. Found missing ____ _____ Fifth level in the game late BA: thought Dev: coded QA: tested was obvious to the spec. code to spec. Work is being “handed- off” instead of shared. Address this… We’re working in “silos” © 2011 BigVisible Solutions, Inc.. All Rights Reserved9
  20. 20. Step 2: Address it Click to edit Master text styles ____ __ ____ _____ ____ ______ Reworked a _____ _____ Second levelfeature ____ _____ Third level _____ _____ requirement Fourth level Found missing Requirements are ____ _____ Fifth level in the game late questioned upfront. BA: thought Dev: coded QA: tested Work stories together. was obvious to the spec. code to spec. Work is being “handed- Trade-off some docs for off” instead of shared. conversation Collapse the We’re working in “silos” Organization © 2011 BigVisible Solutions, Inc.. All Rights Reserved0
  21. 21. Step 3: Profit! Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved1
  22. 22. For Product Owners Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level The Six_____ Transformational Patterns to Cure Human Causes ____ Golden* Third level _____ _____ Fourth level 2.Collapse the Org ____ _____ Fifth level 3.Quality First 4.Active Product Ownership 5.Hire for Cross-Functional Teams 6.Encourage Communication 7.Avoid Arbitrary Mandates * Jonathon Golden (see references at end of deck) © 2011 BigVisible Solutions, Inc.. All Rights Reserved2
  23. 23. For Developers Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level Invest in your Professional Portfolio: ____ _____ Third level _____ _____ Fourth level 2.Build Quality In 3.Hone _____ ____ Your Fifth level Design Chops © 2011 BigVisible Solutions, Inc.. All Rights Reserved3
  24. 24. Developers: Build Quality In Give Test-Driven_____ ____ ______a serious college try. Click to edit Master text styles ____ __ ____ Development (TDD) 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 Fifth level the first video: ____ Start 2. _____ http://www.youtube.com/watch?v=f3G7gu1IHws © 2011 BigVisible Solutions, Inc.. All Rights Reserved4
  25. 25. Developers: Hone Your Design Chops Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level Pick-up a Chop-Sharpening Book: ____ _____ 2.Third level Programmer Pragmatic _____ _____ Fourth level 3.Fifth level Refactoring ____ _____ 4. Head First Design Patterns 5. Managing Software Debt Here’s the most up-to-date list: http://tinyurl.com/422aco8 © 2011 BigVisible Solutions, Inc.. All Rights Reserved5
  26. 26. For Scrum Masters Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level Chris Sterling’s Technical Debt ____ _____ Third level Mapping: _____ _____ Fourth level 2.Draw_____ application ____ major Fifth level components on a whiteboard. 3.Write down Technical Debt on Post-Its and put them on the board. 4.Express them as “Quality Improvement Stories” (INVEST) where the value is expressed in terms of ROI. 5.PO: Prioritize by balancing value, cost and immediacy. © 2011 BigVisible Solutions, Inc.. All Rights Reserved6
  27. 27. The Journey of 1,000 Miles… Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level 1. List_____ Third level recent episodes of significant time wasted. ____ three • Fourth “It_____ 2 days to code-up the cross-brand cart and two weeks to test it.” _____level me took • “…and if we had known that was the real requirement, we would have done ____ it differently.” _____ Fifth level • “We almost had a good build, but there were a bunch of problems we had to fix due to configuration differences between the developer sandbox and our test environment.” • “I spent a whole day reviewing how we process messages before I could add an additional handler.” 2. Pick one you’re most familiar with: can you think of just one reason why that happened? • “… the message processor logic is overly complex; the architecture team had planned to handle any kind of inbound message, but we’re really just using JSON and it’s almost always synchronous. Also, we don’t have very good test coverage.” © 2011 BigVisible Solutions, Inc.. All Rights Reserved7
  28. 28. …begins with the first step. Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level 1. Can you think of one thing you learned today that could help make a ____ _____ Third level difference? _____ _____ Fourth level • We could challenge the mandate from Architecture to maintain a generic ____ message processor. If we could simplify the implementation of this module, it _____ Fifth level would reduce how much time it takes to made modifications. 2. What’s the very next action step? • We could write a “Quality Improvement Story”: “As a developer, I want the message processing module to be simplified so that it takes no more than half a day to add a new message handler. This includes writing a small suite of unit tests (happy path) to ensure confidence in this refactoring.” It’s probably an 8 point story (which have been taking us between 4 to 7 days to complete: [assume $80k salary] worst-case $2,240); what took 12 hours should have taken 4, so the interest rate is currently 200% and this payment was ~$320. The ROI is about 7 message handlers. © 2011 BigVisible Solutions, Inc.. All Rights Reserved8
  29. 29. Summary What is Technical Debt? Click to edit Master text styles ____ __ ____ _____ ____ ______ •“Technical Debt” is the structural defects in our system _____ _____ Second level •“Interest_____ are the symptoms we experience, caused by Technical Debt ____ Payments” Third level •Technical _____ _____ Debt Fourth level is caused by choices that we make. ____ _____ Fifth level How does it happen? •A vicious cycle of degrading quality (push faster than what the team can handle). •Non-trivial development without quality control  risk of “getting cooked” What can we do? •The keys: Investing in quality control and managing complexity •Paying Technical Debt: Dig to the root cause of it and mitigate that. •Product Owners: understand and apply the Six Golden Transformation Patterns. •Developers: invest in your professional portfolio and get better at your craft. •Scrum Masters: guide the team to harvest “Quality Improvement Stories” © 2011 BigVisible Solutions, Inc.. All Rights Reserved9
  30. 30. Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved0
  31. 31. References Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level • Jonathon Golden’s Cutter IT Journal Article: ____ _____ Patterns for Curing the Human Causes of Technical Third level “Transformation Debt” _____ _____ Fourth level http://www.cutter.com/content/itjournal/fulltext/2010/10/itj1010f.html ____ _____ Fifth level • 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-so • Sonar – Excellent Code Quality Diagnostic* Tool http://www.sonarsource.org/ • “Tempo: Timing Tacitics and Strategy in Narrative-Driven Decision- Making“, Venkatesh Rao • “All Software Is Defective“http://www.njspin.org/present/ 200706_Rakitin_Steve_All_Software_Is_Defective.pdf * “Diagnostic” meaning a way to sniff potential problems; don’t let metrics drive your thinking, just inform it. © 2011 BigVisible Solutions, Inc.. All Rights Reserved1

×