Thématiques principales

jeudi 26 avril 2018

CMMI : DAR

Un nouveau projet s’offre à vous? Comment vous y prenez vous? Que faites vous?

Bien sur la première réaction est forcément de démarrer sur l’initialisation d’un processus de développement: analyse du besoin, modélisation, conception, etc. Seulement voilà, vous avez bien saisi ce que le client attend du logiciel qu’il vous a commandé mais comment allez vous y répondre? Quels sont les solutions technologiques qu’il va falloir employer? Quel langage de programmation allez vous utiliser? quelle architecture allez vous mettre en place?

Bien sûr cela peut sembler être du ressort de la phase de conception et que beaucoup des réponses vont naturellement se trouver directement lors de la phase d’analyse et de modélisation. Seulement voilà, un choix, ca se justifie, simplement car le client doit être convaincu que les choix techniques qui sont fait sont les bons mais aussi que ces choix vont trouver un optimal en terme de coût. De plus, généralement, avant même de réaliser quoique ce soit avec une équipe, une intégration continu et tout l’outillage qui va bien, il faudra répondre à un appel d’offre [3] où il faudra élaborer un dossier répondant le mieux possible aux besoins du clients dans un ordre de prix satisfaisant et concurrentiel.

Dans la gestion d’entreprise, la gestion de projet et la certification, nous connaissons tous la norme ISO et sa série des normes 9000 dont la plus connu est la norme 9001 gage de qualité [1]. Parallèlement à cela, dans le monde IT, un modèle de référence appelé CMMI [2, 4, 5] (Capability Maturity Model Integration) a été proposé afin de gérer au mieux les activités d’entreprises dédiés au monde de l'ingénierie logiciel.

CMMI permet de gérer plus efficacement les processus d’entreprise et de développement en fournissant un ensemble un ensemble de règles et de bonnes pratiques. Le but n’est pas de traité CMMI ici, ce sujet étant vaste on y dédiera quelques futurs articles, cependant dans la problématique qui nous intéresse de réaliser objectivement des choix techniques, l’approche propose de nous appuyer sur le DAR.

Faisant partie de CMMI, le DAR où Decision Analysis and Resolution est un processus d’analyse comparative de stratégies dont le propos est de fournir une aide à la décision par la mise en perspective de critères de différenciation.

L’utilisation du DAR a pour objectif de construire une réflexion autour des solutions envisageables d’un problème donné afin de faciliter le choix de l’une d’entre elles. Pour cela, il propose un processus guidant l’analyse afin d’en extraire des critères communs, comparables, et pondérés selon leur importances qui mis en relation permettent de dégager une tendance vers les solutions les plus pertinentes.


Ainsi la mise en oeuvre d’un DAR consiste en:

Guidelines

La définition du processus d'évaluation permettant de donner un fil conducteur à l’instanciation du DAR. Cela passe par la mise en oeuvre de recommandations pour avoir une approche la plus objective, la nécessité de commenter chacun des critères choisis et de justifier les notes données à chaque alternatives.Bien que coûteux en mise en place, la rationalisation de la prise de décision à l’avantage d’augmenter les chances de converger vers la solution la plus pertinente en la définition de critères objectifs et globaux.

Critères

la définition de critères d’évaluation des différentes alternatives (en terme de risque, de facilité d’utilisation, de pérennité, etc...) Ces critères se définissent selon les caractéristiques formelles des alternatives étudiées mais peuvent également faire apparaître des axes moins objectifs comme son côté fun. Ainsi, dans le monde du génie logiciel, le choix d’une technologie pourra être dirigé par la capacité de l'équipe à la maintenir, sa courbe d’apprentissage, les environnements de test disponibles, etc… et même donc son côté “fun”. Cependant, il est évident que tous ces critères bien qu identifié n’ont pas la même importance dans la prise de décision et que la définition de valeur de pondération est une solution afin de les prioriser.

A noter que si les critères n’imposent d'être numérique, il est préférable de les manipuler comme tel le plus souvent possible afin de faciliter la compilation des “notes” des différentes alternatives et faciliter les comparaisons (chose plus difficile à mener si les critères sont des espace numérique tel que [faible, bon, fort])

Solutions Alternatives

L’identification des solutions alternatives élaborées lors de Brainstorming va permettre de raffiner le besoin initial en le considérant selon différentes approches et ainsi favoriser l'innovation. Cette phase s’accompagne également d’un état de l’art permettant de positionner les alternatives standards face à celles conçues initialement. La constitution des alternatives va généralement faire apparaître de nouveaux critères.

Méthode d'évaluation

La sélections de méthodes d'évaluation des solutions alternatives est entièrement dépendante, d’une part, du domaine considéré par la solution initiale envisagé mais, d’autre part, aussi par les solutions alternatives qui peuvent offrir des approches très différentes. En effet, entre une solution automatique et manuelle, il faudra reconsidérer les critères d'évaluations afin de parvenir à un ensemble comparable car des critères peuvent exister dans des approches et ne pas avoir de sens dans d’autres. Il conviendra alors de déterminer si ce critère est pertinent et doit être pris en compte.

De façon générale, les méthodes d’évaluations peuvent être choisi parmi celles déjà employé par les communautés. Basiquement, des tests peuvent être employés en réalisant par exemple un POC (Proof of concept) mais il est aussi possible de réaliser de la modélisation et de la simulation où de manière encore plus pousser, réaliser des études statistiques (selon des approches fréquentiste ou bayésienne, mais nous y reviendrons dans un prochain article)

Evaluation

L'évaluation des solutions alternatives est la phase coeur du DAR. Elle consiste en l’application des méthodes considérées afin de noter les alternatives selon les différents critères et permettre leur comparaison. Ce processus peut être itératif afin d'affiner les résultats et minimiser l’incertitude sur la reproductibilité. Enfin elle permet de prendre du recul sur la pertinence des critères et de faciliter leur ajustement en terme de poid sur la décision qu’il faudra prendre.

Sélection

La sélection de la solution recommandée est la dernière phase du DAR dans laquelle, suite à l'évaluation et la compilation des résultats, un choix rationnellement éclairé est effectué au vue des résultats avec la prise en compte objective des avantages, des inconvénients, des coûts et des risques. La conclusion du DAR est alors produite afin de consolider le choix réalisé.

Conclusion

La finalisation du DAR passe enfin par la constitution d’un document compilant l’ensemble des informations collectés ainsi que l’argumentation justifiant les critères choisis, les alternatives considérées, etc Dans le but de consolider l’histoire d’un projet et des choix effectué au sein de l’entité, ce document pourra alors faire office de jurisprudence dans le cadre des prochaines décisions à prendre.

Références

[1] https://www.iso.org/fr/iso-9001-quality-management.html
[2] https://fr.wikipedia.org/wiki/Capability_Maturity_Model_Integration
[3] https://bee4win.com/lavant-vente-cest-quoi/
[4] https://msdn.microsoft.com/fr-fr/library/ee461556.aspx
[5] https://cmmiinstitute.com/cmmi

Aucun commentaire:

Enregistrer un commentaire