&quot;So, software development is a special activity that should not be constrained by budgets or deadlines (or estimates)?&quot;<p>Of course it is constrained, but how can you estimate it? Because &quot;software development&quot; is the continuous process of converting a real world idea into instructions that are so tiny and specific that a computer can understand them. Obviously you can&#x27;t know in advance what those instructions are, or you&#x27;ve already written the program. When do you stop &quot;pushing back against poorly defined projects&quot;? You can literally continue asking for more specifics until the project is complete. This is different from other areas of engineering, because almost NOTHING demands preciseness like a computer does.<p>&quot;Estimating work and committing to those estimates is what a professional does. Deal with it.&quot;<p>The reality is, we have been trying to deal with, for decades. And failing badly. The author is suggesting (probably rhetorically) that perhaps we need to abandon the idea entirely, because it is not working (for very large projects).