2.1 Modèles des meilleures pratiques en développement de logiciel
2.1.1 Capability Maturity Model Integration (CMMI)
Le modốle CMMI est un ensemble de bonnes pratiques conỗues pour aider les organisations à améliorer leurs processus. Le CMMI a été développé par le Soft- ware Engineering Institute (SEI) de l’Université Carnegie Mellon à la demande du département américain de la Défense (DoD) pour évaluer si une entreprise peut fournir des produits de qualité. Le modèle regroupe les bonnes pratiques en 22 domaines de processus, qui peuvent être divisés en deux représentations :[5]
— Représentation continue : Dans cette représentation, 22 domaines de pro- cessus sont divisés en quatre catégories. Chaque domaine de processus est associộ à des niveaux de compộtence allant de ô 0 ằ à ô 3 ằ (0-incomplet ;
1-Basique ; 2-Discipliné et 3-Ajusté). Ensuite, sur la base de cette représenta- tion, l’évaluation du processus fournit un ”profil” des capacités du processus logiciel, puis l’organisation peut améliorer le domaine du processus avec le niveau de capacité le plus bas pour ses besoins spécifiques.
— Représentation étagée : Dans cette représentation plus courante, un niveau de maturité global sera défini à la place du niveau de chaque domaine de processus. Chaque niveau de maturité correspond à un sous-ensemble de do- maines de processus et de pratiques auxquels l’organisation doit répondre au niveau cible. L’évaluation du processus basée sur cette représentation fournit alors le niveau global de maturité du processus logiciel. Afin d’augmenter le niveau de maturité de son processus logiciel, l’organisation peut cibler le domaine de processus du niveau cible pour lequel la cible n’a pas été atteinte.
Dans représentation étagée, les domaines de processus sont regroupés en cinq niveaux de maturité. Les domaines de processus rattachés à un niveau de maturité M ne peuvent être stabilisés et efficaces que si les domaines de processus des niveaux inférieurs (< M) sont déjà stabilisés et efficaces. Les cinq niveaux sont :
1. Initial : Le niveau auquel le résultat final est imprévisible (budget, calen- drier, portée, qualité). A ce niveau, le succès dépend plus du titulaire et de son engagement que de l’application disciplinée des bonnes pratiques. L’en- vironnement de développement est instable. Pas de gestion de processus - il est facile d’être affecté par les crises. Manque d’évaluation de l’efficacité et de la performance. Le document n’existe pas ou est peu développé.
2. Discipliné : définit la gestion de projet de base pour assurer le cỏt, le délai et la fonctionnalité du projet de surveillance. La discipline pour ce processus est en place. Le processus du projet est discipliné et ses caractéristiques sont :
— Les activités sont planifiées et exécutées conformément à une politique d’organisation.
— Pas de compromis sur la qualité.
— Les rôles, responsabilités et parties prenantes sont définis et connus.
— Les parties prenantes disposent des compétences et des ressources adé- quates pour réaliser les produits.
— La mise en œuvre du processus fait l’objet d’un suivi, de vérifications et d’ajustements si nécessaire.
3. Défini : A ce niveau, l’organisation dispose d’un ensemble de processus nor-
malisés qui sont ajustés en fonction du projet selon le contexte du client et dont les règles sont fixées par l’organisation. Le processus normalisé est déve- loppé, maintenu, soutenu et contrôlé par l’équipe responsable du processus.
Chaque projet met à profit son expérience et renforce le capital collectif. Le cycle de vie et le processus d’ingénierie sont également standardisés par type de projet à ce niveau. Le niveau 3 établit un cycle d’amélioration : Utiliser l’expérience, les avantages et les difficultés rencontrés dans le processus de développement pour améliorer le développement futur.
4. Gestion quantitative : A ce niveau, le domaine de processus est sous contrôle statistique (suivi d’indicateurs quantitatifs et mesures correctives en cas d’écarts). Si nécessaire, éliminez la cause première de la variation. Les mé- thodes de maợtrise des processus statistiques mises en œuvre au niveau 4 peuvent axer les actions d’amélioration sur les pratiques les plus utiles de ces actions. Au niveau du projet, ils peuvent identifier les activités qui n’at- teignent pas les résultats attendus et prendre des mesures.
5. Optimisation : À ce niveau, l’organisation est dans une boucle permanente d’optimisation des processus et de la technologie (réduction des causes cou- rantes de variation), et l’optimisation est basée sur une analyse cỏt/bénéfice.
Une analyse causale statistique régulière permet ces améliorations.
Les boucles d’optimisation permanentes sont définies à partir du niveau 3. Au niveau 5, elles sont basées sur des méthodes statistiques et concentrent l’analyse causale sur les événements. Leur analyse fournira des informations pour le processus d’optimisation. En évitant de perdre du temps sur l’analyse des événements, elles fournissent moins d’informations.
CMMI sera le modèle principal de notre projet, et nous évaluerons le processus logiciel de FAPI sur cette base pour l’amélioration. Nous utiliserons la représenta- tion par étapes en nous limitant au niveau 2 et en incluant certains domaines de processus connexes à partir du niveau 3.
Figure 2.1.1 – Les niveaux de maturité de CMMI Ref :https ://slideplayer.fr/slide/9385778/