This question has been asked before - previous replies here on HN include: brg: Because software development is an act of invention. While
experience and education often tell us that something is
possible to accomplish, the route to the end is unknown.
The metaphor Michael Wolfe provides is good. But software
scheduling isn't so much about diversions and stumbles as
it is about the trials of invention and artisanship.[0]
zoowar: It doesn't matter what estimate software developers
make, program management sets arbitrary release dates.[1]
(Typos fixed)More than one person here referred to Michael Wolfe's answer. And for reference, here are some of the submissions: https://news.ycombinator.com/item?id=6033335 https://news.ycombinator.com/item?id=6028623 https://news.ycombinator.com/item?id=6024765 https://news.ycombinator.com/item?id=3808866 https://news.ycombinator.com/item?id=3743048 https://news.ycombinator.com/item?id=3598325 https://news.ycombinator.com/item?id=3588950 https://news.ycombinator.com/item?id=3535100 https://news.ycombinator.com/item?id=3530928 https://news.ycombinator.com/item?id=3528809 https://news.ycombinator.com/item?id=3527970 https://news.ycombinator.com/item?id=3521393 https://news.ycombinator.com/item?id=3520585 ---- [0] https://news.ycombinator.com/item?id=3535010 [1] https://news.ycombinator.com/item?id=3743088 |