Live data from Hacker News

Why software projects take longer than you think: a statistical model (2019)

erikbern.com

101–110 of 133 posts

Re: Why software projects take longer than you think: a statistical model (2019)

#101
post #98

These comments read like from a different galaxy (for me). Here it is very clear why. Management asks: how long does it take. Engineer replies: will take X man month. Management: thats too long, lets estimate shorter.

I clearly remember estimating something with a manager at a previous job, saying it will take 2 weeks. His response was, that's too long, let's try 2 days and see what happens.

so what happened?

Re: Why software projects take longer than you think: a statistical model (2019)

#102
post #95

Earlier quoted context omitted.

Exactly. So when a customer asks for an estimate you negotiate for the biggest buffer you can get away with, there is no incentive to make an accurate prediction.

Now I get your point, and agree. Plus, coming out below that estimate will make for a pleasant experience.

It depends. In most typical cases if it is billed by the hour (inc. regular employment) it does not worth it to deliver early. When failure to meet deadlines is expected the optimal time to deliver is after the original estimate. The exact numbers can vary a lot.

Re: Why software projects take longer than you think: a statistical model (2019)

#104

Earlier quoted context omitted.

I clearly remember estimating something with a manager at a previous job, saying it will take 2 weeks. His response was, that's too long, let's try 2 days and see what happens.

so what happened?

I estimate they will answer in 2 days.

Re: Why software projects take longer than you think: a statistical model (2019)

#105
post #16

> A reasonable model for the “blowup factor” (actual time divided by estimated time) would be something like a log-normal distribution. Interestingly, we did extensive time tracking on a multi-year in-house software project and collected data comparing the estimated completion time of tickets with their actual time. The software department was under a lot of pressure to improve their forecasting, and were somewhat de…

> ...if you want to make a commitment you can take to a customer, you can just extend the lognormal up to... What you're proposing is effectively a fancy "padding factor", it's like on Star Trek when Scotty says they can only go at Warp-8, but really, Warp-11 is possible. Sometimes stakeholders do behave like toddlers and get red in the face and stomp around when a "promise" is broken because "we aren't there yet." (…

I disagree somewhat. There's a world of difference between saying "here's when we think it'll be done, but sometimes shit happens and there'll be a delay" and saying "we're 95 % confident it will be done by this date" -- especially when you have a solid track record behind the second.

The first one tells you effectively nothing. The second one you can build strategy on.

Re: Why software projects take longer than you think: a statistical model (2019)

#107
post #98

These comments read like from a different galaxy (for me). Here it is very clear why. Management asks: how long does it take. Engineer replies: will take X man month. Management: thats too long, lets estimate shorter.

Project Manager: I promised the customer we'd deliver Vagueness v1 by next Wednesday. Can I have a build?

Engineering Manager: ok, Engineer, we need Vagueness, how long will it take?

Engineer: I can whip up a prototype in about a week but it's only a prototype and will lack any functionality. I'm also busy trying to get the fire put out on the fourth floor and my kids' daycare is closed because of the riots.

Engineering Manager: OK, 3 weeks plus another 3 weeks for QA and bug fixing. Also, have those reviews done and fill out your daily TPS reports. Oh, and can you just slip in those other two projects we talked about informally last week?

Project Manager: OK, I'll promise the client they'll have it by Tuesday. Where do I tell them to download from?

Re: Why software projects take longer than you think: a statistical model (2019)

#108
post #9

Over the course of my life I've designed and built many products/projects. Not a single one that had deadlines imposed by the customer was late. It might deviate on non critical feature set but the main course has been always served properly.

And? I suspect customers that asked you to, say, build a new inventory tracking tool that interfaces with their existing enterprise infrastructure (SAP, Salesforce, etc) didn't ask you to do it in 2 weeks. So what was asked was probably -reasonable-. If it wasn't, you probably would have dropped the customer/left the company out of frustration. If it was reasonable, for a sufficiently fully featured solution that you…

>"That's just how we handle the fact that estimates are wrong"

Estimates are not wrong. We agree upfront what is guaranteed to be delivered by deadline. The rest is optional. I might do it if I am significantly ahead of schedule or should they decide to continue with my services after initial delivery. Sometimes they order initial product but then prefer to maintain it themselves.

Re: Why software projects take longer than you think: a statistical model (2019)

#109
post #16

> A reasonable model for the “blowup factor” (actual time divided by estimated time) would be something like a log-normal distribution. Interestingly, we did extensive time tracking on a multi-year in-house software project and collected data comparing the estimated completion time of tickets with their actual time. The software department was under a lot of pressure to improve their forecasting, and were somewhat de…

> ...if you want to make a commitment you can take to a customer, you can just extend the lognormal up to... What you're proposing is effectively a fancy "padding factor", it's like on Star Trek when Scotty says they can only go at Warp-8, but really, Warp-11 is possible. Sometimes stakeholders do behave like toddlers and get red in the face and stomp around when a "promise" is broken because "we aren't there yet." (…

This is a principled approach.

And of course it does depend on the nature of the contractual relationship with your client.

However, even if we charitably assume that the developers are accurately estimating the mean, that means that out of 100 projects, 50 of them will be delivered late. It is likely that you'd want to do better than that, and to do so in a principled manner, you're going to need to adjust the estimates that come out of the estimation process.

Re: Why software projects take longer than you think: a statistical model (2019)

#110
post #21

In my experience from the past decade, it is often the case that, the difficult thing isn't estimating how much time the proposed project takes to build (this is the difficult part for some devs though), but it's how much other stuff comes up. Stuff includes everything not related to your project. E.g. your last project that is now on prod, where bugs were reported and need to be fixed. Another team needs your expert…

Yes, we've recently started to track how much time developers are working on things that were estimated vs how much time they're spending on other things (standups, retros, refinement, one to ones, company meetings, training, customer meetings, builds, support and maintenance....)

A surprisingly large portion of the 'estimates being wrong' is actually down to the fact that people generally estimate that they're going to be working 100% without interruptions or other tasks. Sure, there are times when tasks are harder than expected, but this is a smaller factor than I had originally anticipated.

Post reply on HN