Chapter 2. The Problems with Software Engineering

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.[9]

This mechanical view omits the fact that better developers make far fewer mistakes and ...

Get Software Craftsmanship: The New Imperative now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.