Consultant
30.01.2017

Le Software Craftsmanship raconté par Babacar

Babacar, consultant Margo, nous a livré sa définition du Crafstmanship. Un témoignage intéressant, qui met en lumière les grands principes du Software Craftsmanship, essentiel dans le quotidien du développeur d’aujourd’hui :

Bien qu’il ne soit pas une méthodologie, le Software Craftsmanship propose un état d'esprit très différent pour les développeurs et les entreprises. Il recommande fortement l'adoption de certaines pratiques et de disciplines techniques, la plupart du temps celles définies par l'Extrême Programming (XP).

Ayant une grande synergie avec l’Agile et les principes Lean, il promet de tirer notre activité à un niveau plus élevé. Professionnalisme, excellence technique et satisfaction du client sont les principaux objectifs du Software Craftsmanship.
Il tente d’apporter des réponses pour devenir un meilleur développeur, et des recettes pour livrer de meilleurs projets.

Le manifeste du Software Craftsmanship s’articule autour de 4 grands principes cités ci-dessous : 

 
« Pas seulement des logiciels opérationnels,
mais aussi des logiciels bien conçus »
 
Permettre que le coût d’entrée ou d’une maintenance corrective, voire évolutive, sur l’application soit le plus court possible, avec des tests pertinents, compréhensibles, simples et qui expriment les besoins métiers.
« Test Driven Development » et « Behavior Driven Development » s’avèrent être de très bons moyens d’aller dans le sens d’un logiciel bien conçu.
 
« Pas seulement l'adaptation aux changements,
mais aussi l'ajout constant de valeur »
 
L’ajout de valeur sur un logiciel ne s’arrête pas juste à la maintenance évolutive et corrective, mais comprend aussi l’amélioration de la structure, le ré-usinage et la testabilité du code.
Pour qu’une application soit évolutive et durable, la qualité du code doit être de rigueur.
Dans un contexte de réduction budgétaire, la réécriture d’un logiciel après quelques années de mise en production n’apporte pas un grand retour sur investissement.
 
« Pas seulement les individus et leurs interactions,
mais aussi une communauté de professionnels »
 
L’apprentissage passe aussi par le partage, le Software Craftsmanship incite les développeurs à faire des retours d’expérience, à travailler en binôme, à essayer d’implémenter les bonnes pratiques au sein de leurs équipes et organisation.
 
« Pas seulement la collaboration avec les clients,
mais aussi des partenariats productifs »
 
Collaborer avec le client, l’aider à définir et à prioriser ses besoins devient essentiel aujourd’hui.