To know how long something takes you must have done it already.
And that's the problem with software, there are no equals. And there are always "surprises".
A car manufacturer knows how long it takes to build a car, because it does that thousands of times for a same model. Now, designing the car, that's a different issue. (And don't give me the BS enterprise "model" of architects throwing some UML from a high tower and "developers" filling the voids because that's the worse way you can build a software)
Ok, it's one thing to build a simple ACID application, another thing is to build something that "has never been tried before" .
And that's the problem with software, there are no equals. And there are always "surprises".
A car manufacturer knows how long it takes to build a car, because it does that thousands of times for a same model. Now, designing the car, that's a different issue. (And don't give me the BS enterprise "model" of architects throwing some UML from a high tower and "developers" filling the voids because that's the worse way you can build a software)
Ok, it's one thing to build a simple ACID application, another thing is to build something that "has never been tried before" .