Technical debt for dummies
-
Upload
marc-lainez -
Category
Technology
-
view
694 -
download
0
description
Transcript of Technical debt for dummies
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