Part 2. Software Craftsmanship

A key failing of the software engineering metaphor is that it fails to place people at the center of the software development process. Although lots of money has been spent over the years trying to get people out of the software development process, none of the attempts has really worked. The old dreams of natural-language specifications being read by computers that then automagically create your software are just that—dreams. The only way currently to make this process work is to give the computer an extremely detailed specification in a formal language—an activity that we all know as “programming the computer.”

A very big gap separates requirements specifications and design specifications, and when we forget this ...

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.