SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Hard choices - Technical debt
@jbpros
@mlainez
For
Dummies
Game
included!
Who has a non-
technical role?
What is technical
debt?
Who is a developer/
architect?
What is technical
debt?
Building software is like
taking a loan at each change
Leaving code in a non optimal state
after a change means it will take more
time to understand or change that code
next time we add any functionality to it
We have to pay an interest, the longer
we wait to make the code optimal, the
more the interests run on
Cost OF
CHANGE
tIME
What happens when we
don’t deal with it?
BEGINNING
OF PROJECT
We have
accumulated
debt
Project
doomed
inspired by: http://colearningbe.wordpress.com/2013/02/28/learn-hxxow-to-manage-technical-debt-from-a-business-perspective/
What are the debt
builders?
HIT A MARKET WINDOW
LACK OF SKILLS
CHAOS
TURNOVER
CHANGES IN REQUIREMENTS
STRESS
UNPROFESSIONALISM
...
HOW DO WE DEAL
WITH IT?
Let’s play
Rules
The game may be played by 2, 3, or 4 people.
Movements
A player can move in any direction and may even change
directions in a single turn.
When a player crosses a “hard choices” square, he
or she must decide whether to go over the
shortcut bridge or go the long way.
Bridge Tiles
Bridges count as one movement, similar to squares.
A player who chooses to go over a shortcut bridge must
collect a bridge card. Each bridge card subtracts 1 from
subsequent rolls of the die.
A player who chooses to go over a shortcut bridge must
collect a bridge card. Each bridge card subtracts 1 from
subsequent rolls of the die.
A player may get rid of a bridge card by skipping a turn
anytime during the game.
Tools Tiles
If a player lands on a tool square:
- If the player does not already have the tool drawn on the
board, the player gets a tool card of that type.
- If the player already has a tool card of the drawn tool, the
player may play the tool card and get a free a turn OR
collect another tool card of that type.
Ending the game
The game ends when there is 1 player remaining on the
board or when the time is up!
The first player to reach END gets 5 points, second gets 3
points, third gets 1 point.
When a player reaches END, he or she also gets 1 point for
each tool card.
To enter the END cell the player should roll anything equal
or greater than the remaining squares.
The player with the most points at the end of the game
WINS.
What were the
winning strategies?
How can we MANAGE
technical debt?
source: http://colearningbe.wordpress.com/2013/02/28/learn-hxxow-to-manage-technical-debt-from-a-business-perspective/
True
story!
Draw current
solution
IDENTIFY debt
with color
code
Match with
business goals
How can we
measure technical
debt?
Code metrics
Wtf! per minute
Testability
flexibility
Scalability
Stability
Time to market
team velocity
Motivation
happiness
Product Stability
HOW CAN WE
Identify THE DEBT
IN OUR CODE?
know your debt!
know when to
accumulate debt!
Decide when to pay
for it!
“What's important is to try to imagine something that is just a
bit better than what you have currently. If you can target those
things, then over time you will really start to make a difference
in the code base” - Michael Feathers
Questions?
@jbpros
@mlainez

Contenu connexe

En vedette

Attachment.ashx (2)
Attachment.ashx (2)Attachment.ashx (2)
Attachment.ashx (2)
ml26441
 

En vedette (11)

No One Pokes Anymore!
No One Pokes Anymore!No One Pokes Anymore!
No One Pokes Anymore!
 
WESO MeTTeG 2011
WESO MeTTeG 2011WESO MeTTeG 2011
WESO MeTTeG 2011
 
24/7 Prayer 2011 - Christ Church Matchborough
24/7 Prayer 2011 - Christ Church Matchborough24/7 Prayer 2011 - Christ Church Matchborough
24/7 Prayer 2011 - Christ Church Matchborough
 
Powerpointpræsentation New Qreation
Powerpointpræsentation New QreationPowerpointpræsentation New Qreation
Powerpointpræsentation New Qreation
 
WESO SATBI 2011
WESO SATBI 2011WESO SATBI 2011
WESO SATBI 2011
 
