how to estimate,
or not

Ingvald Skaug
BouvetOne 2017

estimates...

+ the closely connected deadlines

..is a battleground

PAIN

PAIN

who what

  • Misunderstandings
    becomes clear around the deadline...
  • Stress
    conflict, worry
  • Missed deadlines
    promises fall (through) like dominoes
  • Waste
    Unnecessary overhead, re-work
  • Less value, later
  • Worse customer relation
    less value, less income - now, over time
  • Employees
    developers, project managers, ...
  • Customers
    users, buyers, ...
  • Employers
    consultancies, product companies, ...
(everyone)

PAIN

timebox trouble

  • Inestimatable work
  • Unplanned work
  • Unclear work
  • Blocked work
    - need input from unavailable stakeholder
  • Parking
    - unfinished work, waiting, due to interruptions, multi-tasking
  • Changed work/ requirements
  • Legacy code
  • Integration
  • Normative estimates
    (=> tech debt)
  • Specialist
    (=> Uncertain access)

PAIN


			what can i get?			
				
				
					how much does it cost?
	when can i get it?
	

pick two..

PAIN

iron triangle sacrifices quality:
f.ex continuous testing

why

why pain

uncertainty

Software [vs] manufacturing
Software dev't is product design
Working software is the factory
Useful information is the product
-@kb2bkb

why pain

language, mindset

  • you say estimate, i say promise
  • "plan"

I believe the obsession with control is a delusion and, increasingly, a fatal business error.
-Ricardo Semler CEO, majority owner of Semco (industrial democracy, corporate re-engineering)

why pain

hides info

  • estimates hide risk
  • illusion of control

why pain

negative spiral

So often:
1. more specs -> less need of face2face
2. less f2f -> bad outcome
3. bad outcome -> more specs
-@berndschiffer

value

what do we really need?

  • when - real deadlines, cost of delay?
  • what - minimum sensible first?
  • how much - is it worth it?

step by step possible?
changing course possible?

value

continuous discovery, planning

  • understand work
  • break down to minimum viable work
    => early, real feedback
  • mitigate risk, make decisions

better

better

Alternative to estimates: do the most important thing until either it ships or it is no longer the most important thing.
- @KentBeck

better

range-based estimates

  • exposes uncertainty
  • !=promise
  • more acceptance for change

better

continuous planning

capture changing priority

if you have to:
forecasting

  • remaining estimate
  • remaining capacity

better

commitment

myth: planning is commitment. sticking to a detailed plan is not healthy - commit sparingly.
@mpoppendieck http://bit.ly/1SCVSih

better

continuous planning

myth: early spec reduces waste. if requirements specified long before coding, of course they change.
@mpoppendieck http://bit.ly/1WuJQfy

better

evolutionary development

share partially complete design info. good design is discovery, in short, repeated exploratory cycles.
@mpoppendieck http://bit.ly/1N6e72A

questions, comments?