We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byNicholas Roach
Modified over 2 years ago
Michael Hall Three Beacons firstname.lastname@example.org 214.783.3936 Managing Technical Debt Using Agile
Premise 2 © Three Beacons LLC, 2011 “All known compound objects decay and become more complex with the passage of time. Software is no exception.” www.synerzip.com
What is Technical Debt? 3 © Three Beacons LLC, 2011 “Technical Debt” term coined by Ward Cunningham in 1992 Also called “design debt” Choosing a design or construction approach that is expedient But increases complexity and is costlier in the long term www.synerzip.com
The Debt Metaphor 4 © Three Beacons LLC, 2011 Use a credit card to obtain something now Pay for it later - financial debt Plus interest (short term) (future payment due) (the cost of being able to do this) www.synerzip.com
Technical Debt 5 The consequences of: slapdash architecture poor design hasty coding (versus rapid) lack of quality focus others? The danger occurs when the debt is not repaid quickly. Every minute spent on not-quite-right code results in interest on that debt.interest © Three Beacons LLC, 2011 www.synerzip.com
Technical Debt 6 T or F: all technical debt is bad and should be avoided at all costs. © Three Beacons LLC, 2011 www.synerzip.com
Types of Technical Debt 7 © Three Beacons LLC, 2011 An outline to use when discussing technical debt 1.Unintentional 2.Intentional A.Short-term B.Long-term www.synerzip.com
Types of Technical Debt 8 © Three Beacons LLC, 2011 www.synerzip.com
Technical debt quadrant 9 © Three Beacons LLC, 2011 INTENTIONAL UNINTENTIONAL RECKLESS PRUDENT “We don’t have time to mess with coding standards.” “There is a standard way of doing this?” “We will ship on time and revise the quick fix as our top priority in the next release.” “We now know what to avoid.” * www.synerzip.com
Technical debt quadrant 10 © Three Beacons LLC, 2011 * Short-term: Only if the commitment is there to schedule, prioritize, and fix soon (e.g. in the next sprint). Long-term: Only if the commitment is there to sponsor projects to resolve the debt. If you must take on technical debt for valid reasons, then “respect the asterisk”. www.synerzip.com
Cost of Technical Debt © Three Beacons LLC, 2011 11 www.synerzip.com
Technical Debt - impact 12 “The all too common problem is that development organizations let their debt get out of control and spend most of their future development effort paying crippling interest payments.” - Jeff Atwood, www.codinghorror.com Programming and Human Factorswww.codinghorror.com © Three Beacons LLC, 2011 CASE STUDY www.synerzip.com
Person Team Business Technical Debt – impacts 13 © Three Beacons LLC, 2011 1990 - 2000 2000 - 2010 CASE STUDY www.synerzip.com
Techniques for PREVENTING Technical Debt © Three Beacons LLC, 2011 14 www.synerzip.com
1. Draw the Line 15 © Three Beacons LLC, 2011 Culture shift: From this day forward … We no longer allow technical debt! Only exception: tactical or strategic business justification Even then, we “respect the asterisk” * www.synerzip.com
2. Strong “Definition of Done” Things to consider: Coding standards adherence Code reviews Static analysis Dynamic purification Complexity analysis Written unit tests 0 known bugs 100% test cases pass Test cases automated Etc. Visible for User Story Sprint Release © Three Beacons LLC, 2011 16 www.synerzip.com
3. Test-Driven Development TDD: write test, fail the test, then write code to pass the test. Refactor when needed. Develop higher quality streamlined code! © Three Beacons LLC, 2011 17 www.synerzip.com
4. Collaborative Designs Whiteboard sessions on design topics Leverage collective experience of the team Wisdom of the crowd User Design Studio Less reliance on subject-matter experts Etc. Increase the chance of an optimal design! © Three Beacons LLC, 2011 18 www.synerzip.com
Recap Draw the line! Strong definition of done TDD Collaborative designs © Three Beacons LLC, 2011 19 Use these agile techniques to help prevent technical debt www.synerzip.com
Techniques for Managing NEW Technical Debt © Three Beacons LLC, 2011 20 www.synerzip.com
1. Debt Backlog 21 © Three Beacons LLC, 2011 Used when technical debt is business justified Tracks debt by name Lists work tasks associated with each debt Includes an estimate Tracks the commitment to fix schedule Form: product backlog entries, separate Excel spreadsheet, special designation in defect DB, tool entry, sticky notes, etc. Helps to keep the debt service level visible! Track the debt as you go! www.synerzip.com
Debt Backlog - example 22 © Three Beacons LLC, 2011 www.synerzip.com
2. Automatic Payment Plan 23 © Three Beacons LLC, 2011 Pay as you go Slow team’s velocity down to service the debt as it is incurred Include technical debt items in upcoming sprints As quickly as feasible In line with fulfilling commitment made when debt was justified Service the debt as you go! Keep it as close to $0 as possible. www.synerzip.com
3. Makeup Stories 24 “Makeup”: a story that apologizes to the code base And promises to fix it! Placeholder indicating non-user story work For when you incur technical debt For any reason you circumvented quality Use a different color card (red or pink is good) Add it to the product backlog Prioritize into next sprint (if possible) Good way to track technical debt. © Three Beacons LLC, 2011 www.synerzip.com
Makeup Stories - example 25 © Three Beacons LLC, 2011 www.synerzip.com
4. Adopt a Debt! 26 User Story Makeup Story © Three Beacons LLC, 2011 Good way to insure that makeup stories get worked. “Adopt” approach If a user story leverages the debt area, “adopt” the debt card as part of the user story effort Add the makeup story estimate into the user story www.synerzip.com
5. Dedicated Sprint to Service Debt 27 © Three Beacons LLC, 2011 Similar to a “bugfix sprint” Do this only if really needed Preponderance of business debt occurring during project Team concerned about debt growth Upcoming features rely on code that has debt Or, combine for a bugfix/debt sprint Periodically pay down your debt throughout the project! www.synerzip.com
Recap Debt backlog Service the debt commitment Makeup stories Adoption Dedicated debt sprint © Three Beacons LLC, 2011 28 Use these agile techniques to manage new technical debt www.synerzip.com
Techniques for Managing LEGACY Technical Debt © Three Beacons LLC, 2011 29 www.synerzip.com
1. Re-Do Project 30 © Three Beacons LLC, 2011 Business decides on a total re-design and re-write Happens rarely, hard to justify Hard for execs to see the value Often timed with new technology introduction How to insure that the new system is really better? Rigorous quality plan Strong Definition of Done Iterative development Feedback loops Inspect & adapt Watchful eyes Not an answer: “better people” www.synerzip.com
2. “Small Chunks” Approach Smaller chunks of effort In conjunction with normal dev flow Can work well across an API abstraction Often requires an architectural assessment Can require code changes to other parts of legacy base (risky) Happens more often than Re-Do projects Must insure end result is worth the effort! © Three Beacons LLC, 2011 31 www.synerzip.com
3. 70/30 Rule 32 70% - new user stories 30% - paying down the debt of a legacy system Rule can also be used to manage new technical debt Helps to have a PO with history of the legacy system Socialize that legacy improvements are part of this project! Ask for commitment Ask to be held accountable Do your part Ask others to continue the tradition 70 30 © Three Beacons LLC, 2011 www.synerzip.com
4. “While There” Rule While adding a new feature Any legacy function modified for the feature must be rewritten according to quality plan Variable names Coding guidelines Braces alignment Etc. Works well for support team also (while fixing bugs) CAUTION: may introduce bugs Final thought on case study: We improved almost 50% of the 4M LOC Significant drop in critical defects reported from customers But, we introduced at least 10 new bugs on existing functionality Each time – required additional justification to continue the effort © Three Beacons LLC, 2011 33 www.synerzip.com
Recap Re-Do project Small chunks approach 70/30 rule “While there” rule © Three Beacons LLC, 2011 34 Use these agile techniques to manage legacy technical debt www.synerzip.com
Conclusion © Three Beacons LLC, 2011 35 www.synerzip.com
36 © Three Beacons LLC, 2011 “Developers know their code has technical debt, but they feel powerless to stop adding to it.” – David Rooney, “Technical Debt: Challenging the Metaphor” A Sobering Thought There is hope – using Agile. www.synerzip.com
37 © Three Beacons LLC, 2011 “Take my advice: go well, not fast. Care about your code. Take the time to do things right. In software, slow and steady wins the race; and speed kills. – Robert C. Martin (Uncle Bob), president of Object Mentor and agile methods author Managing Technical Debt - conclusion www.synerzip.com
Good References 38 © Three Beacons LLC, 2011 www.synerzip.com
Questions? www.synerzip.com Hemant Elhence, email@example.com 469.322.0349 Agile Software Product Development Partner 39 www.threebeacons.com Short/Long term Agile coaching Facilitated improvement Agile Methods training: Scrum Team Training Agile / Scrum User Stories – Requirements w/ Agility Product Owner Role ScrumMaster Role Etc. All courses can be delivered onsite at your location Michael Hall, firstname.lastname@example.org 214.783.3936 www.synerzip.com © Three Beacons LLC, 2011
Confidential Synerzip in a Nut-shell 1. Software product development partner for small/mid- sized technology companies Exclusive focus on small/mid-sized technology companies, typically venture-backed companies in growth phase By definition, all Synerzip work is the IP of its respective clients Deep experience in full SDLC – design, dev, QA/testing, deployment 2. Dedicated team of high caliber software professionals for each client Seamlessly extends client’s local team, offering full transparency Stable teams with very low turn-over NOT just “staff augmentation”, but provide full mgmt support 3. Actually reduces risk of development/delivery Experienced team - uses appropriate level of engineering discipline Practices Agile development – responsive, yet disciplined 4. Reduces cost – dual-shore team, 50% cost advantage 5. Offers long term flexibility – allows (facilitates) taking offshore team captive – aka “BOT” option www.synerzip.com © Three Beacons LLC, 2011
Confidential Synerzip Clients www.synerzip.com © Three Beacons LLC, 2011
Thank You! www.threebeacons.com Michael Hall email@example.com 214.783.3936 www.synerzip.com Hemant Elhence firstname.lastname@example.org 469.322.0349 Agile Software Product Development Partner Call Us for a Free Consultation! 42 www.synerzip.com © Three Beacons LLC, 2011
©2011 Improving Enterprises, Inc. Epics and Agile Planning.
Agile Metrics, Value, and Software
Webinar Series Sins of Scrum and other Agile Anti-Patterns Todd Little VP Product Development September Webinar.
Responsive Web Design Nikhil J Deshpande Webinar – May 14, 2014 Sponsored by.
Analysis in Agile: It’s More Than Just User Stories Kent Webinar Series 2015.
© 2015 Webinar Series 2015 what is the role of an architect in an agile organization? 1 The Agile Architect / November 2015.
Is Agile Any Better? Damon Poole 2009 Scrum and Kanban Like Chocolate and Peanut Butter Damon Poole – CTO, AccuRev.
1 Copyright © 2015, Drilling Info, Inc. All right reserved. All brand names and trademarks are the properties of their respective companies. Webinar Series.
©2011 Improving Enterprises, Inc. Breaking down the Epic User Story.
Lifecycle of a User Story Webinar Series © Three Beacons LLC, 2015 Lifecycle of a User Story Mike Hall Three Beacons
Valtivity Panning for User Story Gold.
Webinar Series 2015 ©Pollyanna Pixton Team Ownership: How do we help it happen? Presented by Pollyanna Pixton.
Slicing Pie EUREKA!. Win a signed copy: SlicingPie.com/synerzip
1 Agile Estimation V. Lee Henson CST. 2 Founded in Salt Lake City, UT Personally Trained, Coached, and or Mentored at 41 of the Fortune 100 Companies.
DESIGNING FOR MOBILE NIKHIL J DESHPANDE. Nikhil Deshpande Digital Strategy Director, GeorgiaGov
Elephants in the Agile Room. Reflections on 10 Years of Agility Todd Little Sr. Development Manager Landmark Graphics.
Todd Little Sr. Development Manager Landmark Graphics Context Driven Agile Leadership One Size Doesn’t Fit All.
Using Agile Approach with Fixed Budget Projects April 15, 2009.
Confidential Lessons Learned in Agile Development Jim Smith PDX, Inc.
Michael Hall Three Beacons Performance Evaluation for Agile Team Members.
© 2017 SlidePlayer.com Inc. All rights reserved.