SlideShare a Scribd company logo
From technical debt to
technical health
Copyright © 2016 Declan Whelan
Declan Whelan
Agile coach, developer
From technical debt to
technical health
Copyright © 2016 Declan Whelan
Declan Whelan
Agile coach, developer
Tom Grant
Senior consultant,
Net Objectives
Thanks Tom!
The good news
Software development encounters
fewer constraints than other forms
of invention:
• No physical constraints
• Lower material costs
• Fewer regulations
• Near instantaneous market delivery
The bad news
Software development encounters
fewer constraints than other
forms of invention:
• It’s easy to cut corners
• The incremental cost of cutting corners is low
• Hard to go back and do the work the right way
• Cutting corners imposes a rising cost on
innovation
We’re tempted to cut corners
And we eventually
pay for our sins
D
“Shipping first-time code is like going into debt.
A little debt speeds development so long as it is paid
back promptly with refactoring.
The danger occurs when the debt is not repaid. Every minute
spent on code that is not quite right for the programming
task of the moment counts as interest on that debt.
Entire engineering organizations can be brought to a
stand-still under the debt load of an unfactored
implementation…”
Ward Cunningham
What Ward said …
A textbook definition
The increased difficulty in writing new
code, or maintaining code, that is the
natural result of…
• Shortcuts
• Bad coding practices
• Hacks
• Other times when we wish, in hindsight,
we had coded more carefully
From Brian Foote:
A BIG BALL OF MUD …
a haphazardly structured, sprawling,
sloppy, duct-tape and bailing wire,
spaghetti code jungle.
http://www.laputan.org/mud/
A practical definition
Stuff in
the code
that slows
us down!
You now Future you
I’M GETTING TONS
OF CODING DONE!
WHEEEEEE!
Changing the
code takes
sooo loooong…
How do we create it?
Very easily, and here are a few common
examples:
• Gotta get this out now!
• I don’t have the time to <some good
practice>…
• It’s just a small thing, we’ll fix it after we ship.
• No code reviews
T
What TD is not
Unidentified defects, unknown defect trends or levels, lack of
clarity about quality targets.
Poor processes within the team, value stream, and larger
organization.
Missing capabilities in the code that lower its value.
A poor user experience, lowering the code’s value.
Missing or weak skills within the team.
TD may contribute to these problems.
These problems may contribute to TD.
D
On the individual
• Harder to add new software value
• Harder to fix problems
• Harder to work in any part of the code
• Harder to get motivated about working
in the code
• I hear Company X is hiring…
• Is this the career I wanted?
On the team
• Lower velocity
• Greater variance in velocity
• Harder to break down stories
• Less fluidity in task assignment
• Less flow within the team
• Harder to make reliable plans
• Lower team morale, higher
turnover
On the organization
• Reduced value of software assets
• Harder to manage the portfolio of these
assets
• Harder to change team or team membership
• Reduced flow in the software value stream
• Slower and less reliable responsiveness to
critical problems
• Greater friction between team and other
groups
T
Technical debt gets out of control
quickly
Deadline pressures and
uncontrolled demand
• Creates incentives for cutting
corners
• Don’t think through decisions
Technical debt gets out of control
quickly
Unmeasured impact
• Hard for non-technical people
to grasp importance
• If no time to avoid technical
debt, there’s no time to assess it
• Often lack data, especially about
deep patterns
Technical debt gets out of control
quickly
Lack of experience
• Unaware of agile engineering
practices
• Unaware of the level of risk
• Unaware of the sources of risk
Technical debt gets out of control
quickly
No awareness among stake
holders and executives
• Don’t know or see how they
contribute
• Easier to blame the people than it is
to address the problem
What’s really bad about TD
Chances are, someone else left it for you
Exercise: Dice of Debt Game
Play the game
• Get into groups
• Play for about 20 minutes
• Please leave us the score sheet, dice
and rules at the end
• Please take the chart with you
Discuss with people at your table
• Based on the game, what is the best strategy for
dealing with technical debt?
• Is the strategy you used in the game at all similar
to the strategy you follow in real life?
• Do you have a better strategy?
• What is standing in your way?
D
The OODA Loop – John Boyd
https://en.wikipedia.org/wiki/OODA_loop
Observe: You can’t manage what you
don’t measure
Observe: Measure technical debt
• Individual sources: the code
• Cyclomatic complexity
• Duplicate code
• Size of methods and classes
• Aggregate effects: team & organization
• Velocity
• Team happiness
• % of capacity lost to TD
Observe: Find the measures that work
for your team
Approaches like
the SQALE model
help assess amount
and impact
Orient: yourself to the crime scene
• Orient your team and the
organization to the overall impact
• Look for code that changes the most
• Automate the measures
• Make the measures visible!
Decide: to stop writing crappy code
Include something in your
team working agreement
about technical debt.
At an organizational level
support and respect team
agreements.
http://blog.crisp.se/2013/07/12/henrikkniberg/the-solution-to-technical-debt
Decide: to start cleaning up old crap
Include something in
your team working
agreement about
legacy code.
http://blog.crisp.se/2013/07/12/henrikkniberg/the-solution-to-technical-debt
Decide: the team
Some examples …
• Make code review part of the done criteria
• Dedicate capacity to TD reduction and
prevention
• Do static code analysis
• Follow the Boy Scout Rule!
Decide: Make TD impact part of planning
• Portfolio
• What investments are we willing to make?
• How far are we willing to pursue them?
• Project/product
• What effect is TD having on…
• Release planning?
• Sprint planning?
• Re-planning?
• What are the rules for deliberately assuming TD?
• Risks of taking on TD
• Risks of not taking on TD
• How is TD prevention and reduction built into our plans?
Act: Fix the code
Name Good practice Affects Rationale Remediation
Tested-CCOV
A file has an
acceptable level of
code coverage.
Reliability
Unit tests verify that the code
performs as expected without
errors.
Write tests in order to cover
uncovered lines.
Test variable values.
Clear-INVL
A "for" loop iterator
is not modified in the
body of the loop.
Reliability
Modifying the loop iterator
inside the loop may lead to
unreliable behavior. Code is
also more difficult to
understand.
Restructure the code.
Clear-DEST
All "if"/"for"/"while"
structures are
delimited by curly
braces.
Changeability
Using curly braces for control
structures helps to better
understand the code.
Enclose the core of the
structure with curly braces.
Clear-CLDO
Public classes and
public methods are
documented.
Maintainability
Code is easier to understand
Identify public classes and
public methods without
documentation.
Write additional meaningful
comments.
Agile Alliance Debt Analysis Model (A2DAM)
Act: Start automating
Identify manual steps and
automate!
Automate tests.
Automate build scripts.
Act: Start agile engineering practices
Test driven development
Refactoring
Simple Design
Pair/Mob Programming
Systems Thinking
94% of the belong to the system
(responsibility of management), 6%
are special cause.
— W. Edwards Deming
Apply Systems Thinking
Fundamental Fix
Technical Debt
t
Apply Systems Thinking (5 minutes)
• At your table brainstorm factors that contribute to technical debt. Some
things to consider:
• Hiring practices
• Outsourcing
• Staffing up for projects
• Project deadlines
• Etc.
• Rank then from biggest to smallest impact.
Apply Systems Thinking
At your table brainstorm actions that would help move towards technical
health:
• Observe: what measures could you make?
• Orient: how could you make that information relevant?
• Decide: how can you make better decisions supporting technical
health?
• Act: what can you actually do in the next 2 weeks?
The conclusion should be obvious
Short-term
investment in
technical debt
reduction and
prevention allows
for increased
productivity in the
future
Technical debt
just keeps
accumulating.
Our productivity
plummets.
D
Technical Health!
The Agile Alliance can help!
https://www.agilealliance.org/resources/initiatives/technical-debt/
GENERAL INFO White paper
CODE A2ADAM spreadsheet
TEAM
Project management
white paper
JUSTIFICATION Dice Of Debt game
Understand the nature of technical debt
Assess the sources and burden of technical
debt
Take steps proven to be effective
Educate people about the importance of
dealing with technical debt
From Technical Debt to Technical Health

