identifying, managing, & eliminating technical debt · 2019-12-16 · needed to eliminate...

22
Identifying, Managing, & Eliminating Technical Debt V. Lee Henson CST 1

Upload: others

Post on 09-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Identifying, Managing, & Eliminating Technical DebtV. Lee Henson CST

1

Page 2: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Classroom Use to Davisbase LLC.

Identifying, Managing, & Eliminating Debt

2

Page 3: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Classroom Use to Davisbase LLC.

V. Lee Henson CST

✤ Certified Scrum Trainer

✤ ADDIE Training Professional

✤ Agile Coach & Trainer

✤ Author of Agile Mentor Newsletter (Published Monthly)

✤ Author of The Definitive Agile Checklist

✤ Inventor of Rapid Release Planning

✤ Former Chairperson of the Scrum Alliance Certification Advisory Board

✤ Information Technology / Psychology Background

3

Page 4: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

Session Topics:✤ Defining Technical Debt

✤ Consumer Debt - The Facts

✤ Identifying Key Areas of Concern

✤ Enabling & Empowering Testers

✤ Stop Building New Product

✤ Make the Commitment to Remove Debt

✤ A Matter of Transparency

✤ Avoid Additional Debt at Any Cost

✤ No More Minimum Monthly Payments

✤ Learn to Snowball the Debt

✤ Achieve Financial Freedom

✤ Share The Wealth

✤ Open Q&A

4

Page 5: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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?

5

Page 6: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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

6

Page 7: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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

7

Page 8: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

Technical Debt:

8

1) Unintended Features / Gold Plating2) Poorly Designed Architecture3) Lack of Product Backlog Management and inappropriate visibility4) Outdated Defects & Bugs5) Lack of Automated Regression and Unit Tests (How Much?) 6) Lack of Establishing a coding & testing standard7) Lack of refactoring / peer review - ‘Phillipe’

Page 9: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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.

9

Page 10: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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.

10

Page 11: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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.

11

Page 12: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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

12

Page 13: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

A Matter of Transparency:

13

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

Page 14: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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

14

Page 15: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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?

15

Page 16: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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

16

Page 17: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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

✤ Do not accept the everyone has debt just like us speech

✤ ACT now - Start today!

17

Accountability MattersCreate TransparencyTake Action

Page 18: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

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!

18

Page 19: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

Review - Q&A:

19

Page 20: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Presentation Use to Davisbase LLC.

Resources:

✤ Suggested URLs:

✤ Agile Dad - Agile Mentor Newsletter http://www.AgileDad.Com

✤ Ward Cunningham = http://c2.com/cgi/wiki?TechnicalDebt

✤ Wikipedia = http://en.wikipedia.org/wiki/Technical_debt

✤ David Laribee = http://laribee.com

✤ MSDN Magazine = http://msdn.microsoft.com/en-us/magazine/ee335722.aspx

20

Page 21: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Classroom Use to Davisbase LLC.

✤ You now hold the keys to success!

✤ You have been educated and empowered.

✤ Visit often and drink from the well!

21

http://www.AgileDad.Com/

Page 22: Identifying, Managing, & Eliminating Technical Debt · 2019-12-16 · needed to eliminate technical debt is one of the first critical steps toward better managing the debt load. Do

Copyright 2011 AgileDad Licensed for Classroom Use to Davisbase LLC.

Thank You! [email protected] - Twitter @AgileDad - LinkedIn [email protected]

22