Top Banner
Neil Killick, Agile Coach / Trainer neilkillick.com / iterative.com.au neil_killick Copyright Neil Killick, Iterative, 2013 the #NoEstimates debate Alternatives to Agile Estimation and...
37

The #NoEstimates Debate

May 08, 2015

Download

Technology

Neil Killick

My talk at Agile Singapore and Agile Scandinavia.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The #NoEstimates Debate

Neil Killick, Agile Coach / Trainerneilkillick.com / iterative.com.au neil_killick

Copyright Neil Killick, Iterative, 2013

the #NoEstimates debate

Alternatives to Agile

Estimation and...

Page 2: The #NoEstimates Debate

WHAT IS

Like “Agile”, it has come to have many definitions and interpretations.

What is #NoEstimates?

Page 3: The #NoEstimates Debate

A conversation, started on Twitter, about ways in which software can be delivered with no estimates.

Birth of #NoEstimates

Page 4: The #NoEstimates Debate

A collection of opinions and practical advice from practitioners who deliver software with no estimates.

What drove the debate?

Page 5: The #NoEstimates Debate

A diverse and much needed debate about when it is appropriate to use estimates in software, and what form these should take.

It’s now become...

Page 6: The #NoEstimates Debate

Neil Killick Chris Chapman Henri Karhatsu

Woody Zuill Vasco Duarte

The #NoEstimates Crew

Page 7: The #NoEstimates Debate

WHAT ISEMBRACE AGILE PRINCIPLESFOCUS ON VALUEDELIVER SMALL SLICESDELIVER EARLY & FREQUENTLYCUSTOMER COLLABORATION

Common Ground

Page 8: The #NoEstimates Debate

thicsmpiricismmergence

3 E’s of #NoEstimates

Page 9: The #NoEstimates Debate

ETHICS - Cycle of Mistrust

Trust breaks down

Deliver the wrong thing, or late

Focus on schedule

Commitments of scope and time

Page 10: The #NoEstimates Debate

EMPIRICISM - Working software allows us to monitor progress and manage risk in a new way.

Page 11: The #NoEstimates Debate

EMERGENCEof cost and value aswe get feedback from users and market.

Page 12: The #NoEstimates Debate

Which is more predictable --A team that estimates or one that doesn’t ?

Predictability

Page 13: The #NoEstimates Debate

● DETERMINISTIC AND REACTIVE● FOCUS ON SCHEDULE / PLAN● SCOPE DRIVES DECISIONS● LOTS OF WIP IN ATTEMPT TO “GET IT ALL

DONE”● NO METRICS, OR INAPPROPRIATE ONES

Team #Estimates

Page 14: The #NoEstimates Debate

High variability12 days

1 Day

Page 15: The #NoEstimates Debate

● PROBABILISTIC AND PROACTIVE● FOCUS ON TIME AND CASH CONSTRAINTS● ITERATE DESIGN AND DECISIONS● DELIVER WITH FLOW / LIMIT WIP● ACTIONABLE METRICS (e.g. STORY CYCLE

TIME DISTRIBUTION) USING A “SLICING HEURISTIC”

Team #NoEstimates

Page 16: The #NoEstimates Debate

Better Predictability

3 days

1 Day

Page 17: The #NoEstimates Debate

● EXPLICIT POLICY FOR BREAKING DOWN WORK AND MEASURING HOW LONG IT TOOK (CYCLE TIME)

● STARTS AS A SHARED DEFINITION OF WORK TYPES (e.g. THEME, FEATURE, STORY, etc.)

● SLICE ALL UPCOMING WORK SIMPLY AND SYSTEMATICALLY FOR “SMALL-NESS”

What’s a“Slicing HeuristicTM”?

Page 18: The #NoEstimates Debate

● Given Bob is a registered user,

When Bob logs in

Then he should be logged in.

● Given Bob is logged in,

When Bob chooses Profile

Then he should see his profile.

Example -Max 1 User Scenario

Page 19: The #NoEstimates Debate

Slice into2 separate stories

Page 20: The #NoEstimates Debate

Slice those stories further

Page 21: The #NoEstimates Debate

