Chaque modèle, norme et corpus de connaissances décrit une partie des activités de l'entreprise avec un niveau de précision et un niveau de spécificité qui lui est propre. Ils peuvent décrire aussi des activités non présentes au sein de l'entreprise et omettre certaines activités quant à elles bien présentes. George Box disait "Tous les modèles sont faux ! Certains sont utiles". Cette citation reprend bien l'idée que, par définition, un modèle ne peut représenter de manière intégrale la réalité de l'entreprise. Sa description s'en approche avec un niveau de précision plus ou moins grand suivant le modèle.
Généralement, on retrouve au sein de deux modèles la description d'activités communes et des activités spécifiques à chaque modèle. Ces deux types d'activités peuvent être ou ne pas être en place au sein de l'entreprise.
En se basant sur ces constatations, je vais vous présenter deux expériences rencontrées:
Ce cas concerne une SSII française déjà certifiée ISO et souhaitant implémenter les recommandations de CMMI v1.1 (et viser ultérieurement la certification). A première vue, une comparaison haut niveau entre les deux standards donne le résultat suivant:
ISO 9001v2000 | CMMI |
---|---|
Standard qualité certifiable | Modèle de bonnes pratiques certifiable grâce à SCAMPI |
Large direction | Détaillé |
Un ensemble de recommandations à satisfaire | Des niveaux de maturité progressifs |
Aucune directive pour l'implémentation | Conseils d'institutionnalisation et d'implémentaion |
Couvre tous les secteurs d'une entreprise, parmi lesquels le développement logiciel et système | Applicable dans un contexte de développement de logiciels et de systèmes |
Se limite à la définition des principes de gestion du système qualité | Identifie les pratiques opérationnelles à mettre en oeuvre |
Nous avons commencé par explorer les similarités entre les huit principes de management de la qualité d'ISO 9001v2000 et CMMI. A priori, ces principes de management de la qualité devraient correspondre aux pratiques génériques de CMMI puisque ces dernières fournissent une base pour l'institutionnalisation de processus. Voici le résultat de l?exploration :
La différence majeure entre ces deux standards réside dans leurs langages. Tandis que les recommandations d'ISO 9001v2000 sont clairement prescriptives, CMMI ne liste pas ses recommandations en utilisant l'impératif. Par exemple, ISO 9001v2000 spécifie ses recommandations pour le QMS (Quality Management System = Système de Management de la Qualité) sous la forme "L'organisation doit identifier les processus requis pour le QMS..." alors que la description de la pratique spécifique correspondante de CMMI SP 1.1 (du domaine de processus OPD "Définition des Processus de l'Organisation") est "Établir et maintenir l'ensemble de processus normalisés de l'organisation" puis continue en énumérant neuf sous-pratiques décrivant les détails requis pour implémenter avec succès cette pratique. Une autre différence majeure réside dans la compacité du langage d'ISO 9001v2000 qui utilise des expressions comme "établir et maintenir" ou "déterminer fournir". Par exemple, pour ISO 9001v2000 la recommandation "L'organisation doit déterminer et fournir..." définit deux actions différentes : d'abord déterminer les ressources puis fournir ces mêmes ressources. Pour CMMI, cette recommandations correspond au domaine de processus PP "Planification du Projet" pour la détermination des ressources ("déterminer") puis à la pratique générique GP 2.3 "Fournir les ressources adéquates" de tous les domaines de processus pour assurer que les ressources sont disponibles ("fournir").
À cause de leur différence de cibles et de buts, la quantité de détails présentée par les deux standards est différente. D'un côté, CMMI couvre tous les détails nécessaires pour le développement des systèmes complexes. De l'autre côté, ISO 9001v2000 décrit simplement un ensemble de recommandations nécessaires pour développer des produits de haute qualité et satisfaire les exigences du client. Les détails pour répondre à ces exigences sont laissés à l'utilisateur, mais pour être conforme à ISO 9001v2000, toutes exigences doivent être satisfaites.
En se basant sur la comparaison précédente, le modèle CMMI et la norme ISO 9001v2000 sont non seulement compatibles, mais aussi complémentaires.Le modèle CMMI et le standard ISO 9001v2000, sont tous deux basés sur une approche processus. Cependant, du fait de leur historique différent, quelques différences majeures doivent être relevées :
Ceci étant, la certification ISO 9001v2000 d'une entreprise ayant atteint le niveau 3 CMMI engendrera moins d'efforts et aucune modification majeure de son système qualité ; en effet, les pratiques opérationnelles préconisées par le CMMI répondent en grande partie à l'ISO 9001v2000 en matière d'amélioration continue des processus et de définition d'objectifs en matière de qualité. Par ailleurs, les acquis du programme d'amélioration basé sur le CMMI ne seront nullement remis en question par la certification ISO 9001v2000. En dépit de priorités différentes (le standard ISO 9001 requiert d'abord un système qualité défini au niveau de l'entreprise, alors que le modèle CMMI se concentre d'abord sur la mise en oeuvre des bonnes pratiques au niveau des projets de développement) les pratiques de développement logiciel du modèle CMMI des niveaux 2 et 3 constituent une base idéale pour la certification ISO 9001v2000 : l'effort requis pour la certification des entreprises ayant atteint le niveau 3 CMMI restera réduit.
La première étape a été la définition d'un mapping entre ISO 9001v2000 et CMMI.
Il est toujours difficile de déterminer la granularité appropriée pour réaliser un "mapping" entre deux modèles. D'un côté, un "mapping" haut niveau peut ne pas fournir assez d'informations sur les similitudes et les différences. D'un autre côté, un "mapping" de très bas niveau peut engendrer un nombre très important de connexions entre les deux modèles rendant la correspondance très complexe.
Le "mapping" que nous avons réalisé est un compromis entre les deux niveaux (très haut niveau et très bas niveau). On a effectué un "mapping" de chaque chapitre d'ISO 9001v2000 vers une pratique (ou plusieurs) de CMMI et vice versa. Chaque relation est spécifiée avec un niveau de corrélation (fort, moyen ou faible). Le "mapping" ainsi réalisé sert comme indicateur de correspondance permettant une implémentation des deux standards.
La deuxième étape a été d'utiliser ce mapping afin de compléter le référentiel ISO existant en implémentant les pratiques CMMI complémentaires. Ces pratiques CMMI complémentaires sont de 2 catégrories:
Le référentiel ainsi réalisé a été auto-audité et il était conforme aux recommandations des niveaux de maturité 2 et 3 de CMMI.
Ce cas a été initié à la demande d'une assurance afin d'étudier le niveau de performance de sa direction des études. Le niveau de performance a été mesuré sur différents niveaux (correspondants à des vues différentes d'une direction des études) :
Ce cas montre la complémentarité entre les différents référentiels utilisés en fournissant des vues différentes d'une direction des études.