how to not shoot yourself in the foot with estimation

30
How to not shoot yourself in the foot with estimation neil_killick Neil Killick, 2017, All Rights Reserved

Upload: neil-killick

Post on 22-Jan-2018

268 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: How to not shoot yourself in the foot with estimation

How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Page 2: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Business wants predictability…

+ Bang for buck + Responsiveness to change + Speed of delivery + High quality

Page 3: How to not shoot yourself in the foot with estimation

Neil Killick, 2017, All Rights Reserved

Traditional…

• Build a plan up front • Keep changes to a minimum • Plenty of time for course

correction • Functional teams/estimation/

milestones • Project Manager steers

“Agile”…

• Cross-functional teams/estimation

• Little time for course correction • Unclear objectives • Unclear milestones • Frequent change • Frequent prioritisation

Potential to shoot yourself in the footFAIR HIGH

neil_killick

Page 4: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

"Scrum employs an iterative, incremental approach to optimize predictability and control risk.”

~ The Scrum Guide

Page 5: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Incorporating feedback as we go

Not knowing exactly what we’re doing, in sequence, throughout the project

Welcoming change, making it easy, and incorporating it

Do these things make us unpredictable?

Page 6: How to not shoot yourself in the foot with estimation

Empirical predictability

Understand how long we have to do what we need to do

Create/update the plan

Monitor progress through working software and other metrics and

observations

neil_killickNeil Killick, 2017, All Rights Reserved

Deterministic predictability

Determine how long it will take to do what we need to do

Put the answer in a plan

Keep asking how long is left to deliver the plan

Stick to the plan

Page 7: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

1 Become predictably good at delivering

Page 8: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Predictability is improved by behaving and delivering more predictably, not by making predictions

Page 9: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

2 Be transparent — share your process and your progress

Page 10: How to not shoot yourself in the foot with estimation

10

Empirical predictability

Working software every 2 weeks or so

Collaborative review with customers of where we’re at, and what we should do next — better than

“status reporting”

Mitigating risks and impediments by testing assumptions, managing/

reducing dependencies

Neil Killick, 2017, All Rights Reservedneil_killick

Page 11: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

3 Find out what type of estimate is required

Page 12: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

• What will we get, and when?

• Which is quicker/smaller, A or B? (for ROI purposes)

• When will we get X (feature)?

• How much will be done by Y (date)?

• Will X/everything be done by Y?

• Can we deliver X/everything for the time/money available?

• Are you going to deliver maximum bang for buck? Do you have a plan?

What are we actually estimating?

Page 13: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Sales What features can we sell to (potential) customers?

Marketing When can we start our campaign?

What features can we talk about at the next roadshow?

Project and program managers When will Jane/Team A become available for other projects?

When will we need Jane? (our shared UX specialist)

Page 14: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

4 Incorporate appropriate levels of uncertainty

Page 15: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Part of estimate — call out risks/assumptions/issues/dependencies

• How stable is the team? Losing/gaining members? • Are all team members 100% committed to the project? • How predictable is the team’s throughput/velocity of

PLANNED work? • Is there a predictable level of UNPLANNED work? • What are our technical/schedule/people dependencies?

Page 16: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Don’t give a precise date when a set of scope will be delivered

Don’t say a precise set of scope will be delivered on a given date

— use confidence levels and shades of grey

Page 17: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

5 Take into account poor/no prioritisation

— and agility

Page 18: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Remember - We are in a different paradigm

Page 19: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

6 Estimate options for solving problems, not specific solutions

Page 20: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

We control time rather than predict it in iterative development

• Minimum effort to solve problem, then iterate

• Iterative/incremental is a different paradigm

• Let’s discuss this, and align expectations

Page 21: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Problem We need to be able to contact dormant customers by email

Solution 1 (~6-8 weeks) Build an automated customer email system, integrated with MailChimp

Solution 2 (~2-3 days) Send manual email with no integration

Page 22: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

7 Revisit estimates regularly and frequently

Page 23: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

8 Estimate cycle times, not effort

Page 24: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

9 Use data

(yesterday’s weather)

Page 25: How to not shoot yourself in the foot with estimation

Neil Killick, 2017, All Rights Reserved

RELEASE 1 HIGH CONFIDENCE

LOW CONFID

ENCE

MAY 30th

MAR APR MAY JUN

THROUGHPUT FORECASTING INCORPORATING VARIANCE,

CONFIDENCE AND UNCERTAINTY

Milestone falls in our pessimistic forecast range, so we have fairly high confidence

neil_killick

Page 26: How to not shoot yourself in the foot with estimation

Neil Killick, 2017, All Rights Reserved

RELEASE 1 (added scope)

HIGH CONFIDENCE

LOW CONFID

ENCE

MAR APR MAY JUN

MAY 30th

Milestone falls in our optimistic forecast range, so we have lower confidence - project needs steering to stay “on track”

neil_killick

Page 27: How to not shoot yourself in the foot with estimation

Neil Killick, 2017, All Rights Reserved

RELEASE 1 HIGH CONFIDENCE

LOW CONFID

ENCE

MAY 1st (earlier date)

MAR APR MAY JUN

Milestone again falls in our optimistic forecast range, so we need steering to stay “on track”

neil_killick

Page 28: How to not shoot yourself in the foot with estimation

Neil Killick, 2017, All Rights Reserved

RELEASE 1 (even more added scope)

HIGH CONFIDENCE

LOW CONFID

ENCE

MAR APR MAY JUN

MAY 30th

Milestone falls outside even our optimistic forecast range, so we need to reduce scope or push out date

neil_killick

Page 29: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Summary • Become empirically predictable — good at delivering, and know

when you plan/review/release • Be transparent — share your process and your progress • Know what type of estimate is needed • Incorporate uncertainty • Account for poor/no prioritisation — and agility • Estimate problems and options, not specific solutions • Revisit estimates regularly and frequently • Estimate cycle time, not effort • Use data (yesterday’s weather)

Page 30: How to not shoot yourself in the foot with estimation

neil_killickNeil Killick, 2017, All Rights Reserved

Thank you!

Any questions?