Application Lifecycle Management (ALM) vs Software Craftsmanship

J’avais parlé dans mon précédent article de l’Application Lifecycle Management et du Software Craftsmanship. J’avais dit que c’était presque la même chose et je me doute bien que ce genre de propos pourrait choquer des puristes.

Je vais donc m’essayer à exprimer mon point de vue en vous mon parcours qui m’a amené à cette opinion.

Once upon a time, Scrum and XP together…

Ma découverte du Scrum et du XP s’est faite chez TF1. Autant le dire tout de suite, j’ai eu le coup de foudre pour le cadre de fonctionnement Scrum et les bonnes pratiques XP.

Nous étions dans un contexte ideal et le projet a été un très gros succès :

  • Management Visuel
  • Itération d’une semaine
  • Démo avec les clients intéressés
  • Equipe auto-organisée, pluridisciplinaire et cordiale
  • Amélioration continue
  • Acceptance Test Driven Developpement avec GreenPepper

Bref, j’ai commencé par la découverte de la puissance du Scrum/XP combiné et cela a été une révélation.

Where is my Scrum ?

Fort de cette expérience, je suis parti vers d’autres horizons.

Je me suis mis à admettre que le Scrum n’était qu’à la base la mise en place d’un cadre avec 3 rôles, 3 cérémonies et 3 artefacts.

Certes, la communication et les conditions pouvaient très rapidement s’améliorer mais il était jamais possible de reproduire la succcess story que j’avais vécu. Mais pourquoi ?

Après avoir accusé les autres, je me suis mis à réfléchir et à comparer mes autres expériences avec celle de TF1 afin de chercher à comprendre.

J’avais finalement trouvé mon explication en révisant mon manifeste Agile. Le problème était souligné par l’un des 12 principes :

« Une attention continue à l’excellence technique et à une bonne conception renforce l’Agilité. »

Le manifeste Agile avait finalement pointé du doigt mon besoin  : En méthode Agile, la qualité est non négociable et cela il ne faut jamais le perdre de vue. Je connaissais mon besoin mais maintenant, j’avais besoin de savoir comment y répondre. (ça sent fort l’user story ?! On t’exprime le besoin et c’est à toi de trouver tout seul comment y répondre….)

L’excellence technique : ma quête du Graal

Je suis donc partie à l’aventure avec mon nouveau leitmotiv : l’excellence technique !

XP c’est bien !

Ma première démarche a été de me replonger dans l’eXtreme Programming qui contenaient de très bonnes pratiques d’ingénieure.

Les pratiques XP

De là, mon discours évolua et pour moi il était clair que le Scrum présentait le « QUOI qu’on fait » et l’XP était là pour répondre à « COMMENT on le fait » !

Avec de l’ALM c’est mieux !

Mes réflexions murissant et toujours insatisfait, je continua ma quête. Mes expériences professionnels m’ont alors finalement permis de rencontrer un MVP ALM (qui sévit sur ce blog en autre).

Cet individu a l’humour parfois étrange m’a permis de mieux saisir ce qui était contenu dans le package de l’Application Lifecycle Management selon Microsoft et les subtilités des branches.

APPLICATION LIFECYCLE MANAGEMENT

Travaillant avec Visual Studio, cette solution intégrée m’a forcement attiré. De bonnes pratiques XP avec de l’outillage ALM. What’s else ?

J’étais alors convaincu d’avoir trouver le Saint Graal !

Mauvais saint Graal

Au delà du .NET

Fier de mes nouvelles connaissances, j’ai continué mes aventures et mes échanges avec d’autres Agilistes et c’est finalement lors d’un ScrumDay où j’ai pris une grosse claque !

1 pionner du XP+ passionné du Software Craftsmanship + Champagne³ = Eureka

Ce temps passé à échanger avec ces passionnés a vraiment été enrichissant et m’a enfin permis de mettre un terme sur ce que je recherchais. Je parlais d’excellence technique mais la vérité était dans le software craftsmanship !

J’avais jusque là entendu parler du Software Craftsmanship mais sans jamais vraiment comprendre ce qu’il y avait derrière cette expression dure à prononcer…