More Related Content

What's hot

Understanding Monorepos
Understanding MonoreposUnderstanding Monorepos
Understanding Monorepos
Benjamin Cabanes
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
Homepree Rloy
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
CodeOps Technologies LLP
 
Is Sam Oven's Consulting Accelerator A Scam Everything You Need To Know
Is Sam Oven's Consulting Accelerator A Scam Everything You Need To KnowIs Sam Oven's Consulting Accelerator A Scam Everything You Need To Know
Is Sam Oven's Consulting Accelerator A Scam Everything You Need To Know
mepatelchirag
 
Mono Repo
Mono RepoMono Repo
Mono Repo
Zacky Pickholz
 
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
Cloud-Native Fundamentals: An Introduction to 12-Factor ApplicationsCloud-Native Fundamentals: An Introduction to 12-Factor Applications
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
VMware Tanzu
 
Chaos Engineering for PCF
Chaos Engineering for PCFChaos Engineering for PCF
Chaos Engineering for PCF
VMware Tanzu
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
UtpalenduChakrobortt1
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Yosef Tavin
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps Tools
Jagatveer Singh
 
Git flow
Git flowGit flow
Git flow
Valerio Como
 
Account Fraud Situation and Prevention in Rakuten
Account Fraud Situation and Prevention in RakutenAccount Fraud Situation and Prevention in Rakuten
Account Fraud Situation and Prevention in Rakuten
Rakuten Group, Inc.
 
