Identifying Managing & Eliminating Technical Debt


Published on

Identifying, Managing, & Eliminating Technical Debt is the key to successfully getting your business on track. Gone are the days where we could write endless checks that we did not have the people to cover. We need to work harder to make the debt known and address the debt up close and personal before it gets out of hand.

The purpose here is to educate the Agile work place about what technical debt is, learn how to eliminate it, and how to avoid ever running into it again.

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • Many people question the definition of technical debt. In fact, I have discovered that the definition even varies from one organization to the next. The definition I propose for technical debt may contain some things that surprise you…\n\n
  • Average Family Credit Card Debt\nYou might be thinking, " I owe my creditors thousands of dollars - there can't be anyone worse off than me!" Or perhaps you are thinking, "I need to declare personal bankruptcy!" This may be a slight exaggeration:\nThe average family carries a balance from month to month of $8,000.00.\nMost families are in a similar situation. Review the statistics below to see if you fall in line with the national averages. Note: If your financial situation indicates that you are above the national average, do not panic! While bankruptcy is available, it should be the LAST choice. \nFor every man, woman and child in the country, Americans owe $2,293.00 in credit card debt (based on current population figures). \nAmericans' "national credit card debt" is equal to an average of: \n$3,632.00 per cardholder $6,400.00 per household $8,000.00 per household with at least one credit card \nThe average balance on a single credit card is $8,000.00. \nThe average interest rate is 19% \nLate fees are now $35.00 \nThe average household has 10 credit cards. \nAlmost half the households in America report having difficulty paying their minimum monthly payments. \nAmericans paid out approximately $82 billion in interest alone last year. \nThe typical Minimum Monthly Payment is 90% interest and 10% principal. \n\n
  • Intentional Technical Debt – This happens when an organization makes a conscious decision to optimize for the present rather than for the future. This leads to decisions like, "We don't have time to make that db connection now, so we'll write some glue code that keeps the system in synch for now and release a patch after we ship." Or “Code was written by a contractor that doesn't follow our coding standard; so, we'll clean that up later." Or "We would have missed our release if we took the time to write all the unit tests for the code we wrote the last 2 months of the project. We'll right those tests after the release." \n\nUnintentional Debt – Some debt just happens as part of the cost of doing business. For example, a design approach turns out to be error-prone or a junior programmer writes bad code. This technical debt is the result of doing a poor job. In some cases, this kind of debt can be incurred unknowingly, for example, your company may acquire a company that has accumulated significant technical debt that you don't identify until after the acquisition. Sometimes, ironically, this debt can be created when a team stumbles in its efforts to rewrite a debt-laden platform and inadvertently creates more debt.\n\n
  • Outstanding Bugs & Defects – This is the most talked about form of debt. Constantly focusing on a laundry list of debt from days long past prevents the team from maintaining focus on whatever the task at hand may be. Take a moment to determine how much time and effort would be spent working on these items and focus the attention toward the effort that yields the greatest benefit.\nPlanned Work – Nothing can cripple a team faster than the never-ending backlog. People on teams already have trouble focusing on 2-4 weeks worth of work. Introducing work to the team that will likely never get done forces the team to focus on far more than the average attention span could endure. \nCode & Regression – This one is simple and practical. If you have code, it should be well tested and potentially shippable at the end of any iteration. This would include a suite of automated regression tests to support the code both today and in the future without having to manually create your work. \nUnplanned Interruptions- The more frequently fires arise and Chicken Little appears, the more teams quickly lose their focus. Teams have made the bad habit of accepting that frequent unplanned changes to our current work somehow are incorporated in Agile. This is simply not the case. We need to support the team and help them not be interrupted.\nNever Used Code - How often do we write code and discover that the code is never used as part of the end product? Writing code that we never use is both wasteful and harmful to the morale of the team. \nImpose WIP Limits – Without WIP limits, QA is forced to hyper-analyze everything at the end of each iterative cycle. Establishing known limits and enforcing them allows for the work to come in a more stable flow to QA as opposed to the traditional spike. \nReality Check – If you have technical debt, you need to face the judges and admit that you have this issue. You need to strategize and plan for how you intend to eliminate debt. \n\n
  • \n
  • \n
  • One of the most challenging decisions to make is whether to stop bug fixing the old product and focus on the new one or continue to support a release that will soon be replaced. The key is to identify whether the product will continue to be used for the long term or if the product will soon be replaced. In many cases people allow older code to exist and support it for far past the expected industry standard support timeframe. \n\n
  • \n
  • \n
  • One indicator of the debt problem in the U.S. is the growing number of personal bankruptcies declared each year. This not only affects the individual consumer for up to 10 years, but it also creates a strain on the economy. Personal bankruptcies are at an all-time high! In 2003 there were more than 1.65 million declared. Reasons for this include a lack of financial literacy among Americans, as well as an inability to control spending habits.\n\nDo not fall into this situation! \n\n
  • If your credit card balance is $8,000.00, and you make the minimum monthly payment at 18% interest, it will take you 25 years, 7 months to pay off the debt. You will pay $15,432.00 in interest charges, (almost twice the balance), bringing your total to $23,432.00.\nIf you didn't have your credit card payment of $218.00 a month, and instead, you create an investment plan wherein you deposit those funds, in 25years you could retire with $1,354,930.00 in the bank. (Average long-term return rates are 12%.) So credit card debt not only cost consumers thousands of dollars in interest, but also prohibits many Americans from adequately saving for their retirement. \nTo calculate your Debt to Income (DTI) Ratio, divide your debt by your income. (Ex. A person making $20,000.00 a year gross income with $10,000.00 of outstanding debt has a 50% DTI Ratio.) If your Ratio is over 45%, you will be offered higher interest rates when applying for loans. The lenders will see you as "overextended."\n\n\n
  • Dave Ramsey Says: \n\nThe math seems to lean more toward paying the highest interest debts first, but what I have learned is that personal finance is 20% head knowledge and 80% behavior.You need some quick wins in order to stay pumped enough to get out of debt completely. When you start knocking off the easier debts, you will start to see results and you will start to win in debt reduction. \nDebt Snowball Plan\nThe principle is to stop everything except minimum payments and focus on one thing at a time. Otherwise, nothing gets accomplished because all your effort is diluted. First accumulate $1,000 cash as an emergency fund. Then begin intensely getting rid of all debt (except the house) using my debt snowball plan. List your debts in order with the smallest payoff or balance first. Do not be concerned with interest rates or terms unless two debts have similar payoffs, then list the higher interest rate debt first. Paying the little debts off first gives you quick feedback, and you are more likely to stay with the plan.\nBuild Momentum\nRedo this each time you pay off a debt, so you can see how close you are getting to freedom. Keep the old papers to wallpaper the bathroom in your new debt-free house. The New Payment is found by adding all the payments on the debts listed above that item to the payment you are working on, so you have compounding payments which will get you out of debt very quickly. Payments Remaining is the number of payments remaining when you get down the snowball to that item. Cumulative Payments is the total payments needed, including the snowball, to pay off that item. In other words, this is your running total for Payments Remaining.\n\n\n
  • Dave Ramsey’s Baby Steps\nThe followings are the seven steps in Dave Ramsey’s financial plan.\n$1,000 to start an Emergency Fund\nPay off all debt using the Debt Snowball\nThree to six months of expenses in savings\nInvest 15 percent of household income into Roth IRAs and pre-tax retirement\nCollege funding for children\nPay off home early\nBuild wealth and give!\nThe first thing I’d like you to note that Dave’s plan is not the only financial plan. However, it is as a good plan and it works. So it’s a good place to start if you’re looking to get out of debt and get your finances in order. You should also note that Dave’s plan focuses on the psychology more than the mathematics, and this is one reason why it works better for so many people.\n\n\n
  • \n
  • \n
  • \n
  • \n
  • Please send me your feedback and or thoughts. \n
  • Identifying Managing & Eliminating Technical Debt

    1. 1. Identifying, Managing, &Eliminating Technical DebtV. Lee Henson CST/PMP 1
    2. 2. Identifying, Managing, & EliminatingTechnical Debt Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 2
    3. 3. ✤ Founded in 2007 - Salt Lake City, UT✤ Specialize in Public & Private Certification Workshops & Courses✤ Deep understanding of Agile & Traditional Project Management, (PMP), RUP, Lean, Kanban, Scrum, (CST), XP, & PMI-ACP✤ Proven Applied Agile Principles in Software, Hardware, Financial, Insurance, Construction, Medical, Marketing, Legal, Entertainment, Research, Military, Government, Retail, Education, Law Enforcement, and many more... 3
    4. 4. V. Lee Henson CST✤ Certified Scrum Trainer✤ Project Management Professional✤ PMI- Agile Certified Practitioner✤ Certified Lean Agile Professional✤ Motivational Speaker & Executive Coach✤ Author of The Definitive Agile Checklist✤ Inventor of Rapid Release Planning✤ Information Technology / Psychology 4Copyright 2012 AgileDad LLC Licensed for Classroom Use Only.
    5. 5. Session Topics:✤ Defining Technical Debt ✤ Avoid Additional Debt at Any Cost✤ Consumer Debt - The Facts ✤ No More Minimum Monthly✤ Identifying Key Areas of Concern Payments✤ Enabling & Empowering Testers ✤ Learn to Snowball the Debt✤ Stop Building New Product ✤ Achieve Financial Freedom✤ Make the Commitment to ✤ Share The Wealth Remove Debt ✤ Open Q&A✤ A Matter of Transparency Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 5
    6. 6. What Is Technical Debt: ✤ What is Technical Debt? ✤ Are we only talking about open support tickets? ✤ What about ongoing system maintenance? ✤ Do I need to have every test automated? ✤ What about all of the ‘fires’ we fight? CLS? Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 6
    7. 7. Consumer Debt - The Facts:✤ Take a look around you – Most of the people in this room have some form of excessive consumer debt✤ Many make it a habit to spend more than they earn✤ Although few do it to live outside of their means, most do not accrue debt intentionally✤ Bankruptcy is at an all time high all over the world✤ People do not realize that their credit draws a picture of who they are to the outside world Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 7
    8. 8. Technical Debt Classes: ✤ Intentional Technical Debt – Organizations make a conscious decision to put off today what they know they should not be putting off in an effort to ‘get the code shipped’ ✤ Unintentional Technical Debt - This debt is created when things happen as planned in the business, but the plan was not the best path to follow Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 8
    9. 9. 7 Deadly Sins of TechnicalDebt: 1) Unintended Features / Gold Plating 2) Poorly Designed Architecture 3) Lack of Product Backlog Management and inappropriate visibility 4) Outdated Defects & Bugs 5) Lack of Automated Regression and Unit Tests (How Much?) 6) Lack of Establishing a coding & testing standard 7) Lack of refactoring / peer review - ‘Phillipe’ Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 9
    10. 10. Key Areas of Concern: ✤ Quality Assurance – Although technical debt can be introduced through many avenues, QA tends to feel the brunt of the stick. ✤ Development – Writing good Code could help heal the wounds. ✤ Management – Making management aware that the debt exists and what you are doing to address it is always a challenge. ✤ Visibility – Awareness and Visibility play a critical role in successfully eliminating this debt. Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 10
    11. 11. Enabling & Empowering Testers ✤ Test Automation ✤ Empowering Testers by providing them with the resources and bandwidth needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. ✤ Do whatever is needed in order for QA to regain control of testing and grow as an organization. Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 11
    12. 12. Stop Building New Product! ✤ One common mistake teams make when engaging technical debt is not addressing the lifecycle of the current product. ✤ If the product is intended for long term use, make time to do the critical fixes. ✤ If the product is due for replacement, treat it as such and only address truly mission critical bugs / defects. Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 12
    13. 13. Make the Commitment To Remove Debt✤ Work to identify all those who need to know and can make a difference in helping your team dissolve debt✤ Pool resources to eliminate as much of the outstanding debt as possible.✤ Try not to set the team up for complete visibility into the plan Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 13
    14. 14. A Matter of Transparency: Maintain transparency by making sure everyone is aware of the debt at hand Formulate a plan to get out of debt and make it well known to everyone interested Invite each creditor to understand when and how repayment of the debt will occur This news is never easy to deliver but it must happen Once the plan is identified and published stick to it Stepping out of line shows our creditors that the debt is really not that important to us Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 14
    15. 15. Avoid Additional Debt at Any Cost:✤ Every organization has been issued a platinum card✤ We need to identify the resources needed and the steps we will take to not let the debt accrue again✤ The cost of incurring additional debt is magnified if the current balance never decreases✤ Remember, organizational bankruptcy should never be an option Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 15
    16. 16. No More Minimum Monthly Payments: ✤ Consumers who make the minimum payment each month quickly learn that the principle balance actually increases ✤ The same is true in the business world ✤ Yet every organization finds a way to justify spending as little as possible to reduce and or avoid debt all together ✤ In a struggling economy, debt is still unforgiving and unkind ✤ Debt will NEVER go away if we do not make an effort ✤ How? Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 16
    17. 17. Learn To Snowball Your Debt:✤ Now is the time to snoball your debt away✤ Start with the product or project with the smallest amount of debt and eliminate it✤ Use the resources from the effort to assist in reducing or eliminating debt on the next project✤ Do not be afraid to call in the calvary for help (Product Owner, Analysts, Developers, Architects, Etc.)✤ Stop pointing fingers and take ownership the team can tackle this together Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 17
    18. 18. Achieve Financial Freedom: ✤ By sticking to the plan, you will see a light at the end of the tunnel ✤ This does not mean that your journey is over… ✤ Work fast and hard to put time and policy on your side to avoid future debt ✤ Help everyone feel the benefit of living debt free Accountability Matters Create Transparency ✤ Do not accept the everyone has debt Take Action just like us speech ✤ ACT now - Start today! Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 18
    19. 19. Share Your New Wealth:✤ Success breeds success!✤ Once others see your achievement they will want to take part and taste success✤ Once you are out of debt, you will NEVER want to go back down that lonely road✤ Work with the organization to put a debt creation failsafe in place to nip away at new debt and identify the root cause✤ If we all do our share, the world will be a better place! Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 19
    20. 20. Review - Q&A: Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 20
    21. 21. Resources:✤ Suggested URLs: ✤ Agile Dad - Agile Mentor Newsletter http://www.AgileDad.Com ✤ Ward Cunningham = ✤ Wikipedia = ✤ David Laribee = ✤ MSDN Magazine = magazine/ee335722.aspx Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 21
    22. 22. ✤ You now hold the keys to success!✤ You have been educated and empowered.✤ Visit often and drink from the well! http://www.AgileDad.Com/ Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 22
    23. 23. Lee@AgileDad.Com - Twitter @AgileDad - LinkedIn Copyright 2012 AgileDad LLC Licensed for Classroom Use Only. 23