agile estimating and planning

81
Planning agile estimating & planning

Upload: derek-neighbors

Post on 17-Nov-2014

1.516 views

Category:

Technology


0 download

DESCRIPTION

Agile planning.

TRANSCRIPT

Page 1: Agile Estimating and Planning

Planningagile estimating & planning

Page 3: Agile Estimating and Planning

The Purpose of planning

Page 4: Agile Estimating and Planning

why plan?

Reduce RiskReduce UncertaintySupport Better Decision MakingEstablish TrustConvey Information

Page 5: Agile Estimating and Planning

what Makes a good plan?

Sufficiently reliable for making decisions.

Page 6: Agile Estimating and Planning

what makes planning agile?

Focused more on planning than the plan Encourages changes Results in plans that are easily changed Is spread throughout the project

Page 7: Agile Estimating and Planning

Planning statistics

60% of projects significantly over run their cost estimates

64% of features features included in products are rarely or never used

The average project exceeds it’s estimate by 100%

Page 8: Agile Estimating and Planning

planning by activity instead of feature

Activities don’t finish early

Lateness is passed down the schedule Activities are not independent

Parkinson’s Law states “Work expands so as to fill the time available for its completion”

Page 9: Agile Estimating and Planning

additional traps we fall into

Multitasking causes further delays Features are not developed by priority We ignore uncertainty

Integrum Tip:Don’t split people among multiple projects.

Small iterations combat uncertainty.

Page 10: Agile Estimating and Planning

the manifesto says...

Individuals and Interactions over Process and Tools Working Software over Comprehensive Documentation Customer Collaboration over Contract Negotiation Responding to Change over Following a Plan

Page 11: Agile Estimating and Planning

an agile approach

Work as one team Work in short iterations Deliver something each iteration Focus on business priorities Inspect and adapt

Page 12: Agile Estimating and Planning

multiple levels of planning

Page 13: Agile Estimating and Planning

release planning

GenerateUser

Stories

Estimate User Stories

Select IterationLength

EstimateVelocity

PrioritizeUser

Stories

SelectStories

Release Date

Define Conditions

ofSatisfaction

Page 14: Agile Estimating and Planning

Conditions of satisfaction

What is success? Date driven? Feature driven?

Page 15: Agile Estimating and Planning

estimating size

DesiredFeatures Estimate

SizeDerive

Duration Schedule

Story Points

Page 16: Agile Estimating and Planning

estimate stories

Estimate gets to cost and time Not necessary to estimate everything always

Page 17: Agile Estimating and Planning

estimates are Not commitments

An estimate is a probability Commitment can’t be made on probability Commitments are made to dates Estimates are not implicit commitments

Page 18: Agile Estimating and Planning

estimates are shared

Not done by “expert” individual We don’t know WHO will do the work Those not doing the work still have the

ability to call bullshit

Page 19: Agile Estimating and Planning

estimation scales

1, 2, 3, 5, 8 and 13

1, 2, 4, 8 and 16

Fibonacci reflects the proportional uncertainty to estimate the further from the smallest you are.

Still reflects non-linear pattern that highlights great uncertainty the further you get from the smallest.

Page 20: Agile Estimating and Planning

story points are relative

10

1

Page 21: Agile Estimating and Planning

example

Labrador - 5 Terrier - 3 Great Dane - 10 Toy Poodle - 1 German Shepard - 8 Bulldog - ???

Page 22: Agile Estimating and Planning

estimating in ideal days

15 min qtr x 4 = 60 minutes

Average Length of Football Game?

Page 23: Agile Estimating and Planning

estimating size

5 Hours?6 Wheel Barrows?

Page 24: Agile Estimating and Planning

deriving an estimate

Expert Opinion Analogy Disaggregation

Page 25: Agile Estimating and Planning

planning poker

Combines all three methods Quick but reliable Right amount of discussion (< 2 min) Smaller sessions Before project starts and within project

Page 26: Agile Estimating and Planning

Workshop #1

In teams of 3 to 4 estimate (size) the following water vessels: row boat, canoe, speed boat, freight liner, cruise ship, yacht, sail boat using planning poker.

20mActivity Time

Page 27: Agile Estimating and Planning

probability distribution

Page 28: Agile Estimating and Planning

epics & Themes

Blocks of Epics/Themes Bigger numbers with same non-linear seq More uncertainty More likely estimates inaccurate

Page 29: Agile Estimating and Planning

Why ideal days?

Easier to explain outside team Easier to estimate at first (?)

Page 30: Agile Estimating and Planning

Why story points?

Help drive cross-functional behavior Do not decay Pure measure of size Typically faster to obtain estimate My ideal day is not your ideal day

Page 31: Agile Estimating and Planning

law of diminishing returns

Page 32: Agile Estimating and Planning

when not to re-estimate

Relativity is right, velocity wrong. Adjust velocity. Recalculate release.

Page 33: Agile Estimating and Planning

when to re-estimate

Relativity is wrong ex: API difficult to work with Adjust stories with API work

Page 34: Agile Estimating and Planning

re-estimate partially completed stories

No such thing as partially completed! Should only happen if so bad can’t be

completed in next 2 iterations Probably better to decompose and

estimate decomposed stories

Page 35: Agile Estimating and Planning

select iteration length

Shorter times tightens feedback loops Shorter times can feel like more overhead Longer times can be more comforting

Page 36: Agile Estimating and Planning

derive duration

DesiredFeatures Estimate

SizeDerive

Duration Schedule

Velocity