Track code quality with SonarQube
Track code quality with SonarQubeTrack code quality with SonarQube
Track code quality with SonarQube
Dmytro Patserkovskyi
 
DevOps Delivery Pipeline
DevOps Delivery PipelineDevOps Delivery Pipeline
DevOps Delivery Pipeline
Denis Korchuganov
 
Software Bots as Superheroes in the SPACE of Developer Productivity
Software Bots as Superheroes in the SPACE of Developer ProductivitySoftware Bots as Superheroes in the SPACE of Developer Productivity
Software Bots as Superheroes in the SPACE of Developer Productivity
Margaret-Anne Storey
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
Kris Buytaert
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go lang
Amal Mohan N
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
Knoldus Inc.
 

What's hot (20)

Understanding Monorepos
Understanding MonoreposUnderstanding Monorepos
Understanding Monorepos
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Is Sam Oven's Consulting Accelerator A Scam Everything You Need To Know
Is Sam Oven's Consulting Accelerator A Scam Everything You Need To KnowIs Sam Oven's Consulting Accelerator A Scam Everything You Need To Know
Is Sam Oven's Consulting Accelerator A Scam Everything You Need To Know
 
Mono Repo
Mono RepoMono Repo
Mono Repo
 
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
Cloud-Native Fundamentals: An Introduction to 12-Factor ApplicationsCloud-Native Fundamentals: An Introduction to 12-Factor Applications
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
 
Chaos Engineering for PCF
Chaos Engineering for PCFChaos Engineering for PCF
Chaos Engineering for PCF
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps Tools
 
Git flow
Git flowGit flow
Git flow
 
Account Fraud Situation and Prevention in Rakuten
Account Fraud Situation and Prevention in RakutenAccount Fraud Situation and Prevention in Rakuten
Account Fraud Situation and Prevention in Rakuten
 
Track code quality with SonarQube
Track code quality with SonarQubeTrack code quality with SonarQube
Track code quality with SonarQube
 
Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
 
DevOps Delivery Pipeline
DevOps Delivery PipelineDevOps Delivery Pipeline
DevOps Delivery Pipeline
 
Software Bots as Superheroes in the SPACE of Developer Productivity
Software Bots as Superheroes in the SPACE of Developer ProductivitySoftware Bots as Superheroes in the SPACE of Developer Productivity
Software Bots as Superheroes in the SPACE of Developer Productivity
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go lang
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 

Viewers also liked

Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
Declan Whelan
 
Specification by Example
Specification by ExampleSpecification by Example
Specification by Example
Declan Whelan
 
Agile, Tdd And .Net
Agile, Tdd And .NetAgile, Tdd And .Net
Agile, Tdd And .Net
Declan Whelan
 
Cuke2Beer
Cuke2BeerCuke2Beer
Cuke2Beer
Declan Whelan
 
