Software Craftsmanship
Software Craftsmanship = le code fait dans les règles de l'art
Le software craftsmanship (artisanat du logiciel) est un mouvement qui considère le développement comme un métier d'artisan : un logiciel ne doit pas seulement fonctionner, il doit être bien conçu, lisible et facile à faire évoluer. Il a été formalisé par un manifeste publié en 2009, qui prolonge le Manifeste agile.
En pratique, il s'appuie sur des pratiques techniques exigeantes :
- tests automatisés et TDD ;
- revue de code et programmation en binôme ;
- refactoring continu et principes de conception (SOLID, code propre) ;
- partage de savoir et mentorat entre développeurs.
L'agilité organise la façon de livrer, le craftsmanship s'occupe de la façon d'écrire le code. Les deux sont complémentaires : sans qualité technique, une équipe agile finit ralentie par sa dette.
Pourquoi ça compte quand on recrute
Un candidat qui se réclame du craftsmanship doit pouvoir le prouver dans son code : tests, structure, historique de commits, revues. En entretien, un exercice de refactoring ou de revue de code est bien plus parlant qu'une discussion sur les principes. Le piège inverse existe aussi : un profil qui polit sans fin et oublie la contrainte de délai.
