This is a blog post about attitude and approach, rather than technique or practices and its origin was in my attendance at the Software Craftsmanship North America (SCNA) conference in Chicago this past November. As always, the SCNA organizers put on a great set of meetings and I learned a lot and was able to spend time with like-minded practitioners of the software craft. But the more I thought about it, the more the last part of that last sentence began to gnaw at me; like-minded practitioners.
I have an innate ambivalence bordering on antipathy toward like-mindedness. There is no problem with a shared set of values (like those of the Software Craftsmanship Movement or the Agile Alliance) or goals; the problem is when the group of people sharing those values ceases to view them critically and subject them to constant evaluation. They become like-minded. It is usually at about the same time that they begin to view those who disagree with them as somehow less than them. This may be subtle, but still present. For example, Bob Martins emphasis on professionalism in his books Clean Code and The Clean Coder is well founded and is something to which all developers should aspire. However, it can be a short step from striving personally and organizationally to be professional to denigrating another individual or group who does not practice software development the same way.
Not that SCNA has jumped the shark, and become such an organization. However, there were elements of it present and a definite vibe of superiority. There are two dangers I hope the Software Craftsmanship movement will avoid, and that we here at Pinnacle also seek to escape: the danger of the Inner Ring and the associated danger of hubris.
The Inner Ring is the title of a lecture by the author C. S. Lewis. In that lecture he identifies how every organization (however loose) has an official structure, but then there are the unofficial structures, the inner rings, that people strive to become part of. These inner rings have ever changing membership, but one thing that is always clear is that some are out and some are in. As Lewis says, But your genuine Inner Ring exists for exclusion. Thered be no fun if there were no outsiders. The invisible line would have no meaning unless most people were on the wrong side of it. Exclusion is no accident; it is the essence.
Now I dont think for a moment that the Software Craftsmanship movement (or the older Agile movement) is intentionally excluding people or groups. However, as the movement matures there has arisen a set of criteria that define a developer as a craftsman. In and of itself, that is not bad; but it is what we need to be careful of as a movement. There is a distinct danger of chronological hubris (the first H-Factor). What I mean by this is that for decades many of the practices that we use to define a professional developer or craftsman, didnt exist in their current form. Yet professional developers still existed. I venture to say that 20 years from now well all be utilizing new and different tools, practices, and technologies and while the same principles will apply, the practices will change. We need to be open to a new generation and take care that our current views dont become ossified.
I happen to work with an amazing group of people at Pinnacle who are open to new learning, eager to adapt and grow, and excited about the possibilities of what can be accomplished as we increasingly adopt the values of both the Agile and Software Craftsmanship movements. However, I view it as one of my key responsibilities to ensure that I dont foster the creation of an inner ring or contribute to the growth of hubris on the part of myself, my team, or the rest of Pinnacle. There is so much we dont know (and that we dont even know we dont know) and we are constantly learning from other developers, teams, and our customers. My hope is that reading this blog years from now, we will be able to say that we have stayed the course and have continued to grow and learn from each other with humility; the other H factor.
I finish with Lewis: If in your working hours you make the work your end, you will presently find yourself all unawares inside the only circle in your profession that really matters. You will be one of the sound craftsmen, and other sound craftsmen will know it. This group of craftsmen will by no means coincide with the Inner Ring or the Important People or the People in the Know. It will not shape that professional policy or work up that professional influence which fights for the profession as a whole against the public: nor will it lead to those periodic scandals and crises which the Inner Ring produces. But it will do those things which that profession exists to do and will in the long run be responsible for all the respect which that profession in fact enjoys and which the speeches and advertisements cannot maintain.