Adapt your testing for Agile
Adapt your testing for AgileAdapt your testing for Agile
Adapt your testing for Agile
Emma Armstrong
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
Jeremy Horn
 
Mejora tus retrospectivas
Mejora tus retrospectivasMejora tus retrospectivas
Mejora tus retrospectivas
Juanma Gómez
 
The quest for global design principles - PHP Benelux 2016
The quest for global design principles - PHP Benelux 2016The quest for global design principles - PHP Benelux 2016
The quest for global design principles - PHP Benelux 2016
Matthias Noback
 
What is CSP Fast Pass?
What is CSP Fast Pass?What is CSP Fast Pass?
What is CSP Fast Pass?
Carlton Nettleton
 
contratos agiles 2.1
contratos agiles 2.1contratos agiles 2.1
contratos agiles 2.1
Proyectalis / Improvement21
 
La paradoja de la eficiencia
La paradoja de la eficienciaLa paradoja de la eficiencia
La paradoja de la eficiencia
Pablo Lischinsky
 
Desarrollo ágil de software, Scrum
Desarrollo ágil de software, ScrumDesarrollo ágil de software, Scrum
Desarrollo ágil de software, Scrum
Pablo Lischinsky
 
Powerful Questions for the Scrum Professional
Powerful Questions for the Scrum ProfessionalPowerful Questions for the Scrum Professional
Powerful Questions for the Scrum Professional
Carlton Nettleton
 
Lean & kanban: introducción
Lean & kanban: introducciónLean & kanban: introducción
Lean & kanban: introducción
LeanSight Consulting
 
100115 Proyectalis Multiproject Scrum
100115 Proyectalis Multiproject Scrum100115 Proyectalis Multiproject Scrum
100115 Proyectalis Multiproject Scrum
Proyectalis / Improvement21
 
How to implement agile in a waterfall company
How to implement agile in a waterfall companyHow to implement agile in a waterfall company
How to implement agile in a waterfall company
Jose Manuel Beas
 
XP2011 - agile management tutorial
XP2011 - agile management tutorialXP2011 - agile management tutorial
XP2011 - agile management tutorial
Proyectalis / Improvement21
 

Viewers also liked (20)

Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Specification by Example
Specification by ExampleSpecification by Example
Specification by Example
 
Agile, Tdd And .Net
Agile, Tdd And .NetAgile, Tdd And .Net
Agile, Tdd And .Net
 
Cuke2Beer
Cuke2BeerCuke2Beer
Cuke2Beer
 
Adapt your testing for Agile
Adapt your testing for AgileAdapt your testing for Agile
Adapt your testing for Agile
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Mejora tus retrospectivas
Mejora tus retrospectivasMejora tus retrospectivas
Mejora tus retrospectivas
 
The quest for global design principles - PHP Benelux 2016
The quest for global design principles - PHP Benelux 2016The quest for global design principles - PHP Benelux 2016
The quest for global design principles - PHP Benelux 2016
 
What is CSP Fast Pass?
What is CSP Fast Pass?What is CSP Fast Pass?
What is CSP Fast Pass?
 
contratos agiles 2.1
contratos agiles 2.1contratos agiles 2.1
contratos agiles 2.1
 
La paradoja de la eficiencia
La paradoja de la eficienciaLa paradoja de la eficiencia
La paradoja de la eficiencia
 
Desarrollo ágil de software, Scrum
Desarrollo ágil de software, ScrumDesarrollo ágil de software, Scrum
Desarrollo ágil de software, Scrum
 
Powerful Questions for the Scrum Professional
Powerful Questions for the Scrum ProfessionalPowerful Questions for the Scrum Professional
Powerful Questions for the Scrum Professional
 
Lean & kanban: introducción
Lean & kanban: introducciónLean & kanban: introducción
Lean & kanban: introducción
 
100115 Proyectalis Multiproject Scrum
100115 Proyectalis Multiproject Scrum100115 Proyectalis Multiproject Scrum
100115 Proyectalis Multiproject Scrum
 
How to implement agile in a waterfall company
How to implement agile in a waterfall companyHow to implement agile in a waterfall company
How to implement agile in a waterfall company
 
