Exploring Agile Estimating and Planning

Post on 12-May-2015

802 views 0 download

Tags:

Transcript of Exploring Agile Estimating and Planning

Exploring Agile

Estimating &

Planning

@NickOostvoge

ls

WHY

estimating

& planning?

http://www.flickr.com/photos/jakecaptive/3205277810/

It’s HARD !

http://www.flickr.com/photos/jypsygen/3732589905/

Why do we keep playing

this game?

http://www.flickr.com/photos/12203106@N05/1259607301/

The 5 wivesBecause my manager keeps

asking for them!

Because he needs to give

estimates

to his bossBecause the management team

needs to update the release

planningBecause our customers want to

know when they get their

new features

Because they are relying on our

solution for their own

business

1. WHY?

2. WHY?

3. WHY?

4. WHY?

5. WHY?

http://www.flickr.com/photos/jypsygen/3732589905/

Giving accurate estimates

is commercially interesting

and brings value to our

customers!

Other

reasons

To keep the pressure

on

http://www.flickr.com/photos/wwarby/3016549999/

Other

reasons

For political

reasons

http://www.flickr.com/photos/polandmfa/5537238802/

One month ago in

Poland

NO Belgian government for 291 days!

Now

NO Belgian government for 422 days!

Other reasons

Not having to work

together

http://www.flickr.com/photos/nanophoto69/5294068212/

Other reasons

Yearly budgetting

http://www.flickr.com/photos/bcgovphotos/5449582500/

Other reasons

Cost optimizing

Other reasons

Personne

l

planning

http://www.flickr.com/photos/sponng/32380259/

These are all REASONS

that can be dealt with

in another way!

but still...

Number 1 reason:

Customers!

HOW

Estimating

& Planning?

http://www.flickr.com/photos/jakecaptive/3205277810/

3 types of

estimating1. Guessing

http://www.flickr.com/photos/photojonny/2268845904/

3 types of

estimating

2. Counting

http://www.flickr.com/photos/ruiguerra/215254507/

3 types of

estimating

3. Measuring

http://www.flickr.com/photos/luis_is_rubbish_at_photography/5357065651/

Conclusion

Count or measure if you can, only use guessing or judgement as your last option.

Especially

when estimating

duration of tasks!

We ALL tend to be too OPTIMISTIC

Developers: • 20% - 30% too optimistic²

Managers : • We’ll be more productive

• Won’t make the same mistakes

• Catch up with extra effort

Guessing in ranges

When you can’t count or

measure

Task 1

Task 2

1 2 3 4 5

1 2 3 4 5

Guessing in ranges

Reveals information:

• How clear is the tasks

• A best and worst case scenario

Counting

What can you count?

Nr of

interfacesLines of code

Nr of

rulesNr of

roles

Function

points

Web pagesDatabase

tables

Planning by

counting1. Find something to count

closely related to size of

the software

2. Find something that’s

available now

3. Must be statistically

meaningful

4. Convert count to estimate

Measuring

http://www.flickr.com/photos/jakecaptive/3205277810/

WHY

does Agile need

a different

type of

planning?

Responding to

change

http://www.flickr.com/photos/driotinto/2878033778/

Customer

collaborationWhat’s the point in getting

feedback if you can’t do

anything with it?

Quest for value

What

should

we build?

Planning never ends

http://www.flickr.com/photos/michpics17/3476946665/

Comparison

Up-front

planning

• At the start

• Stick to the

plan

• Changes

Agile planning

• Ongoing

• Re-plan

• Changes

weighed

We need to plan FAST,

with good ACCURACY

and LITTLE DETAILED

information

• Ongoing

• Re-planning

• Changes

weighed

HOW can we

plan ‘Agile’?• Plan and re-

plan• The right thing at the right

time• With minimal

effort• With good

accuracy• And little detailed

information• Creating a shared framework of

understandinghttp://www.flickr.com/photos/jakecaptive/3205277810/

Guessing?

NOT Accurate

Too little requirements

are detailed

(only next sprint)

Counting &

Measuring?YES !

FAST

ACCURATE

Don’t need all

details

Agile counting &

measuring

COUNT pieces of functionality

(ex. user stories)

MEASURE team velocity or

feature cycle time

Issue : size & complexity

vary

Solution : use a

scale

Story points

T-shirt sizes

Fruit, ...http://www.flickr.com/photos/jaydedman/2593673396/

Issue : size & complexity

vary

Solution : SPLIT them to

approx. the same size and

benefit from the statistical

average

http://www.flickr.com/photos/jaydedman/2593673396/

Issue : size & complexity

vary

Solution : SPLIT them to

approx. the same size and

benefit from the statistical

average

http://www.flickr.com/photos/jaydedman/2593673396/

Issue : lot’s of

discussions

Solution : Poker

planning

http://www.flickr.com/photos/smannion/3385144016/

Solution : Good

Facilitation

http://www.flickr.com/photos/smannion/3385144016/

Issue : lot’s of

discussions

Issue : we never deliver

what we estimated

• Dedicated team! (or time)

• Compute velocity according to

capacity

• Strive for Zero defects

• Increase input quality (story

preparation)

Solution : Reduce variation

between input & output

Agile Release

PlanningHow the h*ll ?

can you make a release plan

without detailed up-front

analysis?

http://www.flickr.com/photos/tripphotogallery/4059486159/

Count & Measure

Relative estimates or dividing

into equal parts

TIP: Silent Grouping

Image by Ken Power

Count & Measure

Use historical data

to

project into the

future

http://www.flickr.com/photos/hdrphotographyblog/4498443106/

Count & Measure

• Low

• Medium

• High

Estimate in rangesScope

Time

Re-plan

Measure

velocity

Adjust release

plan

Scope

Time

Agile release

planning

‚What is most imporant?

• Delivering the FULL SCOPE

OR

• Delivering a useful product at a FIXED DATE

But answer this question first:

Count & Measure

• Business value

• Story mapping

• Dimensional planning

• Kano

• Bang for the buck

Prioritize

Because it’s part of history

and did not know about the

present!²

A plan loses its value right

after it is created

The only way

it makes sense to use a plan,

is when you continuously re-

plan!

Thanks!

@NickOostvogels

noostvog.wordpress.com

Resources