SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Placebo of Progress
Caoimhin Graham
(Keeeeeevin Graham)
Agenda
1. Bio
2. What is technical debt?
3. Is technical debt bad?
4. How to identify and manage
technical debt.
1. Bio
> 9 years in industry
> 3 years building stuff for UK Gov
> 3 Years
> 3 Years
Shameless plug (sorry!)
2. What is technical debt?
“Technical Debt is a recent metaphor
referring to the eventual consequences
of any system design, software
architecture or software development
within a codebase.”
“The debt can be thought of as work
that needs to be done before a
particular job can be considered
complete or proper.”
“If debt is not repaid then it will keep
accumulating interest making it hard
to implement changes later on.”
Technical debt demands a maturity
and balance of decision making
Reckless Prudent
Deliberate
Inadvertent
“We don’t have time
for design”
“We must ship now and
deal with the
consequences”
“Whats Layering?”
“Now we know how we
should have done it”
What causes technical debt?
Me
You
Because $reasons
The technical debt taste test…
Knowningly implementing a single
point of failure
Lack of password hashing
Bad code == Bad Code
3. Is technical debt bad?
No……but not paying your debt is!
Ignorance of or failing to track
technical debt is bad
To ignore technical debt is to build a
house on a cliffs edge without ever
inspecting the cliff or the threat it
poses to your house.
You just keep adding more bricks
And because the internet is
awesome…
The impact of technical debt can be slow
to grow and can eventually spiral out of
control…
Moral of the story (and talk)…
Establish good habits and technical
debt can enable, establish bad habits
and technical debt can disable
4. How to identify and manage
technical debt.
Knowing your exposure to technical
debt is key to sensibly tackling it
Identify, qualify and prioritise
your debt
Identify
Qualify
Prioritise
Good debt == New
Bad debt == Old
$$ Paying it back $$
Factor technical debt into your
cost of development.
1. Debt repayment
2. Debt conversion
3. Interest only payments
Questions
@moomzni @KainosSoftware

Weitere ähnliche Inhalte

Ähnlich wie DevOpsDays Warsaw 2015: Placebo of Progress – Caoimhin Graham

Technical Debt - osbridge
Technical Debt - osbridgeTechnical Debt - osbridge
Technical Debt - osbridgeenaramore
 
Technical Debt 101
Technical Debt 101Technical Debt 101
Technical Debt 101Intechnica
 
The Technical Debt Trap
The Technical Debt TrapThe Technical Debt Trap
The Technical Debt TrapDoc Norton
 
Technical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The DangerTechnical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The DangerLemi Orhan Ergin
 
ZendCon 2010 Technical Debt
ZendCon 2010 Technical Debt ZendCon 2010 Technical Debt
ZendCon 2010 Technical Debt enaramore
 
How to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teamsHow to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teamsAlexandre Omeyer
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
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 EngineeringAndré Agostinho
 
From Technical Debt to Technical Health
From Technical Debt to Technical HealthFrom Technical Debt to Technical Health
From Technical Debt to Technical HealthMikael Vesavuori
 
The Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" NortonThe Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" NortonLeanDog
 
Working with Technical Debt
Working with Technical DebtWorking with Technical Debt
Working with Technical DebtSteve Green
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtKaizenko
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtFadi Stephan
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtScott Mowery
 
Technical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PMTechnical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PMProduct School
 
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 DebtAbdul Khan
 

Ähnlich wie DevOpsDays Warsaw 2015: Placebo of Progress – Caoimhin Graham (20)

Technical Debt - osbridge
Technical Debt - osbridgeTechnical Debt - osbridge
Technical Debt - osbridge
 
Technical Debt 101
Technical Debt 101Technical Debt 101
Technical Debt 101
 
The Technical Debt Trap
The Technical Debt TrapThe Technical Debt Trap
The Technical Debt Trap
 
Technical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The DangerTechnical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The Danger
 
ZendCon 2010 Technical Debt
ZendCon 2010 Technical Debt ZendCon 2010 Technical Debt
ZendCon 2010 Technical Debt
 
How to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teamsHow to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teams
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Managing technical debt
Managing technical debtManaging technical debt
Managing 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
 
From Technical Debt to Technical Health
From Technical Debt to Technical HealthFrom Technical Debt to Technical Health
From Technical Debt to Technical Health
 