XP2011 - agile management tutorial
XP2011 - agile management tutorialXP2011 - agile management tutorial
XP2011 - agile management tutorial
 
Clase 14b uml_actividades
Clase 14b uml_actividadesClase 14b uml_actividades
Clase 14b uml_actividades
 
Clase 13 uml_paquetes
Clase 13 uml_paquetesClase 13 uml_paquetes
Clase 13 uml_paquetes
 

Similar to From Technical Debt to Technical Health

How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
André Agostinho
 
How To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical DebtHow To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical Debt
Abdul Khan
 
Why Is Managing Software So Hard?
Why Is Managing Software So Hard?Why Is Managing Software So Hard?
Why Is Managing Software So Hard?
Michael Lamont
 
Agile Technical Leadership
Agile Technical LeadershipAgile Technical Leadership
Agile Technical Leadership
Alexandru Bolboaca
 
Build your Own Technology Roadmap!
Build your Own Technology Roadmap!Build your Own Technology Roadmap!
Build your Own Technology Roadmap!
Sascha Wenninger
 
Publishing Strategic Technology for Association of Catholic Publishers
Publishing Strategic Technology for Association of Catholic PublishersPublishing Strategic Technology for Association of Catholic Publishers
Publishing Strategic Technology for Association of Catholic Publishers
Craig Miller
 
Technical debt a Business Perspective
Technical debt a Business PerspectiveTechnical debt a Business Perspective
Technical debt a Business Perspective
Michael Vax
 
Kasten Engineering Culture Deck
Kasten Engineering Culture DeckKasten Engineering Culture Deck
Kasten Engineering Culture Deck
Niraj Tolia
 
Tech debt will kill us
Tech debt will kill usTech debt will kill us
Tech debt will kill us
Julian Warszawski
 
Should the CTO be coding?
Should the CTO be coding?Should the CTO be coding?
Should the CTO be coding?
JoshuaHoffman32
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My Team
Rob Curry
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Codemotion
 
The CTA Mindset for Architects, Melissa Shepard & Lilith Van Biesen
The CTA Mindset for Architects, Melissa Shepard & Lilith Van BiesenThe CTA Mindset for Architects, Melissa Shepard & Lilith Van Biesen
The CTA Mindset for Architects, Melissa Shepard & Lilith Van Biesen
CzechDreamin
 
Avoiding Cloud Computing Planning & Implementation Failure
Avoiding Cloud Computing Planning & Implementation FailureAvoiding Cloud Computing Planning & Implementation Failure
Avoiding Cloud Computing Planning & Implementation Failure
Nathaniel Payne
 
TOA - How to survive a TechDD workshop
TOA - How to survive a TechDD workshopTOA - How to survive a TechDD workshop
TOA - How to survive a TechDD workshop
Chris Philipps
 
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Jaguaraci Silva
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
Fadi Stephan
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
Perforce
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
Kaizenko
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
Atish Narlawar
 

Similar to From Technical Debt to Technical Health (20)

How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
 
How To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical DebtHow To Manage And Reduce Development Techical Debt
How To Manage And Reduce Development Techical Debt
 
Why Is Managing Software So Hard?
Why Is Managing Software So Hard?Why Is Managing Software So Hard?
Why Is Managing Software So Hard?
 
Agile Technical Leadership
Agile Technical LeadershipAgile Technical Leadership
Agile Technical Leadership
 
Build your Own Technology Roadmap!
Build your Own Technology Roadmap!Build your Own Technology Roadmap!
Build your Own Technology Roadmap!
 
Publishing Strategic Technology for Association of Catholic Publishers
Publishing Strategic Technology for Association of Catholic PublishersPublishing Strategic Technology for Association of Catholic Publishers
Publishing Strategic Technology for Association of Catholic Publishers
 
Technical debt a Business Perspective
Technical debt a Business PerspectiveTechnical debt a Business Perspective
Technical debt a Business Perspective
 
Kasten Engineering Culture Deck
Kasten Engineering Culture DeckKasten Engineering Culture Deck
Kasten Engineering Culture Deck
 
