The biggest problem with software engineering is the assumption that a systematic, disciplined, and quantifiable approach is the only possible approach. By imposing the mechanical engineering metaphor on software development, it stops us from seeing alternatives. Classic examples of this problem are the software engineering concepts of “defect potential” and “defect removal efficiency”:
Defect potential: the total universe of errors or bugs that might be expected in a software project
Defect removal efficiency: the percentage of potential defects eliminated prior to releasing a software project to customers.
This mechanical view omits the fact that better developers make far fewer mistakes and ...