Proposition d’une classification des méthodes d’estimation des projets de systèmes d’information Safae LAQRICHI, Didier Gourc, François Marmier {safae.laqrichi, francois.marmier, didier.gourc}@mines-albi.fr
Les auteurs Safae LAQRICHI Doctorante - Centre Génie Industriel de l’école des Mines d’Albi Didier GOURC Maître-assistant -HDR- Centre Génie Industriel de l’école des Mines d’Albi François MARMIER Maître-assistant - Centre Génie Industriel de l’école des Mines d’Albi 27/03/2017
Introduction Contexte Estimation Chef de projet Estimation Estimation L’estimation de l’effort, de la durée et du coût de développement des projets logiciels est une pratique fondamentale dans la gestion de projets logiciels. En fait, il est nécessaire pour une entreprise qui désire développer un nouveau logiciel ou améliorer un logiciel existant d’avoir une idée sur le coût et la durée nécessaires pour le développement du projet. Elle fait donc une estimation sur la base de son cahier des charges. Cette estimation va l’aider à faire des appels d’offre. D’autre part, pour répondre à cet appel d’offre. Le service informatique de l’entreprise ainsi que les sous traitants, ont besoin aussi de faire des estimations sur le projet logiciel afin de proposer des réponses à l’appel d’offre de l’entreprise. L’entreprise peut donc choisir la réponse la plus adéquate en comparant son estimation avec les réponses proposées. Elle choisi le prestataire de service proposant l’estimation la plus proche à l’estimation de l’entreprise. Une estimation largement plus petite ou largement plus grande peut s’expliquer par une mal compréhension du cahier des charges. Direction de l’entreprise Estimation Sous-traitant 1 Estimation Sous-traitant2 27/03/2017
Introduction Problématique Choix de la méthode d’estimation la plus adéquate Incertitude et incomplétude des données manipulées Non prise en compte du paramètre risque L’estimation est donc l’une des plus importantes activités du développement de logiciels. Mais cette activité est compliquée d’abord parce qu’il y a plusieurs méthodes d’estimation et il est difficile de choisir la méthode la plus adéquate et fiable pour un contexte de projet, ensuite à cause de l’incertitude et l’incomplétude des données qu’elle peut manipuler surtout dans les phases amonts du projet (ou on a peu d’information sur le projet). Et enfin, il est difficile d’obtenir des résultat fiable et précises car les méthodes d’estimation existantes ne considère pas ou peu le paramètre risque. Ces problématiques font l’objectif de ma thèse qui s’inscrit dans le cadre d’un projet appelé Projestimate financé par le FUI. Dans cet article je vais traiter la première problématique qui est la problématique de choix de la méthode la plus adéquate à un contexte de projet. Ma thèse s’inscrit dans le cadre d’un projet qui s’appelle projestimate financé par FUI et qui a comme but l’élaboration d’un nouveau modèle d’estimation prenant en compte l’incertitude et le risque. 27/03/2017
Sommaire Démarche générale d’estimation Approches d’estimation Classification des méthodes d’estimation Proposition d’une classification des méthodes d’estimation Processus de mise en œuvre de la classification Discussion Conclusion et perspectives 27/03/2017
Démarche générale d’estimation Facteurs d’ajustement Facteur de productivité Facteurs de conversion Durée Coût Effectif … Mesurer la taille fonctionnelle Spécifications CDC Estimer l’effort de développement Effort Calcul de la durée, du coût, de l’effectif,etc. Taille fonctionnelle prédire le nombre d’homme-mois nécessaire pour accomplir le projet de développement [Muzaffar et Ahmed, 2010]. la taille fonctionnelle exprime la taille du logiciel qui est dérivée de la quantification des exigences fonctionnelles exprimées par les utilisateurs [ISO/IEC14143] Figure 1. Démarche d’estimation 27/03/2017
Approches d’estimation Paramétriques et algorithmiques Apprentissage automatique Formelles Approches d’estimation Jugement d’expert Analogie Non formelles En fait, il existe différentes méthodes d’estimation, qui peuvent être classifié en deux catégories : approches ou méthodes formelles et approches non formelles Paramétriques se basent sur des équations calculant le coût en fonction de paramètres considérés déterminants du coût. Apprentissage automatique se basent sur la capacité du système à apprendre, à partir d’une base de données des projets antérieurs, à estimer l’effort de développement ou le coût d’un nouveau projet. Logique floue, les algorithmes génétiques, et les arbres de régression. Jugement d’expert qui se base sur l’intuition et l’expérience Analogie c’est à dire L’estimation de l’effort nécessaire pour effectuer une tâche peut être faite par analogie avec des tâches similaires déjà effectuées Dans chaque approche d’estimation on peut trouver plusieurs méthodes d’estimation. La question qui se pose alors est comment choisir la plus adéquate pour un contexte de projet? Dans ce but, des auteurs ont essayé de proposer des classifications 27/03/2017
Classification des méthodes d’estimation Analyse comparative [Meli et Santillo, 1999] Approach A Approach B Approach … Parameters La majorité des articles propose des méthodes de comparaison des approches d’estimation pour un contexte de projet particulier [Meli and Santillo, 1999]. Ces analyses comparatives ne sont pas faciles à mettre en œuvre et nécessitent une connaissance approfondie des méthodes d’estimation existantes. 27/03/2017
Classification des méthodes d’estimation Matrice de classification de Rush et Roy [Rush et Roy, 2000] Critères: Phase de cycle de vie Classification de Rush et Roy 27/03/2017
Classification des méthodes d’estimation Diagramme de trois dimension de Bode [Bode, 2000] Critères : Taille de la base Nbr de cost drivers Niveau d’incertitude Classification de Bode 27/03/2017
Classification des méthodes d’estimation Synthèse Différentes classifications peuvent être utilisées pour déterminer d’une façon générale les approches les plus adéquates. Difficulté de mise en œuvre de quelques classifications Peu de classifications permettent de déterminer d’une façon plus fine, dans les approches d’estimation, quelles méthodes d’estimation les plus adéquates. Problèmes des classifications existantes + lien avec ma classification Donc dans ce qui suit nous allons proposer une classification des méthodes d’estimation Peu de classifications prennent en compte plusieurs critères pour sélectionner les méthodes les plus adéquates. 27/03/2017
Proposition d’une classification des méthodes d’estimation Critères de classification Phase du cycle de vie du projet logiciel Etude préliminaire Etude de conception Réalisation (codage et tests) Maintenance Type de projet Système d'information de gestion : Logiciels des banque Logiciel à temps réel : les logiciels intégrés dans des dispositifs de contrôle des machines Logiciel à complexité algorithmique : logiciels mathématiques Logiciel hybride (temps réel et affaire) : Système de réservation en temps réel pour les compagnies aériennes Un projet se caractérise par plusieurs aspects qu’on va reprendre et intégrer dans notre classification. Ces aspects sont : La phase du cycle de vie du projet logiciel : Elle joue un rôle important pour choisir une méthode d’estimation puisqu’il y a des méthodes d’estimation peuvent être utilisées lors de différentes phases du cycle de vie, alors que d’autres sont restreintes à certaines phases. Type de projet : Système d’information de gestion : destiné à la gestion d’une grande quantité des données sur les événements dans le monde réel Logiciel à temps réel : destiné au suivi ou au contrôle des événements à temps réel, exemples : les logiciels intégrés dans des dispositifs de contrôle des machines Logiciel à complexité algorithmique : destiné à résoudre les problèmes importants et complexes de calcul en utilisant des algorithmes, exemples : logiciels mathématiques et de simulation. Logiciel hybride : assemble les deux aspects temps réel et gestion, exemples : les systèmes de réservation en temps réel pour les compagnies aériennes 27/03/2017
Proposition d’une classification des méthodes d’estimation Critères de classification Processus de développement de projet logiciel Le processus de développement traditionnel le processus de développement agile Standardisation Méthodes standardisées ISO, Méthodes non standardisées mais réalisées et développées par des organisations, Méthodes non standardisées mais élaborées ou développées par des chercheurs. pourquoi 27/03/2017
Proposition d’une classification des méthodes d’estimation Autres critères de classification Complexité de mise en œuvre Expérience 27/03/2017
Proposition d’une classification des méthodes d’estimation Légende : Méthode : pour le processus de développement traditionnel Méthode : pour le processus de développement agile Méthode : pour le processus de développement agile et traditionnel Méthode* : Standardisée ----- Notes de la réunion (03/06/13 18:01) ----- Dans le processus d'estimation qui se compose de deux étapes mesure et estimation Ici majoritairement les methodes de mesure universelles…, pour les méthode d'estimation ça peut être spécifique aux entreprise donner exp PSA... Rajouter chronologie des méthodes d'estimation Rajouter diapo discussion Répondre à la problèmatique posée à l'introduction Figure 3 : Classification des méthodes d’estimation de l’effort de développement 27/03/2017
Processus de mise en oeuvre Processus de mise en œuvre de la classification Ici nous présentons le processus de sélection des méthodes d’estimation pour un contexte de projet particulier. Sous la base des informations relatives au projet, l’estimateur répond aux questions présentées dans la figure du processus. En utilisant les listes de support, il définit le type de son projet, la phase du cycle de vie, le processus de développement de son logiciel, il exprime aussi son exigence sur la méthode d’estimation en terme de standardisation. l’estimateur peut utiliser la classification pour sélectionner l’ensemble des méthodes qui peuvent être adéquates pour son projet logiciel. Dans le cas où plusieurs méthodes d’estimation répondent au contexte du projet logiciel à estimer, la décision finale sur la méthode d’estimation à utiliser est prise par l’estimateur. Il peut définir et ajouter d’autres critères qui feront la différence entre les méthodes sélectionnées, tels que la complexité de mise en œuvre de la méthode d’estimation et le niveau d’expérience requis. Processus de mise en oeuvre Figure 4: Processus de sélection de méthodes d’estimation 27/03/2017
Processus de mise en oeuvre Exemple : Projet PSA Système d’information de gestion Réalisation Développement agile Figure 4: Processus de sélection de méthodes d’estimation 27/03/2017
Processus de mise en oeuvre Légende : Méthode : pour le processus de développement traditionnel Méthode : pour le processus de développement agile Méthode : pour le processus de développement agile et traditionnel Méthode* : Standardisée Figure 3 : Classification des méthodes d’estimation de l’effort de développement 27/03/2017
Processus de mise en oeuvre Exemple : Projet PSA Système d’information de gestion Réalisation Développement agile COSMIC FP Figure 4: Processus de sélection de méthodes d’estimation 27/03/2017
Discussion Avantages et inconvénients Facilité de mise en oeuvre Utilisation de plusieurs critères dans la classification proposée Chaque nouvelle méthode peut facilement être positionnée dans la classification D’autre critères peuvent être rajoutés à la classification si besoin Mais On trouve majoritairement des méthodes de mesure dans la classification Points forts et faibles de notre classification Exemple : PSA processus de mise en œuvre 27/03/2017
Conclusion et perspectives Proposition d’une classification des méthodes de mesure et d’estimation selon plusieurs critères Ces critères traduisent le contexte du projet et les exigences du chef de projet la liste des méthodes d’estimation n’est sans doute pas exhaustive et sera complétée au fur et à mesure de l’avancement du projet et des travaux Les critères retenus, dans le cadre de cette étude, donnent une lisibilité à cette cartographie propre à nos objectifs D’autres critères pourront être identifiés pour une nouvelle lecture de la classification comme le degré de prise en compte du risque et des incertitudes dans les approches. 27/03/2017
Merci pour votre attention Des questions ? 27/03/2017