33
As you come in, find someone in the room and discuss what you know about Technical Debt

How to Keep Going Fast - Agile Velocity - Product Camp Austin

Embed Size (px)

DESCRIPTION

Features often get delivered quickly on new software projects and slow to an exponentially slower pace over time. Teams are usually on their own to discover, implement, and even get buy-in for improving the technical capability to deliver. In this session we'll discuss how technical debt accrues and impacts the flow of features over time as well as how Product Owners can encourage and support teams to improve. We will run a simulation of a software project that demonstrates the impact of employing technical practices and addressing other technical debt.

Citation preview

Page 1: How to Keep Going Fast - Agile Velocity - Product Camp Austin

As you come in, find someone in the room and discuss what

you know about Technical Debt

Page 2: How to Keep Going Fast - Agile Velocity - Product Camp Austin

HOW TO KEEP YOUR PRODUCT DEVELOPMENT TEAMS GOING FAST

Product Camp Austin 11

Page 3: How to Keep Going Fast - Agile Velocity - Product Camp Austin
Page 4: How to Keep Going Fast - Agile Velocity - Product Camp Austin

We’d prefer a fast, steady stream of new features…

Page 5: How to Keep Going Fast - Agile Velocity - Product Camp Austin

But sometimes it feels more like this

Page 6: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Long Delivery Times

Mounting Defects

Rising Development Costs

Poor Customer Responsiveness

Late Deliveries

Frustrated and Poor Performing Teams

Page 7: How to Keep Going Fast - Agile Velocity - Product Camp Austin
Page 8: How to Keep Going Fast - Agile Velocity - Product Camp Austin
Page 9: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Intentional Debt

Temporary

Code

Business Pressure

Delayed Testing

Other Conscio

us Tradeoff

s

Page 10: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Unintentional Debt

Poor Code or Design

Business PressurePoor Practices

Inflexible Software

Lack of understanding

Poor design/architectur

e

Unintended

Complexity

Poor design

Page 11: How to Keep Going Fast - Agile Velocity - Product Camp Austin

A Vicious Cycle

Time Pressure

Poorly Implemen

ted Features

Late Delivery

Page 12: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Continuous Integration

Page 13: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Test (and other) Automation

Page 14: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Refactoring - would you trust delivery of your products over

this road?

Page 15: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Peer Review

Page 16: How to Keep Going Fast - Agile Velocity - Product Camp Austin

http://jimhighsmith.com/the-financial-implications-of-technical-debt/

Jim Highsmith’s Technical Debt Graph

Rewrite!

Page 17: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Let’s do an exercise to understand the concept further.

Form into Teams of at least 4 people.

Page 18: How to Keep Going Fast - Agile Velocity - Product Camp Austin

FeatureCost: 15

FeatureCost: 10

FeatureCost: 5

Technical DebtCost 15

Impact -10

Technical DebtCost 15

Impact -10

Technical DebtCost 10

Impact -5

Technical DebtCost 5

Impact -5

Technical DebtCost 5

Impact -5

Iteration Card

Setup your board as follows

Page 19: How to Keep Going Fast - Agile Velocity - Product Camp Austin

FeatureCost: 15

FeatureCost: 10

FeatureCost: 5

Technical DebtCost 15

Impact -10

Technical DebtCost 15

Impact -10

Technical DebtCost 10

Impact -5

Technical DebtCost 5

Impact -5

Technical DebtCost 5

Impact -5

Iteration Card

Add up the total impact of all technical debt items

-35

Page 20: How to Keep Going Fast - Agile Velocity - Product Camp Austin

-35

25

X

Page 21: How to Keep Going Fast - Agile Velocity - Product Camp Austin
Page 22: How to Keep Going Fast - Agile Velocity - Product Camp Austin

FeatureCost: 10

FeatureCost: 15

FeatureCost: 10

Technical DebtCost 15

Impact -10

Technical DebtCost 15

Impact -10

Technical DebtCost 10

Impact -5

Technical DebtCost 5

Impact -5

Technical DebtCost 5

Impact -5

Iteration Card

You have 25 Points to SpendSelect the cards you want to spend your points on.

No partially done work.

FeatureCost: 5

FeatureCost: 5

Page 23: How to Keep Going Fast - Agile Velocity - Product Camp Austin

-35

25

10

15

15

X

Page 24: How to Keep Going Fast - Agile Velocity - Product Camp Austin

The goal is to complete as many feature points at the end

of 5 iterations.

Go!

Page 25: How to Keep Going Fast - Agile Velocity - Product Camp Austin

The goal is to complete as many feature points at the end

of 5 iterations.

Stop!

Page 26: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Theoretical Capacity

Technical Debt

Productivity

Time

Page 27: How to Keep Going Fast - Agile Velocity - Product Camp Austin

In order to go fast we need a focus on Craftsmanship

Page 28: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Capture your debt

Page 29: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Visualize and estimate

Page 30: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Need to invest time, team needs slack

Page 31: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Agile processes promote sustainable development. The sponsors,

developers, and users should be able to maintain a constant pace

indefinitely.

Page 32: How to Keep Going Fast - Agile Velocity - Product Camp Austin

Discuss how you could apply theses concepts to help your

teams go fast.

Page 33: How to Keep Going Fast - Agile Velocity - Product Camp Austin