[Our Opinion On ... Software Craftsmanship Coaching]
Demand is on the rise for Software Craftsmanship coaching. With more and more companies realising that the application of Agile principles and practices alone is not enough to improve the health of their code bases, the role of ’Software Craftsmanship Coach’ is becoming more prevalent. But what exactly is Software Craftsmanship coaching?
As projects progress over time, time spent on development reduces as the level of technical debt rises. A task that was trivial in the beginning of a project can turn into a multi-headed monster that needs to be fought, as time goes by. End result? Frustration settles in.
Agile processes by themselves do not recommend any technical practices to tackle these problems or, even better, to avoid them.
Slowly but steadily, the principles and practices of Software Craftsmanship are gaining ground within organisations. Developers are increasingly talking more about their technical practices, attending user groups, creating communities of practice inside organisations etc.
In fact, it’s reasonable to suggest that Software Craftsmanship has now infiltrated most organisations, at least to some degree. So it’s no surprise that those organisations are looking for ways to adopt principles and practices of the movement.
Firstly, lets separate principles from practices, as this is of great importance. The principles of the Software Craftsmanshipmovement are described by the manifesto for software craftsmanship: http://manifesto.softwarecraftsmanship.org/#/en.
The manifesto focuses on principles, not practices. These principles could even be summarised as ‘caring and sharing’. That is to say, caring about our profession, the code we create, the value we add and in the sharing of our principles and the practices with others. Technical practices are notoriously absent in the manifesto. For practices, the Software Craftsmanship movement adopted Extreme programming practices, a move which has been key in the revival of XP.
Back to Software Craftsmanship coaching and to what it is and what it is not. There is no such thing as Software Craftsmanshipcoaching, since Software Craftsmanship is about attitude and professionalism - essentially, a mindset. We either we have it or we don’t. And if we don’t, either we strive for it or we don’t.
Which leaves the subject of Software Craftsmanship coaching to its practices. Or more concretely, to Extreme programming practices, since they are the practices of Software Craftsmanship.
There is no Software Craftsmanship coaching, but rather XP coaching, and this is what most organisations require, technical practices that allow them to evolve projects while controlling technical debt or avoid it.
Pedro Santos is a Principal Software Craftsperson at Codurance. Passionate about the web, distributed systems and mobile technology. Advocate of agile practices and the software craftsmanship movement. Has been key in bringing Software Craftsmanship practices into several organizations.
"Test Impact Analysis (TIA) is a modern way of speeding up the test automation phase of a build. It works by analyzing the call-graph of the source code to work out which tests should be run after a change to production code."
We've been operating open salaries at Codurance for a while now, which means we're always interested in hearing about other companies experiences. This post from Lunar Logic has some interesting points on the cultural change that this approach brings (there's also a link to the initial rationale behind their move).