How becoming a software craftsman enhances quality?
Software craftsmanship is undoubtedly an important trend in software development. This movement emphasize the importance of the know-how of the developer in the process of software delivery.
The standardisation of software development often leads to the assumption that software development is just a matter of writing lines of code without mistakes. It is certainly true that you can have functional software without looking at how things are done. It is likely that software built without any consideration for quality will be harder and costlier to maintain, even before any changes are made.
To become a craftsman, you have not only to code correctly, but also to think about the way the application is built and to consider the team’s responsibility over it. Design plays an integral part in this. The use of methodologies like TDD, high unit test coverage and the understanding of the business features certainly help.
As a manager, it’s up to you to lead the way towards Software Craftsmanship. Of course, you will emphasise the use of best practices. Monitoring the quality of your team’s work, showing them dashboards and KPIs will allow everyone to have a concrete and shared vision of project’s level of quality. These kind of tools will make it easier for you to evaluate the team’s progress on its craftsmanship journey, and to see substantial and necessary changes in its state of mind. You will also be able to set precise objectives to your developers; Software Craftsmanship will no longer be just words.
Software craftsmanship is more philosophy than methodology; do not expect to get ready-to-use tools from it. Adopting it will put quality at the center of the debate; you should soon see the effects on your quality indicators.