SlideShare a Scribd company logo
Tech debt will kill us
Managing technical debt at
enterprise scale with Sonarqube
by Julian Warszawski
What is tech debt
• Abstract term
• Lots of definitions
• Not useful
Which terms associate with tech debt?
pressure
long term goals
short term goals
clean code
hack
accidental design
automation
workaround
What is tech debt
forget code quality
forget bug count
forget engineers morale
Delivery Speed ~ 1/Tech Debt
Only thing to know about effects of tech debt
Why will it kill us
It takes 2 months
for anyone to ramp
up on this
codebase
It used to take 5
people to keep
up. Now it is 25.
95% of the
team is fixing
bugs
It will be easier
to rewrite this
component
than extend it.
Why delivery speed drops?
• Designing from scratch is super fast
• After first sprint you don’t design from scratch
• Existing complexity slows down further design
• Complexity ALWAYS grows
• There is domain complexity and accidental
complexity
• You CAN control accidental complexity
What can we do
src: sixsigmadaily.com
Define
Accidental complexity
Untested code
Tangled packages
Lack of cohesion
Copy-paste code
not following best practices
Measure
• Java: checkstyle, pmd, jacoco, pitest, …
• Python: Pylint
• C++: cppcheck, gcov, custom plugins.
• Other languages: C#, SQL, PHP, Flex, XML,
Groovy and others
Analyze
Improve
Control
compile
unit testing
integration
testing
quality gate
functional
testing
ship it
Sonarqube
sonar dashboard sonar runner
source
repo
CI Server
commit pull
run
publish
DEMO
demo
What’s in it for DEV
Less tech
debt
More time
for features
better
software
Ambitious DEV
My code will
be PROLazy DEV
Less possibility
for something
to break. No
STRESS
What’s in it for PM
Less tech
debt
More time
for features
predictability
Agile PM
We can deliver
fasterWaterfall PM
Finally
everything
goes according
to PLAN
What’s in it for CEO
Less tech debt
More time for
features
improved
delivery
capabilities
Fresh CEO
I don’t have to
worry about
BAU, can focus
on strategy
Retiring CEO
Clients are
happy, stocks
are up
Doubts
• This does not present REAL design debt. It
hides the real design debt.
• Yet another step in our build pipeline. Can we
afford it?
• Focus will be shifted from delivering products
to improving sonar metrics.
This is not REAL design debt
• Accidental complexity is real design debt
• Untested code is real design debt
• Accurate correlates of design problems
• Degradation: correlate of process problems
• By observing symptoms, you can be proactive
Another step in the pipeline
• No, if set up correctly
• Quality gates – warnings and fails
• Does not have to monitor every commit
(nightly checks)
• Do not block the pipeline, allow fast reverts
• Focus on prevention
Focus shifted to improving metrics
• These metrics are symptoms, not the essence
• You don’t fix tech debt by just fixing compiler
warnings, test coverage or static violations
• Do not compete for grades
• DO NOT MANDATE THRESHOLDS!!!
DO NOT MANDATE THRESHOLDS
• People should work 8 hours a day
• Do you have alerts if they leave job too early?
• Thresholds promote ignorance
• E. g. it is more important to write good tests
than achieving the coverage goal
• Boy scout rule: Leave the code simpler and
cleaner than it was when you saw it.
Who benefits more
Game Development
Fire and forget
Sales POC
Delivering in 1 month more critical than future-proofing
Codebase is representing a core product
Product addresses long term strategy
Product will be extended for years
little value lots of value
QUESTIONS
any

More Related Content

PDF
Lean Software Development
PPTX
Lean Software Development
PPT
Effective Quality Facilitation | Beyond Normal
PPTX
Test driven development
PDF
Enough about Process, Let’s Use Patterns
PPTX
One trunk one pipeline one truth
PDF
DevOps: A Practical Guide
PPTX
Interpreting Cumulative Flow Diagrams
Lean Software Development
Lean Software Development
Effective Quality Facilitation | Beyond Normal
Test driven development
Enough about Process, Let’s Use Patterns
One trunk one pipeline one truth
DevOps: A Practical Guide
Interpreting Cumulative Flow Diagrams

