Most software projects fail because they don&#x27;t have an adequate plan. The number of times I&#x27;ve been brought into a software develop project where there wasn&#x27;t a plan, is like, every single time.<p>Waving you hands while telling a story IS NOT A PLAN!<p>People can&#x27;t even seem to do basic wire frames. It&#x27;s ridiculous. How on earth are you going to be able to make an estimate on something for which there isn&#x27;t even a basic plan? And I&#x27;m not even talking about a spec here, just even a higher level plan that describes the project from a user point of view, proposed functionality, features,  expectations, budget, etc.<p>I get it, making a plan is difficult and boring work, but you know what? If you can&#x27;t make a freaking plan you certainly won&#x27;t be able to build a product. The plan is there to gain insight in the problems you&#x27;re going to run into. Let&#x27;s solve all of the shit we can solve before we start writing code so that when we do run into issues, they are genuine issues.