Technical debt
Technical debtTechnical debt
Technical debt
 
The Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" NortonThe Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" Norton
 
Working with Technical Debt
Working with Technical DebtWorking with Technical Debt
Working with Technical Debt
 
Technical debt
Technical debtTechnical debt
Technical debt
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Tech debt will kill us
Tech debt will kill usTech debt will kill us
Tech debt will kill us
 
Technical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PMTechnical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PM
 
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
 

Kürzlich hochgeladen

Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxMario
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119APNIC
 
ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxNIMMANAGANTI RAMAKRISHNA
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxmibuzondetrabajo
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesLumiverse Solutions Pvt Ltd
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxAndrieCagasanAkio
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 

Kürzlich hochgeladen (9)

Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptx
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119
 
ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptx
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptx
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best Practices
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptx
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 

DevOpsDays Warsaw 2015: Placebo of Progress – Caoimhin Graham

Hinweis der Redaktion

  1. Talk isn’t going to be that technical Counselling session about technical debt and how we can use it for empowerment
  2. make (someone) less angry or hostile.
  3. I’m from the city that built the titanic; quite possibly one of the most famous placebo effects in history Why would you provide enough lifeboats on the unsinkable ship? You’ll ruin the view from the cabins!
  4. Opinions are my own My accent is strange
  5. Joined as a placement engineer
  6. Digital transformation
  7. 12 million people registered
  8. Billions in European subsidy money
  9. Technical debt to me is the effect of tactical decision making in a strategic scenario Short term vs long term
  10. You will always strive to complete the work, probably in an incremental method
  11. Technical debt has a cost that is ever increasing if ignored
  12. Imagine a game of jenga where you start with no blocks and you keep get 3 new blocks every minute. You have to place 3 along the bottom and then you have to build the tower as high as it can go. You soon realise you need to balance the placement of blocks at the top (new functionality) and throughout the stack for stability. Failure to strike this balance would lead to the tower collapsing - Jenga
  13. http://martinfowler.com/bliki/TechnicalDebtQuadrant.html Reckless/Inadvertent – Jumping on the bandwagon and using docker without due diligence Prudent/Inadvertent - Designing and implementing a solution according to best practice/research only to find it completely inappropriate to your use-case e.g. deploying a textbook MongoDB cluster only to realise that as a transactional system there are some hidden problems.
  14. Ignorance Money Market oppertunity Planning deadlines Lack of upfront design Poor working practices Lack of responsibility for the solution
  15. No compromises with security; thinking shoud always be long-term
  16. Domains and cookies
  17. Rapid delivery/prototyping  Getting early feedback on features Proving theories before widespread adoption e.g. will it work
  18. The result of technical debt is that: People complain about slow delivery, increased numbers of defects, poor performance This increases pressure to take more short-cuts to fix the problems which increases the debt This normally excasterbautes the original problems More short-cuts…
  19. Moral of the story
  20. Moral of the story
  21. Criminology theory that says that maintaining and monitoring urban environments to prevent small crimes such as vandalism, public drinking, and toll-jumping helps to create an atmosphere of order and lawfulness, thereby preventing more serious crimes from happening. Consider a building with a few broken windows. If the windows are not repaired, the tendency is for vandals to break a few more windows. Eventually, they may even break into the building, and if it's unoccupied, perhaps become squatters or light fires inside. Or consider a pavement. Some litter accumulates. Soon, more litter accumulates. Eventually, people even start leaving bags of refuse from take-out restaurants there or even break into cars. https://en.wikipedia.org/wiki/Broken_windows_theory
  22. Benefits Risk Cost
  23. Technical debt smells Monitor all the things and analyse trends over time Slowing velocity for a team Nightmare releases Old versions of packages in use (stagnated code) Numbers of defects and their accumulation rate (trend analysis) Low automated test coverage Number/quantify of failed CI builds Code/component coupling Maintenance effort
  24. Track it somewhere Keep it simple initially and use something that works for you A brief description Rough estimation of effort/story points to address Probability the code will be used in future changes (to assess impact)
  25. Once you have qualified your debt you will have a good idea of the priorty
  26. Benefits Risk Cost
  27. Repayment == refactoring Conversion == something better but not perfect (incremental) Interest only == accept and live with the existing debt