#noestimates thinking
Post on 02-Jul-2015
4.812 Views
Preview:
DESCRIPTION
TRANSCRIPT
Massimo Iacolare @iacoware
#NOESTIMATESthinking
#iad14
my journey
MYTH
Estimatingsucks!
Estimatingsucks!
End of story. Questions?
Estimatingsucks!
Relax, I’m kidding ;-)
End of story. Questions?
Estimatingsucks!
Relax, I’m kidding ;-)
End of story. Questions?
kind of…
just lazy?
#NoEstimatesfrom
#NoSalaryto
woody zuill
@woodyzuillvasco duarte @duarte_vasco
Neil killick
@neil_killick
J.B. rainsberger
@jbrains
Joshua Kerievsky
@JoshuaKerievsky
Chris R. Chapman
@DerailleurAgileHenri Karhatsu
@karhatsu
many more…
Ángel Medinilla @angel_m
Woody Zuill
#NoEstimates is a hashtag for the topic of exploring alternatives to estimates for making decisions in
software development. That is, ways to make decisions with 'No Estimates'
“#NoEstimates is a critique to how estimates are
usually handled not to how they should be done”
EDD
ED
EVELOPMENT
STIMATESRIVEN
D
WHY ESTIMATES DON’T HELP
WRITING SOFTWARE
DEALING WITHUNCERTAINTY
every project brings something new
DomainTechnology - toolsprocesspeople
DomainTechnology - toolsprocesspeople
we learn by doing+
ESTIMATES ?
UNCERTAINTY&
upfront
Oil & water
unreliable
MOST useful at the beginning
maximum ignorance
Cost of a featureessential
complexity +
Foundamental theorem of agile software development
Cost of a featureessential
complexityaccidental complexity+
How much time do you need to add “customer promotions”
to our e-commerce?
How much time do you need to add “customer promotions”
to our e-commerce?
BIASESoptimism bias
anchoring bias
LOSS AVERSION
AVAILABILITY BIAS
SELECTIVE PERCEPT.
…many more
sunk cost fallacy
we suck at making predictions
side effects
Set Expectations
Foster plansdetailed plans
detailed backlog
“estimating means you’re getting married to a plan, which you know is wrong
even when you start”vasco duarte
“estimating means you’re getting married to a plan, which you know is wrong
even when you start”vasco duarte
learn by doing
Hinder Adaptation
Hinder Adaptation
loss aversion
promote cost-based
mindset
cost ↳number
↳certainvalue ↳ ???
↳ UNcertain
cost ↳number
↳certainvalue ↳ ???
↳ UNcertain
availability bias
Costs become the target to Hit
same cost more features
same cost more features
more features =
better software
more features ==
better software
more features ==
better software
in case you are a developer
more features ==
better software
more features ==
better software
in case you come from javascript=
more features ==
better software
in case you come from javascript=
Fallacy
minimize output maximize outcome
more features =
bigger codebase =
Hinder ADAPTation
more features =
bigger codebase =
Hinder ADAPTationagain
BETTER SOFTWARE
BETTER SOFTWARE
BETTER features =
RECAP
plagued by fallaciesfoster detailed plans
hinder adaptationCOST-based mindset
don’t help with uncertainty
Where’s the exit, please?
step 0
sign the contract
get off to a good start
get off to a good start
affect execution
the perils of fixed-price fixed-scope
fixed price - fixed scope
requirements (estimated plan)
a price
a delivery date
fixed price - fixed scope
requirements (estimated plan)
a price
a delivery date
premisesrequirements captured the problem
you understood the problem
Uncertainty doesn’t exist
estimates are correct
execution goes smootly
premisesrequirements captured the problem
you understood the problem
Uncertainty doesn’t exist
estimates are correct
execution goes smootly
premisesrequirements captured the problem
you understood the problem
Uncertainty doesn’t exist
estimates are correct
execution goes smootly
customer problem
fp-fs
things go wrong
you failyou suck
customer problem
fp-fs
things go wrong
you failyou suck
bigger penalty fees
customer problem
fp-fs
things go wrong
you failyou suck
bigger penalty fees
more analysis
you f*ck me, I F*ck you
fixed-price, fixed-scope contracts
Agile contractsCapped time-materialincremental delivery
the exit, please?
adopt a development style which doesn’t rely
on estimates
we learn by doing so we should hit the
target iteratively
adopt a development style which foster a
healthy, mature relationship with my
customers
do the right thing
do it right
do it iteratively
do the right thing
do it right
do the right thingsolve the right problemthe starting point matters
map the problem with story mapping
jeff patton
communication toolwhole point of Xp: business people and technical people should talk
help build customer trust Visualizing your strategy
story mapping benefits
build a shared understanding
spot story’s holes
build effective releases
walking skeleton
plan to reduce uncertainty
prioritize by outcome, not features
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
avoid silosUsers catalog cart promo payments
keep plans lightweight
half life of requirementsembrace flexible scope
do it rightget better at software development
how hard can it be?
do it rightget better at software development
how hard can it be?
support an iterative-incremental style of development
what do we need?
tight feedback loop
slice scope
exploit iterative development
technical excellence to keep it all together
tight feedback loop
tdd ↔ continuous delivery
slice everything
defer commitment
generate options
always assume there’s a simpler way
exploit iterative
developmentUncertainty-Jeff-Pattondon’t know what i want
“if you work on it only once you are
not doing iterative development”
tech. EXCellenceyou’ll need to grow your design incrementally…
…so you won’t get stuck and rewrite it every time you touch it
iterative development is the result of your
well trained technical abilities
nurture your skills
technical xp practices
pair programming
tddsimple design refactoring
“#NoEstimates is merely a call to refocus on the agile manifesto”
Woody Zuill
Individuals and interactions over Processes and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
Individuals and interactions over Processes and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
#NoEstimates
Massimo Iacolare
co-founder of the awesome
freelance
.net and js expert
love shipping features
love making users happy
quality addicted
Lambacon - marzo 2015, bologna
top related