Page 37: Agile Estimating and Planning

estimate velocity

Yesterday’s weather Sample week, averages Sample sprint

Page 38: Agile Estimating and Planning

velocity corrects estimation errors

How Long to Paint?

What Size Rooms?

10’ x 12’

20’ x 24’

Page 39: Agile Estimating and Planning

prioritize stories

Too little time, too many features Helps with decision making Helps reduce churn

Page 40: Agile Estimating and Planning

factors in prioritization

The financial VALUE of having The COST of developing/supporting The amount/significance of NEW

KNOWLEDGE The amount of RISK removed

Page 41: Agile Estimating and Planning

value

Can be financial Can be desirability

Page 42: Agile Estimating and Planning

Cost

Cost can change depending on when Can convert points to money

Page 43: Agile Estimating and Planning

new knowledge

High

High

Low

Low

Means Uncertainty(How)

End

Unc

erta

inty

(Wha

t)

High

LowMeans Uncertainty

(How)

End

Unc

erta

inty

(Wha

t)

High Low

Page 44: Agile Estimating and Planning

Risk

High

High

Low

Low

Value

Ris

k

High

LowValue

Ris

kHighLow

High riskLow value

High riskHigh value

Low riskLow value

Low riskHigh value

Avoid Do first

Do SecondDo Last

Page 45: Agile Estimating and Planning

financial value

Net Present Value Internal Rate of Return Payback Period Discounted Payback Period

Page 46: Agile Estimating and Planning

theme return

Page 47: Agile Estimating and Planning

revenue sources

New (Customer / Markets) Incremental (New from Existing) Retained (Prevent Customers Leaving) Operation Efficiencies

Page 48: Agile Estimating and Planning

Calculating new revenue

Page 49: Agile Estimating and Planning

calculating incremental revenue

Page 50: Agile Estimating and Planning

calculating retained revenue

Page 51: Agile Estimating and Planning

calculating operational effeciencies

Page 52: Agile Estimating and Planning

estimating development costs

Page 53: Agile Estimating and Planning

putting it all together

Page 54: Agile Estimating and Planning

net present value

Page 55: Agile Estimating and Planning

internal rate of return

Page 56: Agile Estimating and Planning

payback period

Page 57: Agile Estimating and Planning

discounted payback

Page 58: Agile Estimating and Planning

comparing returns

Page 59: Agile Estimating and Planning

prioritizing desirability

Must Haves:a beda bathrooma deskclean

The More, the Better:comfort of the bedsize of roomvariety of equip in fitness room

Exciting:built-in TV’s on treadmillsfree bottled water in roomfree hi-speed internet

Hotel Features

Page 60: Agile Estimating and Planning

kano model

Threshold, or must-have, features Linear features Exciters and delighters

Page 61: Agile Estimating and Planning

kano customer

Low

HighC

usto

mer

Sat

isfa

ctio

n

Abs

ent

Fully

Impl

emen

ted

Feature Presence

Perfo

rman

ce / l

inear

Must-have, Mandatory

Exciters anddelighters

Page 62: Agile Estimating and Planning

kano assessment

Page 63: Agile Estimating and Planning

categorize responses

Page 64: Agile Estimating and Planning

distribution of results

Page 65: Agile Estimating and Planning

relative weighting

Page 66: Agile Estimating and Planning

Workshop #2

In teams of 3 to 4 prioritize the provided backlog using by value, cost, new knowledge, risk removed and desirability utilizing the methods show today.

45mActivity Time

Page 67: Agile Estimating and Planning

select stories and date

Feature driven.. Stories determines date Date driven.. Date determines features Can be detailed by iteration Can be vague by iteration

Page 68: Agile Estimating and Planning

release planning

Helps product owner and whole team decide how long until release of product Conveys expectations about what will be

developed Serves as a guidepost towards progress

Page 69: Agile Estimating and Planning

extrapolating a plan using velocity

Page 70: Agile Estimating and Planning

when to split a story

Too large to fit in an iteration Won’t fit in an iteration Story is Epic (needs better estimate)

Page 71: Agile Estimating and Planning

splitting across data

Split stories along the boundaries of the data supported by the story Split exceptions or error conditions

Page 72: Agile Estimating and Planning

split on operational

Split large stories based on operations that are performed within the story ex: search Split large stories into separate operations

(ex: CRUD)

Page 73: Agile Estimating and Planning

remove cross-cutting concerns

Remove from security, error handling, logging, etc

Page 74: Agile Estimating and Planning

don’t meet performance constraints

Consider splitting a large story by separating the functional and non functional aspects into separate stories. “Make it work. Then make it work faster.”

Page 75: Agile Estimating and Planning

mixed priorities

Separate a large story into smaller stories if the smaller stories hae different priorities.

Page 76: Agile Estimating and Planning

don’t split into tasks

Don’t split a large story into tasks. ex: Not UI, Model, Controller, View Story Use tracer bullets

Page 77: Agile Estimating and Planning

avoid temptation of related changes

Don’t add related changes Unless related changes equivalent priority “While I’m in that code...” Only makes it worse

Page 78: Agile Estimating and Planning

combining stories

It’s okay to combine smaller stories Use caution and keep things managable

Page 79: Agile Estimating and Planning

Workshop #2

In teams of 3 to 4 create a release plan using velocity.

20mActivity Time

Page 80: Agile Estimating and Planning

release burndown charts

Page 81: Agile Estimating and Planning

release planning vs sprint planning

Use different scales (points / hours) Use commitment driven approach