Mon passage lors des techtrend de Xebia n’a fait qu’ancrer ma conviction lorsque Jean-Laurent de Morlhon présenta le manifeste du Software Craftsmanship (que j’ai forcement signé). Alors qu’au départ j’étais à la recherche du chaînon manquant de mon Scrum, la découverte de ce manifeste m’a forcement convaincu. Pourquoi ?

Le manifeste reprend les 4 valeurs de l’agilité dans le but de les compléter !

Manifeste Agile Manifeste de l’artisanat du logiciel
Les individus et leurs interactions plus que les processus et les outils Pas seulement les individus et leurs interactions, mais aussi une communauté de professionnels.
Des logiciels opérationnels plus qu’une documentation exhaustive Pas seulement des logiciels opérationnels, mais aussi des logiciels bien conçus.
La collaboration avec les clients plus que la négociation contractuelle Pas seulement la collaboration avec les clients, mais aussi des partenariats productifs.
L’adaptation au changement plus que le suivi d’un plan Pas seulement l’adaptation aux changements, mais aussi l’ajout constant de la valeur.

Pour découvrir la philosophie de ce mouvement émergent, je vous conseille de lire l’article de Jean-Laurent sur le Software Craftsmanship en pratique.

Sinon, je vous invite à venir participer à des événements du meetup de la communauté du Software craftsmanship de Paris.

Quel Graal choisir ?

Mon parcours m’a finalement permis de comprendre que le Scrum tout seul ne pouvait pas suffire à lui même dans un projet informatique. Mes découvertes pour y remédier m’ont permis de le compléter par l’eXtreme Programming puis par l’ALM pour enfin atterrir dans le Software Craftsmanship…

2 langues mais 1 seul objectif

J’ai posé la question à des pratiquants si l’ALM et le Software Crafsmanship étaient identiques : Les artisans m’ont certifié qu’ils étaient complètement différents alors que les pratiquants de l’ALM disaient qu’ils étaient identiques…

La grosse différente est que d’un côté nous avons un mouvement provenant d’une communauté pour les développeurs par les développeurs. Dans l’autre coin, l’ALM est un terme créé par de grands groupes comme MS ou HP pour parler d’amélioration des processus… (Je vous invite à parcourir cette études de Gartner)

Quant on rencontre les pratiquants, les passionnés,… finalement quel que soit le camp ce sont des gens très intéressants qui cherchent d’une manière ou d’une autre l’excellence technique.

Cependant malgré cet objectif commun, la démarche est tout autre :

L’artisanat du logiciel revendique que le développement est un travail manuel, d’artisan qui demande de l’expertise, du savoir faire et des outils de qualité .

L’ALM parle aussi de pratiques et d’outillage mais le vocabulaire varie complètement. Par exemple, lors de la présentation de la nouvelle version de TFS 2013. Toute une vague de nouveautés était là pour « améliorer la productivité » des développeurs… Moi perso, je n’ai jamais utilisé ce genre de terme en parlant de mes tâches de développement…

Culture Hacking

Je pense que la discorde vient de là. Le vocabulaire et l’origine du mouvement est fondamentalement différent. Je ne m’en était pas rendu compte au départ car j’ai découvert l’ALM par des passionnés mais maintenant que j’ai trouvé mon Graal je me rends mieux compte de la différence de discours. L’ALM est une offre proposée par de grands comptes et la discours ne cible pas directement les développeurs. Elle vise en fait le top management.

Pour moi, le Software Craftsmanship est une voie qui met en avant les vraies personnes qui produisent ce dont ce top management vit : les produits, les logiciels,…

Bref, cela me fait penser aussi à Dominique Dupagne et à la revanche du rameur. L’agilité et l’artisanat du logiciel sont de vrais causes nobles valorisant et accompagnant les personnes pleinement impliqués dans les projet : l’équipe !

Le fait que ce soit des mouvement de penser qui proviennent de communautés de passionnés ne font que valider que mon Graal se trouve là. Nous sommes des artisans et nous avons du talent !

Le vrai saint Graal

Pas de commentaire

Laisser un commentaire

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