estimation myths debunked

Download Estimation myths debunked

Post on 17-Jul-2015

301 views

Category:

Technology

1 download

Embed Size (px)

TRANSCRIPT

  • Estimationsbrought by Magorzata Szweda, Blaze Hadzik, Magdalena Sitarek &

  • what is an estimation?

    estimationnoun estimation \es-t-m-shn\

    : 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

  • why estimate?there is one truth:

    all clients love estimations

    they mostly think:

    you have knowledge, youve done

    that before, thats piece of cake, isn

    t it?

  • why estimate?

    plan

    budget

    communication

  • so...

    how to do it well?is that even possible???

  • spoiler!

    estimation is a well-informed guess

    youre guaranteed to do it wrong from time to time

  • be prepared!

    do your research

    know what you want to use

    ask around

  • the golden ruleFrom 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.

  • who should estimate?

    not the client

    not a dev that isnt you

    you

  • planning poker

    group estimation

    different experiences

    broader idea of time needed

  • case studyClient 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

  • case studyClient thinks he knows better and tells me I can do it faster.

    What do I do?explain why you think its not correct

    work with your PM

    if s/hes right you finish faster

    if s/hes wrong there can be a delay

  • case studyLead dev from the clients team estimated the ticket for me and its wrong.

    What do I do?communicate its possible you wont make it

    they insisted and you ran out of time - explain why

    work with your PM so you can estimate instead

  • 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

  • how to estimate features?

    feature = planning + actual work + tests + code review

    + bugs-that-never-happen-but-sometimes-do

  • how to estimate features?

    add some padding!

    the Blaze Time Tax = 1.75

  • DOsok, 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 somethings 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.

  • DONTs1) Never estimate during the call !!

    2) Dont let anyone estimate for you

    3) Dont estimate without checking that you have everything

  • 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?)

  • how to estimate bugs?

    Dont.

    No, seriously - DONT.

    But if you have to:

    some bugs cant be estimated - they need a no-idea label

    if your guess was wrong - explain why you need more time

  • how to estimate projects?

    that might surprise you, but

    you usually dont work 8h a day

  • how to estimate projects?

    that might surprise you, but

    you usually dont work 8h a day :)

    how come?

    9am 11am 1pm 3pm 5pm

    help reqlunchemail checking callemail checking

  • and finally...

    always think of the worst case scenario

  • and finally...

    always think of the worst case scenario

    and then add even more time :)

  • responsibility

    What is responsibility?

  • responsibility

    What am I responsible for?

  • responsibility

    Let your client know in case of delays & blockers

  • responsibility

    Dont be quiet.

  • responsibility

    Be a friend.

  • responsibility

    The missing feedback loop we want to have.

  • Cases

    The API that has just been updated.

    The integration no one knows about.

    The project you dont know about.

  • Cases

    The client changes requirements.

    The client is too cool.

    The client asks you how long sth would take on a call.

  • Questions?

    ask us now! :)

    fill in the evaluation survey

    and share your feedback