19
Proposed cost: US$89million Eventual cost: US$337million It’s always more expensive than expected...

How to fix your software development process

Embed Size (px)

Citation preview

Proposed cost: US$89million

Eventual cost: US$337million

It’s always more expensive than expected...

Proposed schedule: 39 months

Eventual schedule: 53 months

It always takes longer than expected...

Proposed cost: £2 + 4 (£1) + £5 = £11

Eventual cost: £2 + 4 (£1) + £5 = £11

Rope = £5

4x Hooks = 4 x £1

Used tyre = £2

Software is complex

Using story points to estimate the size of a story

3 points

Volume of work

Complexity

Uncertainty

Copy changes Automated emails Postcode API

Story points estimate “effort”Effort is governed by...

Backlog of stories1 2 3

5 8 13

21

Sprint (53 points)

In o

rde

r o

f in

cre

asin

g p

rio

rity

● Decomposing/breaking down tasks into smaller chunks makes estimation easier.

● Big stories at the bottom; decomposed into smaller, stories as they get closer to the top: just enough detail.

● The biggest story that will go into a sprint is 8 points. Any bigger and we break it down.

The magic word is “Decompose”

It always takes longer than expected

“ “”

The timebox

● Sprints to a fixed length of time● No new tickets once sprint is set● If dev can do 20 points per sprint, only 20 points

worth of work goes into each sprint

WHY?!!!!

It will be ready in 2 weeks!

We need to know how it’s going

Waypoints

Flightplan chart

We need to know how it’s going

Eff

ort

re

ma

inin

g (

in s

tory

po

ints

)

How do we know it’s good enough?

Specification: Full-size anatomical

human skeleton. Minimum 150cm tall.

vs

Acceptance criteria and backlog grooming

TDD or BDD

How can it possibly take that long?

Quality????

Time/Cost(fixed)

Scope(fixed)

You can only have two...

Remove non-essential features

Windows Tablet PC 2002 iPad 2008 - turns out we don’t need keyboards & styluses...

“But what about all our ideas?”

Remember these?

Prioritising every 2 weeks means we’re always working on the most important thing. If it never gets

to the top of the list, it’s not important. We can’t do everything.

Focus is the art of saying no- Steve Jobs

The essence of strategy is

choosing what not to do- Michael Porter

Glossary of terms

Acceptance criteria

Grooming

MVP

Product backlog

Product owner

SCRUM/daily stand-up

SCRUM master

SCRUM poker

Sprint

Sprint backlog

Story

Story points

Timebox

Velocity

Some key terminology

● Story points

● Sprints:

○ Decomposing

○ Prioritising

○ Estimates

○ Grooming (unfortunate name)

● Timebox

● Burndown chart

● Acceptance criteria

● MVP - and the trade-off triangle

● Time isn’t very reliable

● Focus

● More accurate estimation

● Value for the end user

● Forecasting

● Time efficiency

● Nothing is allowed to drag on

● Progress report

● Interpretation and unit tests

● ‘Good enough’ is good enough

Why?