Behind every great programmer is a self-conscious person making it all up as they go, desperately hoping not to be found out.
Behind every debate over software estimates is the fact that most businesspeople are in denial about how much working custom software costs.
Software isn't construction—no one knows enough up front. Software isn't craftsmanship—no two apps are alike. Software is risk management.