J’ai eu la chance (pour le côté expérience) de travailler dans des sociétés utilisant le cadre CMM (Software) et d’autres un cadre Agile. J’ai aussi réalisé pour le Gartner Group en 1998, la première synthèse de CMM en français à partir des travaux du Québécois Richard Basque. Puis un comparatif entre CMM et RAD qui avait conduit à la production pour le Gartner d’un processus formel RAD2 de niveau 5. Plus récemment, l’année passée, des organisations professionnelles de l’Ouest français m’ont commandé une étude-conférence sur le sujet Agile / CMMi.
Ma conclusion : Même si -certaines- pratiques sont communes, l’approche Agile représente à l’évidence la philosophie contraire de celle qui sous tend la normalisation et CMM (même abordée comme dans CMMi light, un livre que je conseille à tous ceux qui souhaitent parler du sujet en sachant agilement de quoi il en retourne). D’ailleurs ma blague de conférencier sur le sujet :
CMM : Nous déclarons que la qualité d’un produit logiciel est intimement liée à la qualité de son processus de fabrication. C’est pourquoi nous mesurons la conformité de ce processus (Watts Humphrey).
Agile : Nous déclarons que la qualité d’un produit logiciel est intimement liée à la qualité de ce produit logiciel. C’est pourquoi nous mesurons la qualité de ce produit logiciel (Jean-Pierre Vickoff).
http://www.granit.org/data/upload/files/cri_granit_p1_0945h_jpvickoff_1J1isM.pdf
Bien qu’un mappage permet de comprendre les aspects techniques sans résoudre les problème fondamentaux, j’ai énormément apprécié la vision d’un praticien qui ne se contente pas de blabater des généralités :
http://afoucal.free.fr/index.php/2008/07/31/cmmi-agile-mesures-analyses/
Evidemment c’est aussi une question de niveau. Le niveau 2 n’est peut être pas incompatible avec XP (mais pas pour Scrum qui ne dispose pas de technique de génie logiciel). Par contre au niveau supérieur, dès que le besoin d’un processus formalisé apparaît, les méthodes Agiles ne proposent plus rien. Ensuite au niveau 4 pour les métriques et 5 pour les rétrospectives, certaines pratiques de Scrum, une fois formalisées, feraient certainement l’affaire, du moins dans la limite d’un projet donné. Malheureusement une organisation ne se certifie pas CMM L5 pour voir ses processus remis en question en temps reéel dans un projet particulier. Sous l’angle de la complexité et de la courbe d’apprentissage, il est aussi évident que l’observation de CMMi (même dans une vision Light) découragera immédiatement plus d’un Agiliste. Sinon, dans l’optique de monter une usine à gaz « comme au bon vieux temps », il est toujours possible de multi-coupler CMMi, CMM-Personal SP, CMM-TeamSP, Scrum, XP et quelques techniques de gestion des exigences structurées ou de modélisation systémique dans le cas d’un BPM ou technique dans le cas d’une SOA.
Résumé : En pratique il est possible d’être CMM tout en choisissant d’utiliser certaines techniques Agiles. Par contre, il n’est pas possible de rester Agile en respectant CMM.
Mais le vrai problème ne se situe pas dans les aspects techniques. Il en coute des milliers (voir des dizaines de milliers) d’euros afin de devenir certificateur CMM et ce fric alimente une pyramide financière (en comparaison, Scrum est un regroupement d’enfants de chœur) dont les instances tiennent à la continuation. D’autre part (d’expérience) une société qui va investir dans du conseil CMM souhaite que ce consultant la certifie au final et ne prendra pas autre chose qu’un certificateur . Lorsque le SEI aura créé CMMa (pour Agile) en acceptant quelques techniques Agiles dans trois ou quatre secteurs, la messe sera dite. Les entreprises achèteront massivement la sécurité d’un processus mature se référant de l’agilité. Surtout celles ayant déjà investi dans CMM SW ou CMMi. Plus de rupture organisationnelle, la continuité tranquille. Quelle place restera-t-il au mouvement Agile basé sur des approches imparfaites, incomplètes, formant ses experts en 2 jours et qui, en plus, se refuse à évoluer autrement que dans les détails de techniques insignifiantes pour la plupart des DSI ?