For this post I read chapters 3 and 4 out of Sandro Mancuso’s The Software Craftsman. In these chapters Mancuso breaks down what he means by Software Craftsmanship. First and foremost a Software Craftsman is a professional who is constantly learning new tools and techniques. In chapter 3, “Software Craftsmanship,” Mancuso presents and explains the Software Craftsmanship Manifesto:
Not only working software,
but also well-crafted software
Not only responding to change,
but also steadily adding value
Not only individuals and interactions,
but also a community of professionals
Not only customer collaboration,
but also productive partnerships
The second piece of every part of the Software Craftsmanship Manifesto simply elaborates on the first piece. This is very different from the Agile Manifesto which contains contrasting ideas. In this way, the Software Craftsmanship Manifesto seems almost intuitive. For example, take the first piece, “Not only working software, but also well-crafted software.” The next logical step from working software is software that is well put together. In TDD after you write a test, you write code that makes that test pass. Then you write another test, and more code to pass that test. Refactor and repeat. Using this technique you write not only working software, but as you progress, the software becomes well crafted. So I guess I can understand someone feeling as though they need to lay out these guidelines, but as these techniques have developed over time, the aspects of the Software Craftsmanship Manifesto seem almost inevitable.
Chapter 4 is entitled “The Software Craftsmanship Attitude.” This chapter is essentially a recap of The Clean Coder in its entirety. Instead of going through all of the content of this chapter, I would like to refer you to my previous posts. After reading this chapter, and without having read the rest of this book, I would think that simply reading this book would cover most of, if not all, of the pertinent information from Robert C. Martin’s The Clean Coder. I think that the overlap is probably pretty substantial.