"The performance begins long before the show starts"-a presentation for Globe...
"The performance begins long before the show starts"-a presentation for Globe..."The performance begins long before the show starts"-a presentation for Globe...
"The performance begins long before the show starts"-a presentation for Globe...
 
Corporate Presentatie Algemeen 18 05 10
Corporate Presentatie Algemeen 18 05 10Corporate Presentatie Algemeen 18 05 10
Corporate Presentatie Algemeen 18 05 10
 
[사회적기업가포럼]공감만세 고두환 대표
[사회적기업가포럼]공감만세 고두환 대표[사회적기업가포럼]공감만세 고두환 대표
[사회적기업가포럼]공감만세 고두환 대표
 
Attachment.ashx (2)
Attachment.ashx (2)Attachment.ashx (2)
Attachment.ashx (2)
 
사회적기업가포럼 오프모임 소개자료(웹용)
사회적기업가포럼 오프모임 소개자료(웹용)사회적기업가포럼 오프모임 소개자료(웹용)
사회적기업가포럼 오프모임 소개자료(웹용)
 
First Bank Presentation
First Bank PresentationFirst Bank Presentation
First Bank Presentation
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Technical debt for dummies

  • 1. Hard choices - Technical debt @jbpros @mlainez For Dummies Game included!
  • 2. Who has a non- technical role?
  • 4. Who is a developer/ architect?
  • 6. Building software is like taking a loan at each change Leaving code in a non optimal state after a change means it will take more time to understand or change that code next time we add any functionality to it We have to pay an interest, the longer we wait to make the code optimal, the more the interests run on
  • 7. Cost OF CHANGE tIME What happens when we don’t deal with it? BEGINNING OF PROJECT We have accumulated debt Project doomed inspired by: http://colearningbe.wordpress.com/2013/02/28/learn-hxxow-to-manage-technical-debt-from-a-business-perspective/
  • 8. What are the debt builders?
  • 9. HIT A MARKET WINDOW LACK OF SKILLS CHAOS TURNOVER CHANGES IN REQUIREMENTS STRESS UNPROFESSIONALISM ...
  • 10. HOW DO WE DEAL WITH IT?
  • 12. Rules The game may be played by 2, 3, or 4 people. Movements A player can move in any direction and may even change directions in a single turn. When a player crosses a “hard choices” square, he or she must decide whether to go over the shortcut bridge or go the long way.
  • 13. Bridge Tiles Bridges count as one movement, similar to squares. A player who chooses to go over a shortcut bridge must collect a bridge card. Each bridge card subtracts 1 from subsequent rolls of the die. A player who chooses to go over a shortcut bridge must collect a bridge card. Each bridge card subtracts 1 from subsequent rolls of the die. A player may get rid of a bridge card by skipping a turn anytime during the game.
  • 14. Tools Tiles If a player lands on a tool square: - If the player does not already have the tool drawn on the board, the player gets a tool card of that type. - If the player already has a tool card of the drawn tool, the player may play the tool card and get a free a turn OR collect another tool card of that type.
  • 15. Ending the game The game ends when there is 1 player remaining on the board or when the time is up! The first player to reach END gets 5 points, second gets 3 points, third gets 1 point. When a player reaches END, he or she also gets 1 point for each tool card. To enter the END cell the player should roll anything equal or greater than the remaining squares. The player with the most points at the end of the game WINS.
  • 16. What were the winning strategies?
  • 17. How can we MANAGE technical debt?
  • 19. How can we measure technical debt?
  • 20. Code metrics Wtf! per minute Testability flexibility Scalability Stability Time to market team velocity Motivation happiness Product Stability
  • 21. HOW CAN WE Identify THE DEBT IN OUR CODE?
  • 22.
  • 23.
  • 26. Decide when to pay for it!
  • 27. “What's important is to try to imagine something that is just a bit better than what you have currently. If you can target those things, then over time you will really start to make a difference in the code base” - Michael Feathers