What's hot (20)

PPTX
DevOps Roadtrip Final Speaking Deck
PPTX
10 signs your testing is not enough
PDF
Why Is Managing Software So Hard?
PDF
Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...
PPTX
Defect root cause analysis, Андрей Титаренко
PDF
SLO Driven Development
PPT
Extreme & pair programming Slides ppt
PPTX
The Business Case for DevOps - Justifying the Journey
PDF
NYC MeetUp 10.9
PDF
Managing technical debt notes
PDF
Overview of Site Reliability Engineering (SRE) & best practices
PPTX
Mythical Man-Month
PDF
Mythical Man Month Essays on Software Engineering
PDF
Agile: Implications and Complications
PPTX
Test Estimation Hacks: Tips, Tricks and Tools Webinar
PDF
Agile and test driven development
PPTX
Quality not-speed-for-distrobution
PDF
Software Defects and SW Reliability Assessment
PDF
Technical Debt: Do Not Underestimate The Danger
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
DevOps Roadtrip Final Speaking Deck
10 signs your testing is not enough
Why Is Managing Software So Hard?
Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...
Defect root cause analysis, Андрей Титаренко
SLO Driven Development
Extreme & pair programming Slides ppt
The Business Case for DevOps - Justifying the Journey
NYC MeetUp 10.9
Managing technical debt notes
Overview of Site Reliability Engineering (SRE) & best practices
Mythical Man-Month
Mythical Man Month Essays on Software Engineering
Agile: Implications and Complications
Test Estimation Hacks: Tips, Tricks and Tools Webinar
Agile and test driven development
Quality not-speed-for-distrobution
Software Defects and SW Reliability Assessment
Technical Debt: Do Not Underestimate The Danger
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Ad

Similar to Tech debt will kill us (20)

PPTX
Automation and Technical Debt
PPTX
Adopting Agile
PPTX
From Technical Debt to Technical Health
PPTX
Kasten Engineering Culture Deck
PPTX
Code Reviews
PDF
How to justify technical debt mitigations in Software Engineering
PPTX
Kanban testing
PPTX
How Software Developers Destroy Business Value.pptx
PPTX
Develop a Defect Prevention Strategy—or Else!
PPTX
Tackling technical debt
PPTX
Conquering Chaos: Helix & DevOps
PPTX
Unit 1.pptx
PPTX
How To Manage And Reduce Development Techical Debt
PPTX
Identifying and measuring testing debt
PDF
Managing technical debt
PPTX
Technical debt a Business Perspective
PPTX
{10.0} Test Driven Development.pptx
PPTX
Cleaning Code - Tools and Techniques for Large Legacy Projects
PPTX
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
PDF
Technical debt management strategies
Automation and Technical Debt
Adopting Agile
From Technical Debt to Technical Health
Kasten Engineering Culture Deck
Code Reviews
How to justify technical debt mitigations in Software Engineering
Kanban testing
How Software Developers Destroy Business Value.pptx
Develop a Defect Prevention Strategy—or Else!
Tackling technical debt
Conquering Chaos: Helix & DevOps
Unit 1.pptx
How To Manage And Reduce Development Techical Debt
Identifying and measuring testing debt
Managing technical debt
Technical debt a Business Perspective
{10.0} Test Driven Development.pptx
Cleaning Code - Tools and Techniques for Large Legacy Projects
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
Technical debt management strategies
Ad

Recently uploaded (20)

