Tuesday, July 05, 2005

Software Craftmanship

I just finished reading software craftmanship by Pete McBreen, and I have to say I wasn't impressed. I should have been warned by the average ratings on Amazon, but I thought I'd try it anyway. Most of the book is spent arguing against Software Engineering; however, he doesn't cover the logic behind his rant nearly as well as other books such as Peopleware or Rapid Development. The other part of the book was supposed to cover software craftmanship; however, it was severely lacking. Instead of giving concrete examples and real life experiences (since craftmanship is about humanity, you would expect these things) he instead stays in the realm of theoretical possibilities. Even these he doesn't explain fully only saying that they will help. For instance, he would cite that craftsmen perform unit tests. Yes, unit tests are best practice, but what does that have to do with software engineering? My company has a software engineering approach and many of us write unit tests, so what? I don't believe software craftmanship stands in opposition to Software Engineering, XP, Agile, Scrum, or anything else. Instead, it is a mantra by which old programmers teach new programmers the best way to go about things. It is a way to be proud of your work and continue it for a lifetime. Pete's book does not capture the essence of SC, instead it is more of an apologetic for its use. I, honestly, do not recommend it.

No comments: