Review: Software Craftsmanship

I recently read Pete McBreen's Software Craftsmanship: The New Imperative. This was a pretty interesting book and it was excellent timing because I finished it just before Dan North published his post that set off an avalanche of debate about the topic.

What can I say... Hmm. After all the debate, I still consider myself to be a craftsman. Why? That is an interesting question. I think that there is misunderstanding about the movement. I think craftsmanship is all about building maintainable software and training the next generation of programmers to build maintainable software. As a professional, ROI is king. Everything I do, from personal study to TDD to CI to leading group discussions about the craft is so that my team can produce better, more maintainable software that produces long term business value. This is what makes me a craftsman. I have seen too many projects lose focus and become unmaintainable piles of crap. I have seen too many failed rewrites. I have seen too much money wasted by people who should know better.

The training aspect of craftsmanship alone intrigues me. When I think about the early part of my career, I get pissed off at the vast about of time I spent following blind alleys and being essentially undirected. I have to thank Ross and the guys at FARVV for getting me started in the right direction. I only wish I had received that kind of instruction much earlier.

There are a lot of other interesting points made in the book and in the follow up posts that responded to Dan. I think that anyone who considers himself a craftsman/tradesman/professional software engineer of any sort would be well served to be aware of the debate and why it is ongoing. The more we know, the better off our industry as a whole will operate.

Ok, so that wasn't a very focused review. I think you should read the book. Put it at the front of your reading queue.

Comments

Popular posts from this blog

TFS to SVN Conversion with History

TDD vs BDD

System Architecture: Bounded Contexts