29
Estimates

NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Embed Size (px)

DESCRIPTION

On Saturday, 12 of April, regular quarterly meeting of Tech Hangout Community took place in Creative Space 12, the cultural and educational center based in Kiev! The event was held under the motto «One day of inspiring talks on Web Back-End». This time Python, Ruby and PHP developers gathered to make peace and learn the Force. *TECH HANGOUT COMMUNITY was found in 2012 by the developers for the developers for knowledge and experience sharing. Such meetings are the part of Innovecs Educational Project that actively develops sphere of internal trainings and knowledge exchange program among professionals. This Initiative was born within the walls of Innovecs and has proved to be extremely popular and high-demand. In a short period of time it gained its own Facebook group with more than 90 members, blog with more than 40 posts and constant quarterly external meeting of Tech hangout community with more than 80 participants. The concept of the event proposes a 30-minute report on the topic previously defined, and the discussion in a roundtable session format. Join to discuss - https://www.facebook.com/groups/techhangout/

Citation preview

Page 1: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Estimates

Page 2: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Estimates#No

Page 3: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

a good estimate is one that provides clear enough view on the project reality to allow the project

leadership to make good decisions about how to control the

project to hit it’s targets.

Page 4: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Making an Estimationwhile estimates solve a problem, what

problem do they solve, exactly?

TIME COST DATE

• “the business as a whole is trying to make a decision — about how to spend it’s money (your time)” Dan Milstein

• Businesses need certainty about what they will get and when

• Unfortunately for most businesses there is very rarely any certainty in software design and development

Page 5: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

• You can break the work down into chunks and add it up

• you can look at a variety of similar projects to compare

• you can stick your finger in the air and guess

HOWTOESTIMATE

Page 6: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Vacations Holidays Sick days Training Weekends Company meetings Department meetings Setting up new workstations Installing new v e r s i o n s o f t o o l s o n w o r k s t a t i o n s Troubleshooting hardware and software problems Ramp-up time for new team members Mentoring of new team members Management coordination/manager meetings Cutover/deployment Data conversion Installation Customization Requirements clarifications Maintaining the revision control system Supporting the build Maintaining the scripts required to run the daily build Maintaining the automated smoke test used in conjunction with the daily build Installation of test builds at user location(s) Creation of test data [Steve McConnell]

MISS ME?

Page 7: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

?UNKNOWNS

UNKNOWN UNKNOWNS

how do you calculate them?

5% 10% 25%

Page 8: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Problems with

wtf-agile visualized

Waterfall WTF

AgileWTF

Estimates

♻ save your time?

Cost &

DatesCost

& Dates

Cost &

Dates

Cost &

Dates

Cost &

Dates

Page 9: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

What The Hell

We’ll define #NoEstimates as running a software project

without any human estimation process. If customers asks,

"How long will it take?" that's estimating. If they ask what’s

next, that's #NoEstimates.

Page 10: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

"My boss would never go for that" may sound like an invitation for dialogue,

but it's actually a fiat.

A term used in policy debate, the

affirmative's power to pass the plan in order

to debate impacts. Allows the debate to progress instead of debating whether or not the plan will be

passed.

• Clearly, many software customers want estimates. In many cases, those are reasonable.

• next logical question: What problems do estimates solve, and can we solve them a different way?

Page 11: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

” #NoEstimates is not about ditching estimates. It is about

improving the way we work such that estimates become redundant.“

Neil Killick

Page 12: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

When you tell the customer this task will take 1-2 day

the customer hear 1 day

you hear 2 days

!

always the way

Page 13: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Some Sciences

Duncker’s candle problem

Page 14: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Some Sciences

Duncker’s candle problem

the wall

Page 15: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Some Sciences

Duncker’s candle problem

Overcome functional fixedness: remove pins out of the box

Page 16: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Some Sciences

Duncker’s candle problem

20th 21thcentury

Page 17: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Some Sciences

Overestimation

Parkinson’s law: work expands to fill

the time available for its completion

Page 18: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

Some Sciences

Eff

ec

t c

ost

sc

he

du

le

overestimation ➡⬅underestimation

100%<100% >100%

Linear penalty due to Parkinson’s law

Nonlinear penalty due to planning

errors, upstream defects, high-risk

practices

target as % of Nominal Estimation

Page 19: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

the Cone of Uncertainty

Page 20: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

A project is behind schedule and over its budget the day it is started.

Don Norman

Page 21: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

what to do

Page 22: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

#NoEstimates

J.B. Rainsberger, the author of “jUnit Recipes”, points out that his first solo software project was just like this. Rainsberger made no promises up front, offering instead to show working software

every two weeks — and also allowing the client to fire him with as little as two weeks' notice.

1. Make Starting Amount of Money Small; Deliver Working Software Often

Page 23: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

John Carmack, CEO of Id Software, is famous for the expression "it's done when it's done," so much so that the phrase appears under Carmack's name

on WikiQuote. !

It's worth noting that Apple, one of the largest publicly traded organizations in the world, is

secretive about upcoming products and refuses to make quarterly earnings estimates for shareholders

or Wall Street. It doesn't seem to be hurting them.

2. Drop Estimation From Your Development Process Entirely

#NoEstimates

Page 24: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

• Most planning work is eliminated here in favor of developing high-level goals in collaboration with the customer. !

• At the same time, that's essentially the business model of Menlo Innovations.!

• By the end of a budget period, the customer could steer to a place very different that the original goal. The customer gets what it needs in the moment — not what it thought it needed six months ago.

3. Move From Contract Negotiation to Partnership

#NoEstimates

Page 25: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

!•Troy Magennis, a former executive at Sabre Holdings and Travelocity, has done some of the most prominent work in this space. Magennis has also developed predictive models that include complex elements like deviation, cycle time, defects/time for repair and so on…!

•Even without a complex model, most agile teams are capable of producing a burn-down chart that can answer the question, "Is this date and this scope possible?"

22. Fund a Pilot That Delivers Working Software; Then Use Modeling to Forecast Schedule

#NoEstimates

• sounds crazy though

Page 26: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12
Page 27: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

#NoEstimates Really About Solving Problems a

Different Way

Page 28: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

With the #NoEstimates approach we don't commit to requirements that we are not going to immediately

work on

The reason is simple: requirements have a "best before" date and expire.

Page 29: NoEstimates (by Oleg Shanyuk) - Web Back-End Tech Hangout - 2014.04.12

[email protected]

@gelosi

Follow: #NoEstimates, @mattt, @soffes, @edog1203, @johnmaeda, …