4 ms·
Because we can't estimate things well. We have played with small demos and examples, solved homework problems (in college). We remember how successful we were p
by rdtsc 9y ago
Because we can't estimate things well. We have played with small demos and examples, solved homework problems (in college). We remember how successful we were picking up and coding new APIs and ideas.
That is we often have a proof of concept ready or the skeleton and then declare it 80% done. Then we extrapolate and say, "well I'll a bit more just to finish the last 20%". Except that the last 20% is composed of both boring and unpredictable things. Boring like having to write tests, documentation, find out that it doesn't jive with the deployment hardware, plugging logging, authentication into it, managing upgrade from old versions of software, having meetings with marketing. Unpredictable because in that perceived 20% requirements change. Even more insidious is the market as a whole change. Ever seen it happen - while finishing a major project and about ready to release it, everyone moved on and nobody wants that kind of a thing anymore? I've seen it.