Published by

Il y a 9 ans -

Temps de lecture 5 minutes

Chapitre 3 du livre de Sandro Mancuso sur le Craftsmanship

Voici le résumé du chapitre 3 du livre de Sandro Mancuso sur le Software Craftsmanship. Ce chapitre porte un nom explicite : Software Craftsmanship. Il défini le terme, le replace dans son contexte historique et mentionne le manifeste.

Déjà publié :

  1. Software Development
  2. Agile

Le software craftsmanship est une bien meilleure métaphore que le génie logiciel (NDT: software engineering). Le craftsmanship (NDT: artisanat) est à prendre au sens de l’apprentissage de techniques maîtrisées par ses pairs pour devenir un maître à son tour.
La définition de Wikipedia est trop brutale et ne décrit pas assez bien l’essence du mouvement.
Le software craftsmanship est un long voyage vers la maîtrise. C’est un état d’esprit dans lequel le développeur choisi d’être responsable de sa propre carrière, apprend constamment à se servir de nouveaux outils et techniques et s’améliore lui-même. Le software craftsmanship consiste à recentrer le développement logiciel autour des valeurs de responsabilité, de professionnalisme, de pragmatisme et de fierté.
En résumé, le software craftsmanship s’intéresse au professionnalisme dans le développement logiciel.

Au delà de la définition et parce que de nombreux développeurs n’aiment pas être catégorisés, le software craftsmanship essaie simplement de mettre un nom sur un ensemble de valeurs du développement logiciel auquel chacun est libre d’adhérer.

Le débat sur ce qu’est réellement le développement logiciel est sans fin : de l’artisanat, un commerce, une science d’ingénieur, une science ou de l’art ? Les arguments pour l’une ou l’autre de ces orientations sont souvent corrects. Quel qu’il soit, ce que le software craftsmanship apporte c’est un plus grand professionnalisme.

L’histoire de ce mouvement se caractérise en la publication de quelques livres clés :

Il s’est aussi traduit par la création d’entreprises qui proposaient des formations craft.

Le Software Craftsmanship Summit a eu lieu fin 2008 afin de mieux définir ce mouvement naissant. Composés de personnalités intéressées sur le sujet, il a abouti quelques mois plus tard au manifeste du software craftsmanship.

Le mouvement est né aux États-Unis mais est également très actif dans de nombreux autres pays.

Le software craftsmanship promeut à ce point l’échange de connaissances et de techniques que 8th Light and Obtiva (maintenant Groupon) ont effectué un échange de craftsman (NDT : Craftsman Swap). Quelques développeurs ont intégré les équipes de l’autre entreprise afin de découvrir leur manière de travailler. C’est une expérience extrêmement riche pour les Hommes qui la vivent comme pour les entreprises.

De nombreuses communautés sont nées à partir de 2009. Elles sont actives et réunissent les craftsmen au sein d’une même ville ou d’un même pays.

Il y a eu de nombreux débats sur l’utilité d’un manifeste. Toutefois Doug Bradbury fit la quasi unanimité en rassemblant dans 4 règles claires l’ensemble des idées émises.

Le manifeste a très bien saisi l’idée en parlant de relever le niveau (NDT : raising the bar). Il fait également passer l’idée que les développeurs vont prendre les choses en main et être acteur du succès d’un projet.

Pas seulement un logiciel qui fonctionne, mais également un logiciel bien écrit

Un logiciel qui fonctionne est peut-être un logiciel sans test, avec un couplage fort entre le métier et la technique et des blocs de code énormes. C’est un logiciel que personne n’a envie de maintenir et faire évoluer. C’est pour cela que le software craftsmanship s’attache aux tests, à un design simple ou à une séparation claire des responsabilités.

Pas seulement répondre au changement, mais également ajouter régulièrement de la valeur

Au cours du temps, une application qui évolue et qui grossit doit être de plus en plus rentable pour son entreprise et efficace pour ses utilisateurs. Il est anormal que l’on constate globalement l’inverse dans notre industrie et que les choix d’abandon ou de ré-écriture d’une application soient si souvent pris. Le software craftsmanship dédie toute son énergie à créer de la valeur dans son logiciel par une très haute qualité.

Pas seulement des individus et des interactions, mais également une communauté de professionnels

Le software craftsmanship promeut l’apprentissage et l’ouverture pour que l’amélioration de chacun profite à tous.

Pas seulement une collaboration avec le client, mais également une partenariat productif

Un développeur qui termine toujours son travail au moment où on lui a demandé n’est pas un software craftsman. Le craftsman ne passe pas sa journée à écrire du code : il contribue à améliorer les procédures et les processus du projet.
Parfois les entreprises ne sont pas prêtes pour ce partenariat car elles n’accordent pas suffisamment d’autonomie ou de décision à l’équipe. Il est louable de vouloir changer cela mais il arrive que cela soit vain. Dans ce cas il est du devoir d’un software craftsman de changer de route ; la gestion de la carrière d’un craftsman est très importante.

Le problème du manifeste est qu’on ne peut pas être contre ses 4 points. Contrairement au manifeste agile qui demande réellement à une entreprise qui souhaite l’appliquer un changement radical de sa manière de fonctionner, celui du software craftsmanship est plus une centralisation de certaines valeurs.
La question est donc : si on ne peut pas remettre en question ce qui est exposé dans le manifeste, pourquoi constatons nous très souvent que ces principes ne soient pas respectés ?

 

Published by

Publié par Sébastian Le Merdy

Sébastian est entré chez Xebia en 2011 pour mettre en pratique le Software Development Done Right.
Il est passionné par le développement logiciel et les technologies innovantes et le met au service de l'utilisateur final à travers l'agilité dans les projets.
Vous pourrez peut-être le rencontrer lors d'un coding dojo ou une présentation de live coding.

Commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.