Comprendre les bases du Software Craftsmanship

Le Software Craftsmanship

Dans le cadre du plan de mentorat développé par le pôle Conseil de Werin Group, nous organisons des meet-up en interne pour partager avec nos collaborateurs des sujets en vogue ainsi que des retours d’expériences avec des experts du métier.

Découvrez dans ce nouveau meet-up interne de Werin Group, Edouard Mangel, développeur, formateur, coachcraft et créateur de la Crafterie Tech, nous parle du Software Craftsmanship.

La définition du Software Craftsmanship

Software Craftsmanship, traduit par « l’artisanat du logiciel », est une approche de développement de logiciel nécessitant des compétences et un savoir bien précis. Le Craft encourage le développement des compétences et le développement de logiciel plus « artisanal ». Plusieurs méthodes et ouvrages ont marqué le développement du Craft tels que le Manifeste Agile. Le Manifeste Agile encourage :

Aujourd’hui, il est estimé que 2/3 des fonctionnalités développées n’apportent aucune valeur ajouté au produit. Le taux d’échec des projets informatiques est significatif. C’est pour cela que le Software Craftsmanship essaie de renverser la tendance.

Il ne faut donc pas seulement un logiciel qui fonctionne mais un logiciel bien façonné. Il faut non seulement répondre au changement mais ajouter de la valeur de manière constante et progressive.

Les différentes valeurs du Craft

La qualité

Certaines pratiques ont été mises en avant par la communauté de Crafters comme par exemple tester son code avant de l’écrire. Un Crafter ne livrera jamais en production un code sans les tests automatisés qui valident son comportement. Un Crafter ne livrera jamais son code de façon illisible pour les autres. Il faut qu’il soit compréhensible, lisible et modifiable par tout le monde, c’est ce que l’on appelle le clean code

Il y a également les méthodologies comme le BDD, TDD et DDD font partie de la boîtes d’outils des Crafters.

La progressivité

Les Crafters ajoutent de la valeur de façon constante et progressive. Ceci part de l’hypothèse que plus un lot est grand, plus il est probable d’introduire une régression. Il peut également ne pas répondre à un besoin réel.

Le Software Craftmaship va donc se focaliser à livrer des petits lots de valeurs et détecter ainsi plus rapidement les erreurs. Les Crafters tirent toujours des leçons de leur erreurs et appliquent les corrections nécéssaires.

La communauté de professionnels

Les connaissances sont disponibles plus rapidement de nos jours. Il faut donc se joindre à d’autres personnes qui rencontrent les mêmes problématiques de Craft que nous. Diverses communauté de pratiques existent, les Crafters peuvent se retrouver lors de meetup, sur Slack ou encore Discord.

Livrer de la valeur aux utilisateurs

Le Craft est « Client Centric », c’est à dire que la satisfaction de l’utilisateur final est au centre des préoccupations.

Pour que cela soit possible, il faut intégrer diverses personnes au projet tels que les experts métier, les testeurs, les DevOps, les Experts UX/UI etc…

Entre échanges et partages, le rendez-vous a été une belle opportunité d’apprentissage pour nos équipes. Retrouvez ci-dessous un replay de l’intervention d’Edouard Mangel , Software Crafter et Fondateur de la Crafterie Tech.

Si vous souhaitez intervenir dans le cadre de ces meet-ups internes de Werin Group, n’hésitez pas à nous faire parvenir votre proposition par mail à l’adresse poleconseil@weringroup.com.