Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca...
-
Upload
frederic-reynaud -
Category
Documents
-
view
109 -
download
1
Transcript of Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca...
Improving Software Improving Software Development Processes Development Processes with Multicriteria with Multicriteria MethodsMethods
Elena KornyshovaRébecca DeneckèreCamille Salinesi
CRI – Centre de Recherche en InformatiqueParis, France
ProblématiqueProblématiqueTous les processus de développement de
logiciels comportent des étapes incluant des choix, des prises de décisions:◦ Exemples: priorisation des risques selon leurs
impacts sur le projet, sélection de cas d’utilisation à analyser, sélection d’un outil adapté au projet…
Les processus existants de développement peuvent être caractérisés par:◦ Peu d’arguments permettant de prendre la bonne
décision◦ Choix effectué de manière intuitive et
hasardeuseOffrir à l’ingénieur un guidage plus formel à l’aide de l’intégration et de l’application de
méthodes multicritères dans les processus de développement de logiciels.
Prise de Décisions
Présence d’alternativesChoix à effectuer
Aide à la décision ?
Aide à la DécisionMonocritère
◦ Technique la plus courante◦ Se resoud facilement avec les problèmes
d’optimisation◦ Problème: Ne reflète pas la richesse de la
situation
Multicritères◦ Ensemble de critères◦ Plus riche mais plus complexe◦ Méthodes MC : MAUT, AHP, Outranking,
Weighting and Fuzzy.
Outil A
Outil B
Outil C
Outil E
Je veux utiliser un outil dans mon projet… mais
lequel choisir ?
Outil adapté à
mon projet
Outil D
Caractérisation de la décision à prendre pour
choisir la bonne méthode MC
Application de la méthode MC pour choisir le bon outil
Décision Niveau 1 Décision Niveau 2
Choisir un bon outil… Faire un choix… Comment ?Appliquer la technique des méthodes multicritères comme aide à la décision.
Problème: il existe beaucoup de méthodes MC laquelle choisir ? Bien identifier la décision à prendre pour pouvoir utiliser la bonne méthode MC.
Deux niveaux de Prise de Deux niveaux de Prise de DécisionsDécisions
Modèles de Prise de Modèles de Prise de DécisionDécision
Multicriteria Methods Multicriteria Methods Integration Process (McMIP)Integration Process (McMIP)
Exemples d’application (Processus RUP)
Identifier les besoins de priorisation
Spécifier les besoins pour méthodes MC
Sélectionner une méthode MC
Appliquer la méthode MC et valider les résultats
Identifier les besoins de Identifier les besoins de priorisationpriorisation
Identifier les besoins de priorisation
Spécifier les besoins pour méthodes MC
Sélectionner une méthode MC
Appliquer la méthode MC et valider les résultats
Tâche (objectif) Criteres Méthode proposée
SelectionnerUn
Outil
tool criteria (features and functions, integration, applicability, extendibility, team support, usability, quality, performance, maturity);
vendor criteria (stability, support availability, training, availability, growth direction);
cost (acquisition cost, implementation cost, maintenance cost)
importance of each feature or function: ranking following the next scale: must, nice, not required;
tool and vendor criteria: 5-grade scale;
costs: low, medium, high
PrioriserLes
Risques
deviation of schedule from plan; deviation of effort from plan; deviation of cost from plan; likelihood of occurrence; risk exposure; risk magnitude; type: {direct, indirect}; resource: {organization, funding, people, time, business risks,
technical risks, scope risks, technological risks, external dependency risks, schedule risks}
ranking according to the risk exposure;
risk magnitude may be calculated in addition.
PrioriserDes cas
D’utilisation
benefit of the scenario to the stakeholders: {critical, important, useful};
architectural impact of the scenario: {none, extends, modifies}; risks to be mitigated: {performance, availability of a product,
suitability of a component}; completion of the coverage of the architecture; demonstration to the user
selection following the architectural significance: substantial architectural coverage, specific architectural point, delicate architectural point.
Spécifier les besoins pour les Spécifier les besoins pour les méthodes Mcméthodes Mc
Besoins pour méthodes MC Outils Risques Cas d’utilisation
Operations
Retain problem type choice ranking choice
Calculate alternatives number medium great great
Retain alternatives nature discrete discrete discrete
Retain criteria data type quantitative mixed mixed, fuzzy
Retain weighting type Yes, simple
Usage
Tool yes
Easiness easy
Skills week
Identifier les besoins de priorisation
Spécifier les besoins pour méthodes MC
Sélectionner une méthode MC
Appliquer la méthode MC et valider les résultats
Sélection d’une méthode MCSélection d’une méthode MCIdentifier les besoins de priorisation
Spécifier les besoins pour méthodes MC
Sélectionner une méthode MC
Appliquer la méthode MC et valider les résultats
ConclusionConclusionRésultats:
◦ Guidage de la priorisation faite de manière plus scientifique
◦ Intégration des méthodes multicritères pour choisir l’alternative la plus adatée à chaque situation
◦ Illustration par des exemples pris dans le RUP (Rational Unified Process).
Perspectives:◦ Améliorer la signature des méthodes pour mieux pouvoir
les sélectionner◦ Développer un outil pour offrir un guidage systématique◦ Définir les méthodes MC comme des fragments de
méthode pour permettre leur intégration dans des méthodologies existantes
◦ Explorer la possibilté d’adapter les méthodes d’aide à la décision à la situation en cours
MC Method interfacesMC Method interfaces
MAUT AHP Outranking Weighting Fuzzy Methods
1. “Problem”1.1. Choice Yes Yes Yes Yes Yes1.2. Ranking Yes Yes Yes Yes Yes1.3. Sorting No No Yes No Yes
2. “Potential actions”2.1. Number of alternatives Great, medium,
smallSmall Great, medium,
smallGreat,
medium, smallDifferent
2.2. Alternatives' set nature discrete discrete discrete discrete Different2.3. Incompatibility and
conflicts of alternativesYes No Yes No Different
3. “Criteria”3.1. Data type quant., qual. quant., qual. quant., qual. quant. Different3.2. Measure scale Yes No Yes No Different3.3. Criteria weighting Yes, simple Yes, interdep Yes, interdep Yes, simple Different
4. “Usage”4.1. Tool No Yes Yes Yes Different4.2. Notation Utility function Weighted sum Textual Weighted sum Different4.3. Easiness of use Difficult Easy Medium Easy Difficult4.4. Decision maker skills strong medium strong week strong