Towards an Anatomy of Software Craftsmanship

✒ Enzo SandrĂ© · 📆 22/11/2021 · đŸș Artisanat · đŸ§‘â€đŸ’Œ Management · 🧼 MĂ©thodes de dĂ©veloppement · ✊ Corporatisme

đŸ› ïž 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