Le CMMi et le Lean sont ils compatibles ?

L’équipe dont je fais partie développe des logiciels dans une démarche Agile. Poussés par nos clients, notre organisation est certifiée CMMi niveau 3. Ces deux démarches d’amélioration continue sont-elles compatibles ou sommes-nous schizophrènes ?

« Mais, pourquoi ? »

 En quelques années, depuis l’adoption de la démarche Agile, nous avons progressivement et continuellement amélioré nos logiciels et la manière de les développer. De plus, les équipes impliquées ont eu du plaisir à travailler ensemble sur ces projets.

Dans le même temps, nous avons cherché à obtenir le niveau 3 du CMMi. Nous y sommes allé avec curiosité.

Pourquoi ai-je été déçu ? Pourquoi certains héros ont-ils dû déployer une telle énergie pour préparer l’audit et présenter les preuves requises ? Pourquoi lors des interviews, je n’ai jamais senti que les auditeurs cherchaient à savoir si nous développions correctement le bon logiciel ? Ainsi, il suffit de s’assurer que l’on répond aux exigences du CMMi pour affirmer que nous développons bien le bon produit ? Pourquoi le rythme d’amélioration continue était-il soudain freiné par le formalisme détaillé requis par le CMMi ? Pourquoi nous a t-on reproché de ne pas planifier à l’avance les changements de processus que nous menions petit à petit et en continue au fur et à mesure que nous découvrions des opportunités d’amélioration ? Mais en fait, pouvons nous mener une démarche Agile ET viser le niveau 3 du CMMi ?

« Alors, on peut ? » 

Selon Mark Paulk, il est possible d’obtenir le niveau 3 en pratiquant l’eXtreme-Programming (XP). D’ailleurs, nous avons réussi en appliquant une forme XP adaptée à nos contraintes. Donc, oui, en pratique cela est possible. Mais, sur le fond, sur les principes, ces deux démarches sont-elles vraiment compatibles ?

«Est-ce réellement compatible ? » 

Une réponse à cette question nous est proposée par Peter Middleton et James Sutton dans leur livre Lean Software Strategies. Les auteurs proposent de comprendre les principes du CMMi en les comparant à deux modèles industriels: la production de masse et le Lean. Cette démarche est intéressante car le mouvement Agile peut être vu comme une transposition du Lean au développement logiciel. 

Les cinq principes les plus marquants de la production de masse sont:

• Viser la répétabilité;
Les grandes infrastructures;
Optimiser le l’efficacité et le rendement;
Le gigantisme organisationnel;
Le technocentrisme. 

Les cinq principes les plus marquants de la production Lean sont: 

Spécifier ce qui fait ou crée de la valeur pour le client;
Identifier le flux de valeur;
Favoriser l’écoulement du flux;
Tirer les flux;
Viser la perfection. 

« Alors, comment positionne t-on la démarche CMMi par rapport à ces deux modèles ? » 

Les principes de la production de masse se retrouvent-ils dans la démarche CMMi ?

Un des objectifs du CMMi est l’obtenir la répétabilité du processus de développement. D’ailleurs, le niveau 2 s’appelle « Repeatable ». 

Le CMMi cherche à améliorer l’efficacité et le rendement des processus. Une démarche pilotée par le rendement amène à optimiser des activités regroupées par type. D’ailleurs, les pratiques du CMMi sont organisées par type d’activité (les key process areas, ou KPA). Cette démarche d’optimisation d’activités s’oppose au principe de fluidification d’un flux continu. Là où le CMMi se focalise sur les activités, le Lean se concentre sur le flux. Ces deux approches sont mutuellement exclusives. 

Une démarche centrée sur les activités qui recherche l’efficacité et le rendement aboutit naturellement à la séparation du travail. Le travail est divisé en tâches et les travailleurs sont spécialisés par tâche. D’ailleurs, le CMMi demande que soient identifiés:

the software engineering groups;
the software engineering process group;
the training group;
the system engineering group;
the software configuration management group;
the software quality assurance group;
the system test group.

Mettre en place de tels groupes ressemble bien au gigantisme organisationnel. 

