Software Craftsmanship

ziggy on 2001-12-21T16:13:57

I saw a copy of Pete McBreen's Software Craftsmanship: The New Imperative at Borders a few months ago, and bought it on a whim. I plowed through it pretty quickly, and I'm still thinking about it months later. I don't have my copy in front of me, but I think Dave Thomas or Andrew Hunt had very good things to say about it on the back cover. I liked The Pragmatic Programmer a lot, and thought this might be a good follow-up.

Software Craftsmanship was a very good read, albeit at a meta-level. The author talked about some issues that programmers face today, as well as issues the industry as a whole is facing right now. This extends some of the discussion I first encountered with Extreme Programming Explained and elsewhere. McBreen's book doesn't hold back and describes in detail why Software Engineering isn't the goal, it's the core problem in the industry today.

McBreen describes how the software industry isn't easily described by a single discrete model, like CMM or any other software engineering methodology. Some aspects of software are best served through this kind of thinking -- software for the space shuttle, aircraft and missle systems for example. But the software engineering mindset actually impedes development in some areas, especially where a significant amount of programming is being done today. He makes a very strong case that we need to rediscover idea of craftsmanship in the industry -- apprentices learning from masters, becoming journeymen when acquiring sufficient skill, and eventually becoming master craftsmen themselves.

(More to come; I really want to write a review of this somewhere, but not right now...)