Live data from Hacker News

Why Are Projects Always Behind Schedule?

priceonomics.com

91–100 of 111 posts

Re: Why Are Projects Always Behind Schedule?

#91
Projects end late whenever they are started late.

If a project is a month past its deadline, that means it should have begun a month sooner (in order to meet the deadline).

It's surprising how little attention is paid to this fact in the professional world. So many teams and managers focus on the end date, and ignore the start date. In truth, the start and end dates are precisely equal in importance.

Re: Why Are Projects Always Behind Schedule?

#94
The main problem with the typical estimate is that it is a scalar number. 2 hours or five days or three months. That's fine if you are looking for a target to aim for. But if you want to actually know when something will be done and how much it will cost, a probability distribution with a confidence interval is the only reasonable way to model that.

Re: Why Are Projects Always Behind Schedule?

#96
post #82

Earlier quoted context omitted.

Another reason is a kind of selection bias: an organisation wants something built, gets offers from various software companies, and picks the cheapest. That is, if you are doing the project, your company's initial estimate was the one that had the highest chance of being too low.

That's not only that, the field is full of bullshit. Advertising feature as available when they have not even been discussed seriously is the usual in the companies I have worked for the last 10 years. Our website and sales all go advertising "We support X. We are ready for regulation Y", while we are actually waiting for a paying customer to buy it to even look into it. And that's all companies. You can't really be…

> An extreme case, is a client that took a package I developed 5 years after delivering the working version of it.

You completely lost me there, what happened exactly?

Re: Why Are Projects Always Behind Schedule?

#97
Because prototyping requires you to build and then get feedback, because almost no company knows how to actually plan a project in isolation rather than have to go through multiple iterations. Then rework (where you're redoing things based on user feedback and changing requirements) causes forward progress to not be the sustained motion that management always expects. That's why.

Re: Why Are Projects Always Behind Schedule?

#98
post #14

When I was doing more project work I outright refused to give estimates, explaining that I could come up with a random figure that's so low they won't believe it or so high they won't like it, and in any case the figure would have nothing to do with when the project would be complete. Instead I offered broad time ranges that would narrow down to more accurate ones as work progressed. The managers who had to report th…

>>When I was doing more project work I outright refused to give estimates... Instead I offered broad time ranges that would narrow down to more accurate ones as work progressed.

Broad time ranges can also be risky, because people will hear what they want to hear, which is usually the lower end of the range.

Which is why I only discuss effort (in hours) rather than timeframes. All of our projects are fixed bid, so the conversation usually goes, "this project will take 150 hours of effort. We don't know how long those 150 hours will take to expend." And in rare cases where we absolutely have to mention a timeframe, we make sure it is not in writing anywhere.

Re: Why Are Projects Always Behind Schedule?

#99

Because humans suck in predicting the future.

This is actually a good answer. If we knew how long it would take to finish this project, we would also know how long it would take a given horse to finish a race, or when a stock would hit a certain price point on the market. We wouldn't need to be working on the project because we'd be inordinately wealthy.

All this talk of medians and means assumes that you've done the same thing many times before (otherwise you wouldn't have those statistics). In software, if you've done it before, then it's already done so the estimate is zero.

Projects always involve doing new things, new requirements, using new technology, techniques, or tools; targeting a new system, and/or using new processes and people. New requirements, constraints, market situations, priorities, and discoveries rise up during the project. Sometimes all of the above. Past performance is not a predictor of future results.

It's more realistic to flip it around. Prioritize the most-important requirements and set an initial deadline. Then you'll get something (the most important stuff, or at least some progress towards it) by the deadline and can decide whether to add the less important stuff afterward.

When doing that, quality and other intangibles need no longer be overlooked but become part of the prioritization. Do you want high quality, or more stuff by the deadline? Do you want the team functioning well for the long haul or is it worth burning them out to rush this, then having downtime afterward?

To get more control, shorten the deadlines to the minimal point where you're still getting deployable chunks of acceptable quality. That acknowledges the inherent uncertainty and gives better control and visibility than just making up a random number (or 3).

Re: Why Are Projects Always Behind Schedule?

#100
post #82

Earlier quoted context omitted.

That's not only that, the field is full of bullshit. Advertising feature as available when they have not even been discussed seriously is the usual in the companies I have worked for the last 10 years. Our website and sales all go advertising "We support X. We are ready for regulation Y", while we are actually waiting for a paying customer to buy it to even look into it. And that's all companies. You can't really be…

> An extreme case, is a client that took a package I developed 5 years after delivering the working version of it. You completely lost me there, what happened exactly?

I think he means (and that is also my experience in running services companies) that even if you deliver the software to your client, the client does not have the time scheduled internally to actually test and report issues. So you delivered all the client wanted and they will not even look at it because the internal manager who issues the project and his team are too busy.

We delivered a project a few weeks ago and heard nothing; I heard only yesterday that the manager went on holiday and will be back 3rd week of january. And when he comes back his inbox will be full so I do not expect any testing till the 2nd week of feb...

Post reply on HN