Technical Debt for the Non Technical
-
Upload
maria-matarelli -
Category
Technology
-
view
1.282 -
download
2
description
Transcript of Technical Debt for the Non Technical
![Page 1: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/1.jpg)
Technical Debt for the Non-Technical
Demystifying the challenges of continuous software development.
![Page 2: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/2.jpg)
Agenda
What is Technical Debt Real World Examples How much Debt can a Project Handle Technical Bankruptcy How to deal with Technical Debt
![Page 3: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/3.jpg)
Maria Matarelli
@MariaMatarelli
Meet the Presenters
Collin Fagan
#Agile2013
![Page 4: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/4.jpg)
Industry thoughts about “Technical Debt”
• “We have time honored traditions in our profession for increasing our velocity under pressure. We drop quality.”
• Ken Schwaber – Founder of Scrum.org
• “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.”
• Martin Fowler – Coauthor of ‘The Agile Manifesto’
• The Ticking Time Bombing Of Technical Debt• David Norton – Research Director Gartner
• Technical Debt Is Now Costing Us $3.61 Per Line Of Code• Jonathan Bloom – CAST software
This is an industry wide issue.
![Page 5: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/5.jpg)
“Technical Debt” is a metaphor for software quality modeled on monetary debt.
What is “Technical Debt”?
![Page 6: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/6.jpg)
… but as we all know, “Time is money”.
“Interest payments” are made with time.
![Page 7: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/7.jpg)
But what “IS” Technical debt?
Can we relate this to real life?
![Page 8: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/8.jpg)
Can you read this?
Real world examples of “Technical Debt”
Aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit a porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe.
![Page 9: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/9.jpg)
How about this?
Real world examples of “Technical Debt”
Rreuscion is the pescros a perucdore geos thurgoh when one of the spets of the prcdoeure ivnleovs iovkning the pordcerue isltef. A porceurde that geos tghruoh rorecuisn is said to be 'rrcesiuve'.
![Page 10: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/10.jpg)
This paragraph is too complex and the ‘rule’ does not work.
Real world examples of “Technical Debt”
Recursion is the process a procedure goes through when one of the steps of the procedure involves invoking the procedure itself. A procedure that goes through recursion is said to be 'recursive'.
![Page 11: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/11.jpg)
Is there something missing? Is this good enough?
Real world examples of “Technical Debt”
![Page 12: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/12.jpg)
If all you ever did was sit in the driver seat, would you ever know?
Real world examples of “Technical Debt”
![Page 13: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/13.jpg)
How does this happen?
![Page 14: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/14.jpg)
Martin Fowler’s Technical Debt Quadrant
We don’ t have t ime to do
things r ight.
We must ship now and deal
wi th the consequences.
What’s software design?
Now we know what we should
have done.
Reckless Prudent
Deliberate
Inadvertent
![Page 15: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/15.jpg)
How much debt can a project handle?
![Page 16: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/16.jpg)
Real world examples of not paying your “Technical Debt”
Housework
![Page 17: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/17.jpg)
Real world examples of not paying your “Technical Debt”
Hoarders
![Page 18: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/18.jpg)
Real world examples of not paying your “Technical Debt”
Hoarders
![Page 19: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/19.jpg)
Technical Bankruptcy
![Page 20: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/20.jpg)
For the software to mature and grow you MUST pay your debt.
![Page 21: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/21.jpg)
“When you get in debt you become a slave.”
- Andrew Jackson
![Page 22: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/22.jpg)
Types of Technical Debt
Are there more types?
Technical Debt
Implementation
Architectural
Testing
Deployment
Information/Knowledge
![Page 23: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/23.jpg)
How to deal with existing “Technical Debt”
Acknowledge your debt
![Page 24: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/24.jpg)
How to deal with existing “Technical Debt”
Track it
![Page 25: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/25.jpg)
The Debt List
Simple low-tech starting point.
![Page 26: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/26.jpg)
Sonar: The spell checker of programming languages.
Automated static analysis.
![Page 27: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/27.jpg)
How to deal with the Technical Debt you already have.
• Make little “payments” over time.• Try to commit at least some time in a sprint to
eliminating technical debt.
• If you need the time, take the time.• Involve the team, get creative.
• Start with everything you can do first. • Put the impossible off for later.
Every little bit helps.
![Page 28: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/28.jpg)
How to deal with existing “Technical Debt”
Start Paying it Now!
![Page 29: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/29.jpg)
Avoiding “Technical Debt”
Dodging that bullet.
![Page 30: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/30.jpg)
Avoiding “Technical Debt”
Refine you definition of ‘DONE’
DONE
Development
Unit Testing
Appropriate Documentation
Functional Testing
Code Review
Deployment
![Page 31: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/31.jpg)
Avoiding “Technical Debt”
Discuss the consequences of “Good Enough”
![Page 32: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/32.jpg)
Avoiding “Technical Debt”
Negotiate scope, not quality.
![Page 33: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/33.jpg)
Avoiding “Technical Debt”
Empower teams to succeed, not just deliver.
![Page 34: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/34.jpg)
Avoiding “Technical Debt”
Understand your complexity budget.
![Page 35: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/35.jpg)
Avoiding “Technical Debt”
Build ‘T’ shaped skills by cross training
![Page 36: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/36.jpg)
Make it easy to do the right thing.
![Page 37: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/37.jpg)
In Summary Acknowledge your debt Track it Deal with what you already have - Pay it now! Avoid it
![Page 38: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/38.jpg)
Avoiding Technical Debt
Refine definition of “DONE” Discuss the consequences of “Good Enough” Negotiate Scope, not quality Empower teams to succeed, not just deliver Understand your complexity budget Build ‘T’ shaped skills by cross training
![Page 39: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/39.jpg)
For the software to mature and grow you MUST pay your debt.
![Page 40: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/40.jpg)
Q & A
![Page 41: Technical Debt for the Non Technical](https://reader033.fdocuments.in/reader033/viewer/2022061202/547b1a37b4af9f83428b45f9/html5/thumbnails/41.jpg)
Contact Us
Maria Matarelli http://www.bevilledge.com
@MariaMatarelli
www.linkedin.com/in/mariamatarelli
Collin Fagan
www.linkedin.com/in/collinfagan