Quelque soit la technologie utilisée, les non-performances d'un système d'information prennent souvent leur sources dans l'organisation des équipes et dans le manque d'attention à la valeur du service fourni. CMMI apporte des solutions qui permettent de fédérer les équipes autour de concepts partagés afin de piloter le changement et les améliorations en toute conscience et maîtrise des difficultés rencontrées.
A titre d'exemple ING banque témoigne d'une véritable amélioration dans le taux de succès de ses projets.
CMMI, un processus intelligent et adaptable
CMMI représente une avancée importante dans le monde de l'ingénierie des systèmes d'information, puisque pour la première fois, un ensemble de bonnes pratiques ont été recensées et publiées sous l'égide du Software Engineering Institute (SEI).
Pour Sodifrance, CMMI ne représente pas la rédaction de classeurs de procédures pour les chefs de projet. Cette perception est hélas très présente dans l'esprit des informaticiens qui ont un vécu très variable sur la mise en œuvre du CMMI au sein de leur structure. Afin de ne pas tomber dans ces travers, il est donc important de repréciser le contexte et l'intérêt de CMMI à tous les niveaux d'élaboration d'un système d'information.
Au niveau des ingénieurs logiciel, CMMI est une boîte à outils de processus dans laquelle piocher pour organiser un projet, travailler ensemble, répondre aux problématiques posées par le projet et améliorer les réponses de l'équipe à ses clients internes. A l'inverse d'une procédure, un processus est un ensemble d'activités qui visent à mieux maîtriser un ensemble de procédures, en vue notamment de son amélioration. On évoque par exemple les processus agiles qui donnent lieu à des procédures, comme par exemple SCRUM qui définit les réunions de mélées, la gestion du backlog, la retrospective, etc.
Au niveau d'une organisation, CMMI est un bon vecteur de changement qui définit un même référentiel et un indicateur de progrès partagé.
Des outils pour CMMI
Il est vrai que CMMI manque cruellement d'outillage associé et que toute tentative de gestion à la feuille Excel tourne souvent au cauchemar pour celui qui s'y est essayé. Il nous a donc paru impératif d'outiller la démarche, un peu à l'image du RUP (Rational Unified Process), en termes de méthodes et d'outils.
Une approche outillée du CMMI est ainsi un facilitateur de déploiement qui permet de gagner plus facilement les équipes au niveau opérationnel. Il convient néanmoins de faire attention à ne pas introduire trop d'outils et de procédures à la fois - contrairement au RUP - sous peine de provoquer un blocage généralisé. A ce titre, CMMI permet de procéder par niveaux d'aptitude successifs, en complément des niveaux de maturité globaux retenus par tous. Cela permet notamment de travailler processus par processus tout en bénéficiant des évaluations de progression.
A titre d'exemple, l'usage des cas d'utilisation et des modèles UML représente un ensemble de procédures et d'outils parfaitement bien adaptés aux processus de gestion et de développement des exigences CMMI 2 et 3.