technical debt for dummies

Post on 05-Dec-2014

696 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides of my XPDays session with @jbpros about technical debt. http://xpdays.net/Xpday2013/Mini%20XPDay/Program.html#session_105

TRANSCRIPT

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

top related