improving software development processes with multicriteria methods elena kornyshova rébecca...

12
Improving Software Improving Software Development Processes Development Processes with Multicriteria with Multicriteria Methods Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique Paris, France

Upload: frederic-reynaud

Post on 04-Apr-2015

109 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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

Page 2: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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.

Page 3: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

Prise de Décisions

Présence d’alternativesChoix à effectuer

Aide à la décision ?

Page 4: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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.

Page 5: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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

Page 6: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

Modèles de Prise de Modèles de Prise de DécisionDécision

Page 7: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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

Page 8: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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.

Page 9: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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

Page 10: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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

Page 11: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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

Page 12: Improving Software Development Processes with Multicriteria Methods Elena Kornyshova Rébecca Deneckère Camille Salinesi CRI – Centre de Recherche en Informatique

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