Dans la même démarche, le CMMi mène à formaliser les processus et les modes opératoires avec un niveau de détail qui rend des travailleurs spécialisés interchangeables pour une activité donnée. Dans cet esprit, le CMMi s’aligne clairement sur la philosophie de la production de masse. 

Le CMMi a officialisé dans ses KPA certaines des meilleures techniques des années 1980, comme les revues par les pairs et les DAR (decision analysis and resolution). En ce sens, le CMMi est technocentriste.

Enfin, il est bien plus facile pour une grande infrastructure d’amortir les coûts de la pratique du CMMi, tels que la formalisation des processus, la description détaillée des activités, les revues formelles, l’organisation des groupes de travail, la saisie des matrices SCAMPI, la conduite des audits … 

Ainsi, le CMMi semble bien compatible des principes de la production de masse. Comment la démarche se positionne-t-elle par rapport aux principes du Lean ? 

Le CMMi demande qu’il y ait une gestion des exigences sur le produit à développer. Par contre, le CMMi ne se préoccupe pas de s’assurer que l’on gère les bonnes exigences: c’est à dire celles qui répondent réellement au besoin du client. Ainsi, le CMMi ne suit pas le principe Lean de la valeur.

Le Lean propose de se concentrer sur le flux de valeur afin de l’optimiser en supprimant tout gaspillage. Au niveau 5, le KPA « Defect Prevention » incite à s’organiser de manière à ce qu’un type de défaut identifié ne puisse se reproduire. Ainsi, le CMMi propose de modifier le flux de valeur afin d’éviter le gaspillage représenté par un type de régression. Néanmoins, cela ne concerne pas l’optimisation d’un flux qui ne génère pas de défauts.

Parfois, certains changements radicaux de processus sont nécessaires afin de supprimer les gaspillages dans le flux de valeur. La formalisation détaillée imposée par le CMMi ralenti ou interdit de tels bouleversements. Et même, la démarche exige de planifier à l’avance les changements de processus. Ceci nuit à l’amélioration continue des pratiques. Ainsi, le CMMi ne semble pas pleinement compatible du principe de flux de valeur.

Les exigences du CMMi sont organisées par activité. Le processus de création de valeur est traité activité par activité. Les activités sont surveillées par des groupes spécialisés. Une telle démarche ne se concentre pas sur l’écoulement du flux de valeur. 

Aucune exigence du CMMi propose de tirer les flux à la demande du client.

 Le CMMi comme le Lean recherchent la perfection par l’amélioration continue. Néanmoins, le CMMi cherche à améliorer l’efficacité d’un processus alors que le Lean cherche à améliorer le produit tout en éliminant tout gaspillage dans sa création. Bref, les deux démarches ne recherchent pas la même perfection.

En conclusion 

Les organisations qui ont suivi la voie du CMMi ont progressé. De même, les organisations qui ont appliqué une démarche Agile s’améliorent. Pourtant, les principes des deux démarches ne sont pas en phase. Pour tendre vers la perfection, il s’agit de choisir la voie qui permet de créer le bon produit, qui génère le moins de gaspillage et qui respecte les individus.

Il est possible d’être Agile et certifié CMMi niveau 3. Ou plutôt, il me semble possible d’être Agile malgré une pratique du CMMi. En effet, un Agiliste devra faire des concessions et formaliser d’avantage en vue de réussir un audit. Dans une élimination systématique du gaspillage, un Agiliste sera tenté de se délester de certaines pratiques du CMMi qui n’apportent pas de valeur au client final. Cela mettra en péril son niveau de certification. Le problème se complique si ce certificat de maturité lui apporte de la valeur … 

 « Mais alors, pourquoi? » 

Cela n’engage que moi, mais je pense que l’on adopte une démarche Agile pour s’améliorer sensiblement en minimisant les gaspillages et on vise un niveau du CMMi parce qu’on y est contraint par ses clients ou parce qu’on recherche le prestige d’une certification.

 En tout cas, le sujet est d’actualité puisque traité par de nombreux livres, articles et blogs. Aussi, concilier ces deux démarches représente un marché intéressant pour des consultants auprès de grosses entreprises prêtes à consacrer de beaux budgets dans les chantiers d’amélioration continue du moment. 

Auteur : Emmanuel CHENU

Le CMMi et le Lean sont ils compatibles ?