● Agility relies on small chunks, so useful to have a consistent and explicit way of creating them

● Improve ready-ness and done-ness

● Focus on delivering more frequent slices of value

● No need to explicitly estimate or re-estimate

Why use aSlicing Heuristic?

Page 22: The #NoEstimates Debate

● Story points are ambiguous, time isn’t

● Explicit policy, so can be inspected and adapted to narrow control limits

● Outliers can be addressed at standup or retro

Why use aSlicing Heuristic?

Page 23: The #NoEstimates Debate

● Exposes goals from solutions and vice versa● Slices not necessarily “smaller” than thing we

sliced, but multiply our options

Slicing creates options

Page 24: The #NoEstimates Debate

● KEEP TEAMS TOGETHER● ENABLE CONTINUOUS DELIVERY● NO LONG PROJECTS / PROJECT THINKING● DRIP FUND (MULTIPLE OPTIONS)● BUILD THINGS ON DEMAND, DELIVER AS

SOON AS THEY ARE READY● FLEXIBLE CONTRACTS

Portfolio #NoEstimates

Page 25: The #NoEstimates Debate

Present a business case

Approved as viable option

Team assignedTimeboxed experiment

Is initiative still valuable

enough?

NO

Initiative prioritised

YES

+ Team(s) if required

Frequent delivery

& feedback loop

Stop

Choosing what to do

Page 26: The #NoEstimates Debate

Scaling up and down

Page 27: The #NoEstimates Debate

Questions

Page 28: The #NoEstimates Debate

What is and isn’t estimating, given people form and act on expectations of an uncertain future every day?

Question 1

Page 29: The #NoEstimates Debate

● Estimating = Giving ranges of actual or relative time based on past observation, WIP, team size, etc.

● Guessing = New teams, with competing priorities, asked to give single dates in unfamiliar domains

● There is nothing intrinsically wrong with estimating, so long as we:○ Understand its limitations○ Use it only in appropriate situations○ Don’t rely on it for big up front decision making○ Update our estimates (and everyone’s expectations)

based on real data frequently

Answer 1

Page 30: The #NoEstimates Debate

Why would we choose not to judge likely outcomes if worthwhile human endeavours necessarily carry risk?

Question 2

Page 31: The #NoEstimates Debate

● #NoEstimates is about alternatives to estimating the cost of delivering software, not the value it generates

● We must hypothesise (estimate) the value of things in order to decide if we will pursue them

● My argument is that rather than estimate cost we can control (fix) it in “drips” using fixed Agile teams

● Delivery of working software allows us to reassess value iteratively based on the reality of user / stakeholder feedback and market conditions

Answer 2

Page 32: The #NoEstimates Debate

If we elect not to take on the risk of predicting an uncertain future, who do we think should, and why?

Question 3

Page 33: The #NoEstimates Debate

● We should embrace the delicious uncertainty of software, be excellent in what we do and aim to delight rather than “meet requirements”

● Software products and services have ongoing value, so the final cost and value can never be known up front

● We can’t fix price and scope, but we can work collaboratively and continuously with our customers to build the best possible result for budget or time constraint

● We can provide flexible pricing and termination options to our customers based on similar past work

Answer 3

Page 34: The #NoEstimates Debate

Off the shelf library software costs $50k.We could try building our own at $2,500/day but might fail.What should we do?

Question 4

Page 35: The #NoEstimates Debate

● Answer depends on many things like whether we have an established team, are we capable of delivering features every few days, etc.

● Need to establish the problem rather than decide between solutions; Do we need the software at all?

● What are the consequences of spending more than the OTS product costs? Is the $50k a constraint?

● How would ongoing maintenance costs compare?

Answer 4

Page 36: The #NoEstimates Debate

● 4 weeks not far into the future, so probably have an instant sense of “Is it possible?” and“Can we build something better?”

○ Do we know enough about the domain?○ What are minimum features we need?○ How many people do we have? ○ Do we have any other WIP?

Answer 4 (contd)

Page 37: The #NoEstimates Debate

Neil Killick, Agile Coach / Trainerneilkillick.com / iterative.com.au neil_killick

Copyright Neil Killick, Iterative, 2013