PDF
Autodesk AutoCAD Crack Free Download 2025
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PPTX
assetexplorer- product-overview - presentation
PDF
iTop VPN Crack Latest Version Full Key 2025
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Types of Token_ From Utility to Security.pdf
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
Time Tracking Features That Teams and Organizations Actually Need
PPTX
Cybersecurity: Protecting the Digital World
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Introduction to Windows Operating System
PDF
Digital Systems & Binary Numbers (comprehensive )
Autodesk AutoCAD Crack Free Download 2025
Computer Software and OS of computer science of grade 11.pptx
Monitoring Stack: Grafana, Loki & Promtail
GSA Content Generator Crack (2025 Latest)
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
assetexplorer- product-overview - presentation
iTop VPN Crack Latest Version Full Key 2025
Advanced SystemCare Ultimate Crack + Portable (2025)
Types of Token_ From Utility to Security.pdf
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Oracle Fusion HCM Cloud Demo for Beginners
Why Generative AI is the Future of Content, Code & Creativity?
Time Tracking Features That Teams and Organizations Actually Need
Cybersecurity: Protecting the Digital World
Complete Guide to Website Development in Malaysia for SMEs
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
wealthsignaloriginal-com-DS-text-... (1).pdf
Introduction to Windows Operating System
Digital Systems & Binary Numbers (comprehensive )

Tech debt will kill us

  • 1. Tech debt will kill us Managing technical debt at enterprise scale with Sonarqube by Julian Warszawski
  • 2. What is tech debt • Abstract term • Lots of definitions • Not useful
  • 3. Which terms associate with tech debt? pressure long term goals short term goals clean code hack accidental design automation workaround
  • 4. What is tech debt forget code quality forget bug count forget engineers morale Delivery Speed ~ 1/Tech Debt Only thing to know about effects of tech debt
  • 5. Why will it kill us It takes 2 months for anyone to ramp up on this codebase It used to take 5 people to keep up. Now it is 25. 95% of the team is fixing bugs It will be easier to rewrite this component than extend it.
  • 6. Why delivery speed drops? • Designing from scratch is super fast • After first sprint you don’t design from scratch • Existing complexity slows down further design • Complexity ALWAYS grows • There is domain complexity and accidental complexity • You CAN control accidental complexity
  • 7. What can we do src: sixsigmadaily.com
  • 8. Define Accidental complexity Untested code Tangled packages Lack of cohesion Copy-paste code not following best practices
  • 9. Measure • Java: checkstyle, pmd, jacoco, pitest, … • Python: Pylint • C++: cppcheck, gcov, custom plugins. • Other languages: C#, SQL, PHP, Flex, XML, Groovy and others
  • 13. Sonarqube sonar dashboard sonar runner source repo CI Server commit pull run publish
  • 15. What’s in it for DEV Less tech debt More time for features better software Ambitious DEV My code will be PROLazy DEV Less possibility for something to break. No STRESS
  • 16. What’s in it for PM Less tech debt More time for features predictability Agile PM We can deliver fasterWaterfall PM Finally everything goes according to PLAN
  • 17. What’s in it for CEO Less tech debt More time for features improved delivery capabilities Fresh CEO I don’t have to worry about BAU, can focus on strategy Retiring CEO Clients are happy, stocks are up
  • 18. Doubts • This does not present REAL design debt. It hides the real design debt. • Yet another step in our build pipeline. Can we afford it? • Focus will be shifted from delivering products to improving sonar metrics.
  • 19. This is not REAL design debt • Accidental complexity is real design debt • Untested code is real design debt • Accurate correlates of design problems • Degradation: correlate of process problems • By observing symptoms, you can be proactive
  • 20. Another step in the pipeline • No, if set up correctly • Quality gates – warnings and fails • Does not have to monitor every commit (nightly checks) • Do not block the pipeline, allow fast reverts • Focus on prevention
  • 21. Focus shifted to improving metrics • These metrics are symptoms, not the essence • You don’t fix tech debt by just fixing compiler warnings, test coverage or static violations • Do not compete for grades • DO NOT MANDATE THRESHOLDS!!!
  • 22. DO NOT MANDATE THRESHOLDS • People should work 8 hours a day • Do you have alerts if they leave job too early? • Thresholds promote ignorance • E. g. it is more important to write good tests than achieving the coverage goal • Boy scout rule: Leave the code simpler and cleaner than it was when you saw it.
  • 23. Who benefits more Game Development Fire and forget Sales POC Delivering in 1 month more critical than future-proofing Codebase is representing a core product Product addresses long term strategy Product will be extended for years little value lots of value