We keep discussing the nature of software craftsmanship. We keep deliberating whether we focus too much on technical practices or too little; whether we lose sight of the customer needs or blinded by the urge to please them, sacrifice quality.
I think these are good discussions. They lead to more thinking, more consideration and hopefully better understanding of the true nature of our undertaking.
We should however, keep this in context.
I’ll make a blind assumption, and although I have no facts or studies at hand to prove it, my experience tells me, it should hold true. Most software developers don’t have the luxury of pondering about the craft, engineering art of gardening – whatever the most suitable approximation would be. They are pressured by arbitrary targets, subjected to psychological torture of regular appraisals and perform soul-destroying tasks that have no benefit whatsoever*. They go home and rather than reading code complete, clean code or practicing katas they are relieved the stress can be numbed for a while. Many have built up a resistance so thick, they don’t even realise it’s there. Maybe they don’t even have an IDE installed at home at all. Although I might believe, that majority have made a conscious decision at some point to accept such status quo, it is too late now.
Perhaps, to truly improve software development we shouldn’t be looking at development at all…
* – for more details read Freedom from Command and Control by John Seddon