đ ïž Je suis un artisan du logiciel. Mais quâest-ce que cela signifie ? 4 chercheurs, emmenĂ©s par Anders Sundelin, ont publiĂ© en septembre dernier un papier tentant de cerner le concept. Le triptyque de Sandro Mancuso pourrait rĂ©sumer leurs recherches : Professionalisme, pragmatisme, fiertĂ©.
3ïžâŁ Les conclusions du papier peuvent ĂȘtre organisĂ©es en 3 parties : les valeurs, les pratiques et les organisations.
đ§ Les valeurs sont le cĆur de lâidentitĂ© des dĂ©veloppeurs qui se rattachent Ă cette Ă©cole. La responsabilitĂ© et le professionnalisme ressortent en premier : pour les artisans eux-mĂȘmes, faire correctement leur mĂ©tier nâest pas nĂ©gociable. Chaque dĂ©veloppeur doit se sentir responsable de lâĂ©tat de lâensemble du code et en tirer une certaine fiertĂ©. Lâartisan doit transparence et honnĂȘtetĂ© Ă son client quant Ă lâĂ©tat du code, via la mise en Ă©vidence de la dette technique, par exemple. Câest aussi un refus du dĂ©coupage industriel des tĂąches dans le dĂ©veloppement. Pour les plus radicaux, lâarchitecte doit disparaĂźtre au profit dâune rĂ©flexion collĂ©giale entre Ă©quipes, mais la plupart sâaccordent sur son implication forte au sein des Ă©quipes de dĂ©veloppement « les mains dans le cambouis ».
đïž Les pratiques forment des rĂšgles de lâart. Elles sont composĂ©es dâun cĆur de techniques anciennes et Ă©prouvĂ©es, issues en majoritĂ© dâExtreme Programming (XP), auxquelles sâajoutent des bonnes pratiques tenant lieu de lois du logiciel, comme les principes SOLID. On y retrouve la valorisation de la simplicitĂ©, ATDD, la mĂ©fiance envers toute documentation qui ne serait pas engendrĂ©e par du code et lâaccent mis sur la livraison et le feedback.
đžïž Les organisations procĂšdent des valeurs et des pratiques. On y retrouve des confĂ©rences comme Socrates, SCNA ou NewCrafts, bĂąties en rĂ©action Ă ce quâest devenue lâagilitĂ©, buzzword pour managers ayant ses coachs et ses certifications hors de prix, bien Ă©loignĂ©es des prĂ©occupations des dĂ©veloppeurs. Les coding dojo et les katas sont un marqueur fort, tant en entreprise que dans des tiers-lieux servant de rassemblement Ă de vĂ©ritables communautĂ©s nĂ©o-corporatives*, unies par une culture de lâapprentissage permanent. Les auteurs rejoignent les conclusions de Benjamin Tainturier et Emanuelle Duez, qui ont clairement rĂ©alisĂ© leur enquĂȘte, Ă dessein ou non, auprĂšs dâartisans.
* le terme nâest pas dans le papier.
SOURCES
Anders Sundelin, Javier Gonzalez-huerta, Krzysztof Wnuk, and Tony Gorschek. 2021. Towards an Anatomy of Software Craftsmanship. ACM Trans. Softw. Eng. Methodol. 31, 1, Article 6 (January 2022), 49 pages. DOI:10.1145/3468504
Sandro Mancuso, The Software Craftsman : Professionalism, Pragmatism, Pride. 2014. Pearson. ISBN:978-0134052502
Benjamin Tainturier, Emmanuelle Duez, The Boson Project. DĂ©coder les dĂ©veloppeurs. EnquĂȘte sur une profession Ă lâavant-garde. 2017. Eyrolles.
Enzo Sandré
DOIs: 10.1145/3468504