Software is hard - Part 2: Implicit Requirements
The requirements you can see at the beginning are only the tip of the iceberg.
Every professional in the software industry knows that building software is a highly unpredictable business. This is why we don't like the question of “How long is it going to take?". The thing that always puzzled me, however, is that that unpredictability always seems to point in the wrong direction: software seems to almost always take longer to build than expected. With practically any other process, one would expect something similar to a normal (binomial) distribution around the…