SlideShare a Scribd company logo
Technical Debt
MANAGEMENT
Quick Tech Tips to
keep you focused
Info Cards
2
•Metaphor proposed by Ward Cunningham in
1992 to explain problems caused by “developing
not in the right way” and non-technical project
stakeholders.
What is Technical Debt?
! !! !!! !!!!
•Similar to Financial Debt
•Dangerous if the incurred interest and the debt
are not payed
3
!
Analysis + Design
Architecture
Design, Patterns,
Prototyping,
Technical Maturity
Best Practices
and Tools
Review, Tests,
Documentation,
Staging
Environments
"
l
(A) Clean and Smart (B) Quick and Dirty
Make it work
Deliver it as soon as
possible, lower cost
on current release
Postpone
Enhancements
Increased
maintenance cost,
Risk that debt gets out
of control
#
$
Takes longer to implement,
make the maintenance easier
Delivers features sooner,
make the maintenance
harder
How to deliver the Software Product?
4How to deliver the Software Product?
•There is "no right answer" here…
•Sometimes rapid prototyping is enough
•Time-to-Market is critical
•Business contracts and deadlines are critical
•The goal is to make conscious decisions and
being able to deal with consequences
•Avoid unexpected surprises
5
•Decreasing of team speed
•Missed deadlines
•Estimation errors
•Cumulative defects
•Many production defects
•Team stress and instability
•Low trust in the results
•Inaccurate problem analysis
•Blaming others instead taking of responsibility
•Being scared of change anything (side-effects)
Symptoms
6
•"Code smells…”
•“It works”for now, I will refactor it later…”
• “Only John understands how to change this
code"
• “Lets do the testing later…”.
•“Just do it now, the deadline is coming up…”
•“The code is unreadable”
•“X is related to the problem cause… otherwise
we would be able to do better” (X != Me, always)
Common quotes
The Relative Cost of a Fixing a Defect 7
Reference: [1] http://www.astqb.org/press-room/ISTQB_Certification_News_2015_1.html
RelativeCostofFixinga
Defect
Reqs Design Code Unit Test System Test UAT Post-Release
150x
50x
40x
20x10x5x1x
8Technical Debt Management
•Types of Debt
•Inadvertent
•Deliberate
Reference: [1] http://martinfowler.com/bliki/TechnicalDebt.html
9Technical Debt Quadrant
Inadvertent
Deliberate
Reckless Prudent
Reference: [1] Martin Fowler’s technical debt quadrant
"What’s Layering?"
"What’s design?”
"We don’t have time for
Design"
"We must ship now and
deal with consequences"
“Now we know how we
should have done it"
TECHNICAL DEBT MANAGEMENT
%Notes
11Notes: Common situations
•A beginner technical team implements an
immature solution that impacts the future of the
product.
•The Product Owner neglects the risk
management and does not evaluate the technical
team arguments, he does not understand the
short and long term consequences.
•Stakeholders who do not understand the
investment value in the internal product quality
•The unpredictable, some cases are harder to
predict the results: Innovation, R&D projects
12
•Goal: Consciously Manage the Debt.
•It is not a methodology or metric, it is a
metaphor
•Create Action Plans (Plan-Do-Check-Act) for
continuous improvement
• Immediate (Short Term)
• Medium Term
• Long Term
•Pay the interest and avoid the debt increasing
•Manage the risk, do not ignore it
Notas: Technical Debt Management
See more…
& fabricioepa.wordpress.com
• References:
[1] http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
[2] http://www.infoq.com/articles/managing-technical-debt
Contact
FABRICIO EPAMINONDAS
' linkedin.com/in/fabricioepa
& fabricioepa.wordpress.com
( @fabricioepa

More Related Content

What's hot

The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
David Funaro
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
Codemotion
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
Murageppa-QA
 
Test Strategies in Microservices
Test Strategies in MicroservicesTest Strategies in Microservices
Test Strategies in Microservices
Mesut Özen
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
David Funaro
 
Continuous testing for devops
Continuous testing for devopsContinuous testing for devops
Continuous testing for devops
Subrahmaniam S.R.V
 
Devops
DevopsDevops
Devops
Mauro Cossu
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
Dr Ganesh Iyer
 
Monitoring at the Speed of DevOps
Monitoring at the Speed of DevOpsMonitoring at the Speed of DevOps
Monitoring at the Speed of DevOps
DevOps.com
 
Four Keys to Efficient DevOps
Four Keys to Efficient DevOpsFour Keys to Efficient DevOps
Four Keys to Efficient DevOps
Perfecto by Perforce
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
Sebastian Marek
 
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
Edureka!
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perf
Nitisak Mooltreesri
 
Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014Code in the Cloud - December 8th 2014
#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma
#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma
#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma
Agile Testing Alliance
 
Red7 Automating UAT Web Testing
Red7 Automating UAT Web TestingRed7 Automating UAT Web Testing
Red7 Automating UAT Web Testing
Robert Grupe, CSSLP CISSP PE PMP
 
A guide for automated testing
A guide for automated testingA guide for automated testing
A guide for automated testing
Moataz Nabil
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentalsCygnet Infotech
 
Verification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationVerification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integration
Rogue Wave Software
 
Packaged vs. Custom Application Testing
Packaged vs. Custom Application TestingPackaged vs. Custom Application Testing
Packaged vs. Custom Application Testing
Worksoft
 

What's hot (20)

The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Test Strategies in Microservices
Test Strategies in MicroservicesTest Strategies in Microservices
Test Strategies in Microservices
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Continuous testing for devops
Continuous testing for devopsContinuous testing for devops
Continuous testing for devops
 
Devops
DevopsDevops
Devops
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
Monitoring at the Speed of DevOps
Monitoring at the Speed of DevOpsMonitoring at the Speed of DevOps
Monitoring at the Speed of DevOps
 
Four Keys to Efficient DevOps
Four Keys to Efficient DevOpsFour Keys to Efficient DevOps
Four Keys to Efficient DevOps
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
 
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perf
 
Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014
 
#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma
#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma
#ATATalk - Episode 1 : Session on Selenium Exceptions by Pallavi Sharma
 
Red7 Automating UAT Web Testing
Red7 Automating UAT Web TestingRed7 Automating UAT Web Testing
Red7 Automating UAT Web Testing
 
A guide for automated testing
A guide for automated testingA guide for automated testing
A guide for automated testing
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentals
 
Verification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationVerification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integration
 
Packaged vs. Custom Application Testing
Packaged vs. Custom Application TestingPackaged vs. Custom Application Testing
Packaged vs. Custom Application Testing
 

Similar to Info Card - Techical Debt Management

Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
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
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
Atish Narlawar
 
Tech debt will kill us
Tech debt will kill usTech debt will kill us
Tech debt will kill us
Julian Warszawski
 
Technical debt as asset
Technical debt as assetTechnical debt as asset
Technical debt as asset
Livatek
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
Jim Brisson
 
Technical debt
Technical debtTechnical debt
Technical debt
Woody Pewitt
 
ContinuousDelivery-101
ContinuousDelivery-101ContinuousDelivery-101
ContinuousDelivery-101
Kishore Bhatia
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
Kaizenko
 
From Technical Debt to Technical Health
From Technical Debt to Technical HealthFrom Technical Debt to Technical Health
From Technical Debt to Technical Health
Mikael Vesavuori
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
Ted Theodoropoulos
 
From Technical Debt to Technical Health
From Technical Debt to Technical HealthFrom Technical Debt to Technical Health
From Technical Debt to Technical Health
Declan Whelan
 
Lect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakesLect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakes
Mubashir Ali
 
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
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
Masas Dani
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
Matt Wright
 
Understanding and Managing Technical Debt
Understanding and Managing Technical DebtUnderstanding and Managing Technical Debt
Understanding and Managing Technical Debt
Dr. Syed Hassan Amin
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
Scott Mowery
 

Similar to Info Card - Techical Debt Management (20)

Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
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
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Automation and Technical Debt
Automation and Technical DebtAutomation and Technical Debt
Automation and Technical Debt
 
Tech debt will kill us
Tech debt will kill usTech debt will kill us
Tech debt will kill us
 
Technical debt as asset
Technical debt as assetTechnical debt as asset
Technical debt as asset
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
Technical debt
Technical debtTechnical debt
Technical debt
 
ContinuousDelivery-101
ContinuousDelivery-101ContinuousDelivery-101
ContinuousDelivery-101
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
From Technical Debt to Technical Health
From Technical Debt to Technical HealthFrom Technical Debt to Technical Health
From Technical Debt to Technical Health
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
From Technical Debt to Technical Health
From Technical Debt to Technical HealthFrom Technical Debt to Technical Health
From Technical Debt to Technical Health
 
Lect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakesLect-2: Overview and Traditional SPM, Classic mistakes
Lect-2: Overview and Traditional SPM, Classic mistakes
 
Technical Debt
Technical DebtTechnical Debt
Technical Debt
 
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
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
 
Understanding and Managing Technical Debt
Understanding and Managing Technical DebtUnderstanding and Managing Technical Debt
Understanding and Managing Technical Debt
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 

More from Fabricio Epaminondas

Understanding Web services
Understanding Web servicesUnderstanding Web services
Understanding Web services
Fabricio Epaminondas
 
Software quality - Round table discussion
Software quality - Round table discussionSoftware quality - Round table discussion
Software quality - Round table discussionFabricio Epaminondas
 
Protocol buffers
Protocol buffersProtocol buffers
Protocol buffers
Fabricio Epaminondas
 
Hexagonal architecture for java applications
Hexagonal architecture for java applicationsHexagonal architecture for java applications
Hexagonal architecture for java applications
Fabricio Epaminondas
 
Workshop Guide: RESTful Java Web Application with Spring Boot
Workshop Guide: RESTful Java Web Application with Spring BootWorkshop Guide: RESTful Java Web Application with Spring Boot
Workshop Guide: RESTful Java Web Application with Spring Boot
Fabricio Epaminondas
 
Introduction to developing modern web apps
Introduction to developing modern web appsIntroduction to developing modern web apps
Introduction to developing modern web apps
Fabricio Epaminondas
 

More from Fabricio Epaminondas (6)

Understanding Web services
Understanding Web servicesUnderstanding Web services
Understanding Web services
 
Software quality - Round table discussion
Software quality - Round table discussionSoftware quality - Round table discussion
Software quality - Round table discussion
 
Protocol buffers
Protocol buffersProtocol buffers
Protocol buffers
 
Hexagonal architecture for java applications
Hexagonal architecture for java applicationsHexagonal architecture for java applications
Hexagonal architecture for java applications
 
Workshop Guide: RESTful Java Web Application with Spring Boot
Workshop Guide: RESTful Java Web Application with Spring BootWorkshop Guide: RESTful Java Web Application with Spring Boot
Workshop Guide: RESTful Java Web Application with Spring Boot
 
Introduction to developing modern web apps
Introduction to developing modern web appsIntroduction to developing modern web apps
Introduction to developing modern web apps
 

Recently uploaded

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
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
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
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
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
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
 
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
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
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
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
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
 

Recently uploaded (20)

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
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
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
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...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
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
 
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 ...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
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
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
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...
 

Info Card - Techical Debt Management

  • 1. Technical Debt MANAGEMENT Quick Tech Tips to keep you focused Info Cards
  • 2. 2 •Metaphor proposed by Ward Cunningham in 1992 to explain problems caused by “developing not in the right way” and non-technical project stakeholders. What is Technical Debt? ! !! !!! !!!! •Similar to Financial Debt •Dangerous if the incurred interest and the debt are not payed
  • 3. 3 ! Analysis + Design Architecture Design, Patterns, Prototyping, Technical Maturity Best Practices and Tools Review, Tests, Documentation, Staging Environments " l (A) Clean and Smart (B) Quick and Dirty Make it work Deliver it as soon as possible, lower cost on current release Postpone Enhancements Increased maintenance cost, Risk that debt gets out of control # $ Takes longer to implement, make the maintenance easier Delivers features sooner, make the maintenance harder How to deliver the Software Product?
  • 4. 4How to deliver the Software Product? •There is "no right answer" here… •Sometimes rapid prototyping is enough •Time-to-Market is critical •Business contracts and deadlines are critical •The goal is to make conscious decisions and being able to deal with consequences •Avoid unexpected surprises
  • 5. 5 •Decreasing of team speed •Missed deadlines •Estimation errors •Cumulative defects •Many production defects •Team stress and instability •Low trust in the results •Inaccurate problem analysis •Blaming others instead taking of responsibility •Being scared of change anything (side-effects) Symptoms
  • 6. 6 •"Code smells…” •“It works”for now, I will refactor it later…” • “Only John understands how to change this code" • “Lets do the testing later…”. •“Just do it now, the deadline is coming up…” •“The code is unreadable” •“X is related to the problem cause… otherwise we would be able to do better” (X != Me, always) Common quotes
  • 7. The Relative Cost of a Fixing a Defect 7 Reference: [1] http://www.astqb.org/press-room/ISTQB_Certification_News_2015_1.html RelativeCostofFixinga Defect Reqs Design Code Unit Test System Test UAT Post-Release 150x 50x 40x 20x10x5x1x
  • 8. 8Technical Debt Management •Types of Debt •Inadvertent •Deliberate Reference: [1] http://martinfowler.com/bliki/TechnicalDebt.html
  • 9. 9Technical Debt Quadrant Inadvertent Deliberate Reckless Prudent Reference: [1] Martin Fowler’s technical debt quadrant "What’s Layering?" "What’s design?” "We don’t have time for Design" "We must ship now and deal with consequences" “Now we know how we should have done it"
  • 11. 11Notes: Common situations •A beginner technical team implements an immature solution that impacts the future of the product. •The Product Owner neglects the risk management and does not evaluate the technical team arguments, he does not understand the short and long term consequences. •Stakeholders who do not understand the investment value in the internal product quality •The unpredictable, some cases are harder to predict the results: Innovation, R&D projects
  • 12. 12 •Goal: Consciously Manage the Debt. •It is not a methodology or metric, it is a metaphor •Create Action Plans (Plan-Do-Check-Act) for continuous improvement • Immediate (Short Term) • Medium Term • Long Term •Pay the interest and avoid the debt increasing •Manage the risk, do not ignore it Notas: Technical Debt Management
  • 13. See more… & fabricioepa.wordpress.com • References: [1] http://martinfowler.com/bliki/TechnicalDebtQuadrant.html [2] http://www.infoq.com/articles/managing-technical-debt
  • 14. Contact FABRICIO EPAMINONDAS ' linkedin.com/in/fabricioepa & fabricioepa.wordpress.com ( @fabricioepa