Le dernier sondage de Methods & Tools s’est intéressé à l’adoption de l’approche CMMI dans les organisations :
Inconnu |
13% |
Pas utilisé |
29% |
En cours d’analyse |
8% |
Analysé et rejeté |
4% |
Tentative d’atteindre le niveau 2 |
12% |
Evalué aux niveaux 2, 3 ou 4 du CMMI |
20% |
Evalué au niveau 5 du CMMI |
14% |
Participants : 392
Source: Methods & Tools
Fin du sondage : Janvier 2009
Plusieurs concepts de développement des années 80 et 90 ont quitté
depuis longtemps les pages de la presse spécialisée ou de la
blogosphère, soit parce qu’ils semblaient si évidents, comme dans “bien
sûûûr, tout le monde fait de la programmation orientée objet
aujourd’hui….”, soit parce qu’ils n’ont pas rencontré le succès espéré,
telles les bases de données orientées objet qui devaient remplacer
cette vieille technologie relationnelle datant des années 70….
Le CMMI est le successeur du Capability Maturity Model (CMM - modèle
de maturité du logiciel). Le CMM a été développé de 1986 à 1997 comme
un projet d’évaluation de la maturité du processus de développement. Le
CMMI, où le “I” signifie “intégration”, a ensuite remplacé le CMM. Ce
n’est certainement pas un concept tendance et on ne trouvera pas de
section CMM sur developpez.com. Je trouve ainsi surprenant que les
résultats concernant l’adoption, l’ignorance et le rejet du CMMI soient
très similaires à ceux d’un sondage semblable effectué sur les
approches agiles au début de 2008.
Je n’ai pas trouvé d’autres statistiques sur l’adoption de
l’approche CMMI et il n’y a donc pas de comparaison possible avec
d’autres études. Ces deux sondages sur le CMMI et l’Agilité nous
indiquent le l’adoption d’un processus formel d’adoption est croissante
au niveau des organisations de développement. Le niveau d’adoption du
CMMI dans ce sondage peut aussi s’expliquer par la partie importante du
lectorat de Methods & Tools qui provient d’Asie, une région où la
culture peut être un frein à l’agilité, mais qui par contre a adopté le
CMMI, un label qui peut servir de garantie lors de la vente des
services d’outsourcing.
Comme le taux d’adoption du CMMI est équivalent à celui des
approches agiles, je me suis demandé s’il existe des organisations qui
ont adopté les deux approches. J’ai trouvé un sondage de Dr Dobb’s avec
des chiffres de certaines entreprises qui utilisaient en même temps le
CMMI et l’agilité. Selon ce sondage, le taux de succès des projets est
similaire, juste au-dessus des 50%. On peut interpréter ces résultats
en pensant que quelque soit le processus, le fait d’en adopter un
permet d’améliorer le taux de réussite, ce qui signifie que la
discipline a ses avantages. Ces chiffres nous disent aussi que vous
avez toujours 50% de risques d’échec, ce qui signifie que la discipline
n’est pas évidente à mettre en place. A ce propos, on peut noter que le
sondage spécifique sur l’agilité effectué par Version One semble
indiquer un taux de réussite supérieur pour les projets agiles, même si
le type de questions posées rend cette comparaison difficile.
Bien qu’il existe des évidences de coexistence entre le CMMI et
Agile, l’impression générale des gens qui pratiquent l’amélioration des
processus est qu’il y a des différences culturelles importantes entre
les deux communautés. Même si l’aspect non-prescritif du CMMI est
reconnu par les développeurs agiles, les entreprises qui adoptent le
CMMI ont tendance à privilégier fortement la planification et la
documentation, ce qui est en opposition avec les principes agiles.
Malgré cette apparente incompatibilité culturelle, il y a l’exemple
souvent cité de Systematic, une compagnie évaluée au niveau 5 du CMMI,
qui a mis en oeuvre Scrum au-dessus de son processus et obtenu une
réduction de 50% des coûts. Ceci n’est peut-être pas trop surprenant si
l’on considère que le CMMI et l’agilité poursuivent le même objectif
d’amélioration du processus et nécessitent tous les deux de la
discipline. Gérer une itération Scrum d’une semaine avec des réunions
journalières devrait conduire à un contrôle strict de l’avancement d’un
projet. Une entreprise qui a suivi l’approche CMMI pour une bonne
raison, c’est-à-dire pas seulement pour vendre ses services, devrait
ainsi être naturellement attirée par les outils d’amélioration du
processus contenus dans Agile. D’autres organisations que Systematic
ont ainsi ajouté les pratiques agiles au-dessus du CMMI, mais l’inverse
ne semble pas évident à trouver.
Le monde du développement informatique se porterait mieux si l’on
considérait le CMMI ou l”Agilité comme des boîtes à outils et non des
religions qui doivent être adoptées aveuglement… avec une tendance à
considérer les autres mouvements comme des “hérésies” qui ne peuvent
être que condamnées. Comme le dit Chris O’Brien (Software Capabilities
Manager chez Gen-i) : “Le CMMI et l’Agilité sont complémentaires, mais
leur utilisation doit être basée sur les besoins de l’entreprise. Je
crois que les deux offrent des solutions intéressantes et que la
coexistence serait sensée dans de nombreuses organisations,
particulièrement pour celles qui sont capables d’appliquer les
enseignements de leur domaine avec intelligence et prudence, pour
obtenir des résultats.”
Références
Le CMMI traduit en français
CMMI Home Page du SEI
Software and systems firms embrace CMMI - India Trends - Express Computer India
CMMI or Agile: Why Not Embrace Both!
Dr Dobb’s article: Agile CMMI?
Mature Agile with a twist of CMMI
Scrum and CMMI Level 5: The Magic Potion for Code Warriors
Systematic Gains Chart
Methods & Tools Agile Survey
CMMI articles list in SoftDevArticles.com