top | item 15838065

(no title)

christopherslee | 8 years ago

engineers hate giving estimates for a variety of reasons that i'm not going to get into here. most modern agile organizations don't value spending time on getting accurate estimates, but some kind of best-faith estimate is still valuable for a lot of reasons.

for medium to large size projects i like to give a confidence score to my estimate to give a sense of how much unknown there currently is.

for example: we think we can get this ticket done in 5 days, but there's a 50% chance it will take two weeks (because of complications in X, Y, and Z).

or the other way, my estimate is 3 days, but if this one thing works out that we're looking into, there's a chance we can finish it in 1 day.

what people are generally asking for with estimates is sizing and complexity, so providing some additional information helps.

discuss

order

GordonS|8 years ago

I like to do something similar - I break down what I see are the risks, add a risk factor accordingly, then provide the estimate as a range. For example, the risk factor my be 50%, so I'll say the cost will be between £100k and £150k (for example). I find this really helps to focus the customer stakeholders who can control some of those risks.

newfoundglory|8 years ago

Some devs seem to have actual phobias of estimates. My team was asked if we can deliver features x or x+ some time next year. (IMO as the dev who knows both the code and x best, we can deliver x in 2018 easily and x+ maybe). In our discussions about it, one guy would only say you can't predict the future, and another guy argued we should say either of them would take two years so that we could have time to rebuild the app from scratch while we delivered them. It's a web app.

christopherslee|8 years ago

tl;dr - we engineers are bad at estimation because we're too optimistic, and then we don't want to be accountable to the estimate given based on limited information.

i think we have phobias for estimates because of management repercussions that only happen when you miss an estimated delivery date, or for organizations that put external dates based on a best-case aggressive engineering estimate. then when the engineering team misses the date, there's a retro (when retros should happen for both good and bad sprints.)

i've never been clear why more organizations don't soft launch features or products, and then pick a marketing/external announcement date.

valuearb|8 years ago

Engineers hate giving estimates because they can never be as accurate as planners want.

The only accurate time estimate is a range with at minimum a 4x difference between best and worst case, and preferably more the less certain the estimate is.