2. what is an estimation?
estimation
noun es·ti·ma·tion ˌes-tə-ˈmā-shən
: a judgment or opinion about something
: the act of judging the size, amount, cost, etc., of something : the act of estimating something
: a guess about the size, amount, cost, etc., of something
3. why estimate?
there is one truth:
all clients love estimations
they mostly think:
you have knowledge, you’ve done
that before, that’s piece of cake, isn’
t it?
8. the golden rule
From The Pragmatic Programmer: From Journeyman to Master:
What to Say When Asked for an Estimate
You say "I'll get back to you."
You almost always get better results if you slow the process down and spend some time going
through the steps we describe in this section. Estimates given at the coffee machine will (like the
coffee) come back to haunt you.
11. case study
Client thought of a new feature and asked me to estimate on the call.
What do I do?
never estimate unexpected things on a call!
ask for some time for research
12. case study
Client thinks he knows better and tells me I can do it faster.
What do I do?
explain why you think it’s not correct
work with your PM
if s/he’s right you finish faster
if s/he’s wrong there can be a delay
13. case study
Lead dev from the client’s team estimated the ticket for me and it’s wrong.
What do I do?
communicate it’s possible you won’t make it
they insisted and you ran out of time - explain why
work with your PM so you can estimate instead
14. how to estimate features?
make sure you know what needs to be done
remember that you need to write tests
remember about code review
there WILL be problems
15. how to estimate features?
feature = planning + actual work + tests + code review
+ bugs-that-never-happen-but-sometimes-do
16. how to estimate features?
add some padding!
the Blaze Time Tax = 1.75
17. DOs
ok, so here we are…
1) Gather requirements (ping pm/ client if needed) and do your research (mockups, APIs, edge cases...)
2) Ask when in doubt and explain when something’s amiss
3) There is always room to screw up and for things to go wrong - add padding
4) Track elapsed time and learn from past experiences
5) Ask around - check with others / internet / seniors / grandma / PM /
6) Use more than one method to arrive at an estimate, and look for a midpoint among all of them.
18. DON’Ts
1) Never estimate during the call !!
2) Don’t let anyone estimate for you
3) Don’t estimate without checking that you have everything
19. why we fail sometimes...
1. The presence of hidden or unknown variables that are difficult or impossible to anticipate,
and sometimes even more difficult to resolve.
2. Our often-idealistic views of our own capabilities. We frequently believe that we can
achieve much more than is possible in the available time.
3. A strong human desire to please other people by telling them what they want to hear.
(After all, who wants to be the bearer of bad news?)
20. how to estimate bugs?
Don’t.
No, seriously - DON’T.
But if you have to:
some bugs can’t be estimated - they need a no-idea label
if your guess was wrong - explain why you need more time
21. how to estimate projects?
that might surprise you, but…
you usually don’t work 8h a day
22. how to estimate projects?
that might surprise you, but…
you usually don’t work 8h a day :)
how come?
9am 11am 1pm 3pm 5pm
help reqlunch
email
checking
call
email
checking