Which always leads to the dangerous question of 'when'....
But I know better than to ask that with regards to software development.
I've read 'The Mythical Man Month' and worked with enough developers to know that software development can be estimated, but it's never, ever 'simple' and estimates are almost never 'accurate'.
I always use the Scotty principle when I'm working on a project... I double the amount of time I think it 'should' take and that's how long I tell people it 'will' take.