Tech debt will kill us
Tech debt will kill usTech debt will kill us
Tech debt will kill us
 
Should the CTO be coding?
Should the CTO be coding?Should the CTO be coding?
Should the CTO be coding?
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My Team
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 
The CTA Mindset for Architects, Melissa Shepard & Lilith Van Biesen
The CTA Mindset for Architects, Melissa Shepard & Lilith Van BiesenThe CTA Mindset for Architects, Melissa Shepard & Lilith Van Biesen
The CTA Mindset for Architects, Melissa Shepard & Lilith Van Biesen
 
Avoiding Cloud Computing Planning & Implementation Failure
Avoiding Cloud Computing Planning & Implementation FailureAvoiding Cloud Computing Planning & Implementation Failure
Avoiding Cloud Computing Planning & Implementation Failure
 
TOA - How to survive a TechDD workshop
TOA - How to survive a TechDD workshopTOA - How to survive a TechDD workshop
TOA - How to survive a TechDD workshop
 
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 

More from Declan Whelan

effective agile adoption
effective agile adoptioneffective agile adoption
effective agile adoption
Declan Whelan
 
Big Balls of Mud
Big Balls of MudBig Balls of Mud
Big Balls of Mud
Declan Whelan
 
Navigating Organizational Change
Navigating Organizational ChangeNavigating Organizational Change
Navigating Organizational Change
Declan Whelan
 
Domain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with RailsDomain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with Rails
Declan Whelan
 
Win Win Conversations
Win Win ConversationsWin Win Conversations
Win Win Conversations
Declan Whelan
 
Agile 2012 Simple Design Applied
Agile 2012 Simple Design AppliedAgile 2012 Simple Design Applied
Agile 2012 Simple Design Applied
Declan Whelan
 
Releasing your teams energy through 'pull' conversations
Releasing your teams energy through 'pull' conversationsReleasing your teams energy through 'pull' conversations
Releasing your teams energy through 'pull' conversations
Declan Whelan
 
Solid principles
Solid principlesSolid principles
Solid principles
Declan Whelan
 
Learning is Key to Agile Success: Agile Vancouver 2010
Learning is Key to Agile Success: Agile Vancouver 2010Learning is Key to Agile Success: Agile Vancouver 2010
Learning is Key to Agile Success: Agile Vancouver 2010
Declan Whelan
 
Agile learning agile 2010
Agile learning agile 2010Agile learning agile 2010
Agile learning agile 2010
Declan Whelan
 
Agile Learning (60 minute version)
Agile Learning (60 minute version)Agile Learning (60 minute version)
Agile Learning (60 minute version)
Declan Whelan
 
Agile Learning from Agile 2009
Agile Learning from Agile 2009Agile Learning from Agile 2009
Agile Learning from Agile 2009
Declan Whelan
 

More from Declan Whelan (13)

effective agile adoption
effective agile adoptioneffective agile adoption
effective agile adoption
 
Big Balls of Mud
Big Balls of MudBig Balls of Mud
Big Balls of Mud
 
Navigating Organizational Change
Navigating Organizational ChangeNavigating Organizational Change
Navigating Organizational Change
 
Simple Design
Simple DesignSimple Design
Simple Design
 
Domain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with RailsDomain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with Rails
 
Win Win Conversations
Win Win ConversationsWin Win Conversations
Win Win Conversations
 
Agile 2012 Simple Design Applied
Agile 2012 Simple Design AppliedAgile 2012 Simple Design Applied
Agile 2012 Simple Design Applied
 
Releasing your teams energy through 'pull' conversations
Releasing your teams energy through 'pull' conversationsReleasing your teams energy through 'pull' conversations
Releasing your teams energy through 'pull' conversations
 
Solid principles
Solid principlesSolid principles
Solid principles
 
Learning is Key to Agile Success: Agile Vancouver 2010
Learning is Key to Agile Success: Agile Vancouver 2010Learning is Key to Agile Success: Agile Vancouver 2010
Learning is Key to Agile Success: Agile Vancouver 2010
 
Agile learning agile 2010
Agile learning agile 2010Agile learning agile 2010
Agile learning agile 2010
 
