3 ms·
It's because most software is under the umbrella of office people playing grown-up and not something where reality matters or thinking happens. Engineering disc
by lotyrin 10y ago
It's because most software is under the umbrella of office people playing grown-up and not something where reality matters or thinking happens. Engineering disciplines, when faced with uncertainty do some math and decide that if the deviation of possible quantities is too close to the tolerable limits of those quantities, you have to adjust one or the other.
High school level math and problem solving plus having ever worked with software clearly state that if you have a software team, you could at the very least collect a single statistic of estimation error (actual effort over expected effort) and get a long-tail (it's going to be more more than it'll be less) distribution. Now you can spec out new projects, get values for expected effort and factor in the error distribution to get a distribution of possible actual effort for the project. If some high percentile of that distribution is more time/money than you can tolerate you have to reduce risks by cutting features or increase the budget (or have a significant fraction of projects fail).
Of course, there's lots more sophistication that could (should) go into this but even this is beyond any part of software industry I've been allowed to participate in, because it gives answers that people with authority find inconvenient.
- UK-AL 10y agoYes, that is part of the problem. People asking for estimates arn't looking for probability distribution of potential completion dates. They are looking for estimates to hold you to account, because that's how you run a good business right? If you gave your answer to someone in management. It would just look like your trying obfuscate the answer.
- jacques_chester 10y ago> They are looking for estimates to hold you to account, because that's how you run a good business right? There's a difference between estimates and their misuse.
- UK-AL 10y agoI don't think most business leaders are looking for estimates, where the developer admits it's probably way off, but it's his best guess. Or huge range of possible release dates(because there is huge variation between the estimate and actuals), as with other estimation methods.
- jacques_chester 10y agoIt occurs to me that software has never had to adopt these practices. It's an industry with a high gross profit margin. If you have a hit, you can get with just about any process or non-process. So you never need to invest heavily in better estimation. If you don't have a hit, you will probably go out of business. So you never get the chance to invest heavily in better estimation.
- ScottBurson 10y agoYou're talking as if better estimation were an end in itself. It's not. The goal is a successful business. There's no point in spending any more effort on estimation than is needed to support the planning required to make the business a success; any more effort than that is simply wasted. If the expected ROI on a project is small, then having really good estimates matters a lot, because it can make the difference between profit and loss. But if the expected ROI is large, precise estimates matter less. Tom DeMarco has famously made this point [0]. [0] http://www.systemsguild.com/pdfs/DeMarcoNov2011.pdf http://www.systemsguild.com/pdfs/DeMarcoNov2011.pdf
- jacques_chester 10y ago> There's no point in spending any more effort on estimation than is needed to support the planning required to make the business a success; any more effort than that is simply wasted. This is basically what I argued. Software businesses often have such fantastic margins that you can do any old thing and still rake it in.