Agile Learning (60 minute version)
Agile Learning (60 minute version)Agile Learning (60 minute version)
Agile Learning (60 minute version)
 
Agile Learning from Agile 2009
Agile Learning from Agile 2009Agile Learning from Agile 2009
Agile Learning from Agile 2009
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 

From Technical Debt to Technical Health

  • 1. From technical debt to technical health Copyright © 2016 Declan Whelan Declan Whelan Agile coach, developer
  • 2. From technical debt to technical health Copyright © 2016 Declan Whelan Declan Whelan Agile coach, developer
  • 3. Tom Grant Senior consultant, Net Objectives Thanks Tom!
  • 4.
  • 5. The good news Software development encounters fewer constraints than other forms of invention: • No physical constraints • Lower material costs • Fewer regulations • Near instantaneous market delivery
  • 6. The bad news Software development encounters fewer constraints than other forms of invention: • It’s easy to cut corners • The incremental cost of cutting corners is low • Hard to go back and do the work the right way • Cutting corners imposes a rising cost on innovation
  • 7. We’re tempted to cut corners And we eventually pay for our sins
  • 8. D
  • 9. “Shipping first-time code is like going into debt. A little debt speeds development so long as it is paid back promptly with refactoring. The danger occurs when the debt is not repaid. Every minute spent on code that is not quite right for the programming task of the moment counts as interest on that debt. Entire engineering organizations can be brought to a stand-still under the debt load of an unfactored implementation…” Ward Cunningham What Ward said …
  • 10. A textbook definition The increased difficulty in writing new code, or maintaining code, that is the natural result of… • Shortcuts • Bad coding practices • Hacks • Other times when we wish, in hindsight, we had coded more carefully
  • 11. From Brian Foote: A BIG BALL OF MUD … a haphazardly structured, sprawling, sloppy, duct-tape and bailing wire, spaghetti code jungle. http://www.laputan.org/mud/
  • 12. A practical definition Stuff in the code that slows us down!
  • 13. You now Future you I’M GETTING TONS OF CODING DONE! WHEEEEEE! Changing the code takes sooo loooong…
  • 14. How do we create it? Very easily, and here are a few common examples: • Gotta get this out now! • I don’t have the time to <some good practice>… • It’s just a small thing, we’ll fix it after we ship. • No code reviews T
  • 15. What TD is not Unidentified defects, unknown defect trends or levels, lack of clarity about quality targets. Poor processes within the team, value stream, and larger organization. Missing capabilities in the code that lower its value. A poor user experience, lowering the code’s value. Missing or weak skills within the team. TD may contribute to these problems. These problems may contribute to TD.
  • 16. D
  • 17. On the individual • Harder to add new software value • Harder to fix problems • Harder to work in any part of the code • Harder to get motivated about working in the code • I hear Company X is hiring… • Is this the career I wanted?
  • 18. On the team • Lower velocity • Greater variance in velocity • Harder to break down stories • Less fluidity in task assignment • Less flow within the team • Harder to make reliable plans • Lower team morale, higher turnover
  • 19. On the organization • Reduced value of software assets • Harder to manage the portfolio of these assets • Harder to change team or team membership • Reduced flow in the software value stream • Slower and less reliable responsiveness to critical problems • Greater friction between team and other groups
  • 20. T
  • 21. Technical debt gets out of control quickly Deadline pressures and uncontrolled demand • Creates incentives for cutting corners • Don’t think through decisions
  • 22. Technical debt gets out of control quickly Unmeasured impact • Hard for non-technical people to grasp importance • If no time to avoid technical debt, there’s no time to assess it • Often lack data, especially about deep patterns
  • 23. Technical debt gets out of control quickly Lack of experience • Unaware of agile engineering practices • Unaware of the level of risk • Unaware of the sources of risk
  • 24. Technical debt gets out of control quickly No awareness among stake holders and executives • Don’t know or see how they contribute • Easier to blame the people than it is to address the problem
  • 25. What’s really bad about TD Chances are, someone else left it for you
  • 26.
  • 27. Exercise: Dice of Debt Game Play the game • Get into groups • Play for about 20 minutes • Please leave us the score sheet, dice and rules at the end • Please take the chart with you
  • 28. Discuss with people at your table • Based on the game, what is the best strategy for dealing with technical debt? • Is the strategy you used in the game at all similar to the strategy you follow in real life? • Do you have a better strategy? • What is standing in your way? D
  • 29.
  • 30. The OODA Loop – John Boyd https://en.wikipedia.org/wiki/OODA_loop
  • 31. Observe: You can’t manage what you don’t measure
  • 32. Observe: Measure technical debt • Individual sources: the code • Cyclomatic complexity • Duplicate code • Size of methods and classes • Aggregate effects: team & organization • Velocity • Team happiness • % of capacity lost to TD
  • 33. Observe: Find the measures that work for your team Approaches like the SQALE model help assess amount and impact
  • 34. Orient: yourself to the crime scene • Orient your team and the organization to the overall impact • Look for code that changes the most • Automate the measures • Make the measures visible!
  • 35. Decide: to stop writing crappy code Include something in your team working agreement about technical debt. At an organizational level support and respect team agreements. http://blog.crisp.se/2013/07/12/henrikkniberg/the-solution-to-technical-debt
  • 36. Decide: to start cleaning up old crap Include something in your team working agreement about legacy code. http://blog.crisp.se/2013/07/12/henrikkniberg/the-solution-to-technical-debt
  • 37. Decide: the team Some examples … • Make code review part of the done criteria • Dedicate capacity to TD reduction and prevention • Do static code analysis • Follow the Boy Scout Rule!
  • 38. Decide: Make TD impact part of planning • Portfolio • What investments are we willing to make? • How far are we willing to pursue them? • Project/product • What effect is TD having on… • Release planning? • Sprint planning? • Re-planning? • What are the rules for deliberately assuming TD? • Risks of taking on TD • Risks of not taking on TD • How is TD prevention and reduction built into our plans?
  • 39. Act: Fix the code Name Good practice Affects Rationale Remediation Tested-CCOV A file has an acceptable level of code coverage. Reliability Unit tests verify that the code performs as expected without errors. Write tests in order to cover uncovered lines. Test variable values. Clear-INVL A "for" loop iterator is not modified in the body of the loop. Reliability Modifying the loop iterator inside the loop may lead to unreliable behavior. Code is also more difficult to understand. Restructure the code. Clear-DEST All "if"/"for"/"while" structures are delimited by curly braces. Changeability Using curly braces for control structures helps to better understand the code. Enclose the core of the structure with curly braces. Clear-CLDO Public classes and public methods are documented. Maintainability Code is easier to understand Identify public classes and public methods without documentation. Write additional meaningful comments. Agile Alliance Debt Analysis Model (A2DAM)
  • 40. Act: Start automating Identify manual steps and automate! Automate tests. Automate build scripts.
  • 41. Act: Start agile engineering practices Test driven development Refactoring Simple Design Pair/Mob Programming
  • 42. Systems Thinking 94% of the belong to the system (responsibility of management), 6% are special cause. — W. Edwards Deming
  • 43. Apply Systems Thinking Fundamental Fix Technical Debt t
  • 44. Apply Systems Thinking (5 minutes) • At your table brainstorm factors that contribute to technical debt. Some things to consider: • Hiring practices • Outsourcing • Staffing up for projects • Project deadlines • Etc. • Rank then from biggest to smallest impact.
  • 45. Apply Systems Thinking At your table brainstorm actions that would help move towards technical health: • Observe: what measures could you make? • Orient: how could you make that information relevant? • Decide: how can you make better decisions supporting technical health? • Act: what can you actually do in the next 2 weeks?
  • 46. The conclusion should be obvious Short-term investment in technical debt reduction and prevention allows for increased productivity in the future Technical debt just keeps accumulating. Our productivity plummets. D Technical Health!
  • 47. The Agile Alliance can help! https://www.agilealliance.org/resources/initiatives/technical-debt/ GENERAL INFO White paper CODE A2ADAM spreadsheet TEAM Project management white paper JUSTIFICATION Dice Of Debt game Understand the nature of technical debt Assess the sources and burden of technical debt Take steps proven to be effective Educate people about the importance of dealing with technical debt