Estimer et mesurer la performance des projets agiles avec les points de fonction



Documents pareils
Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Gestion de Projet Agile

Le Product Backlog, qu est ce c est?

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Méthodes Agiles et gestion de projets

Scrum Le guide pratique de la méthode agile la plus populaire 3 e édition Claude Aubry 320 pages Dunod, 2013

25/12/2012

User stories et Backlog de produit

Agile 360 Product Owner Scrum Master

1/15. Jean Bernard CRAMPES Daniel VIELLE

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Méthode Agile de 3 ème génération J-P Vickoff

backlog du produit Product Owner

Formation Scrum. 2 jours

SCRUM chez BWIN : implémentation d une méthode agile dans Focalpoint Spasija Taseva et Corinne Bacle

Scrum + Drupal = Julien Dubois

Guide de Préparation. EXIN Agile Scrum. Foundation

Le Product Owner Clé de voute d un projet agile réussi

Cours Ephec Niv. 2 : Technique et gestion de projet. Par Monsieur Bertieaux Année Académique Quelles sont les 4 valeurs Agiles?

EXIN Agile Scrum Master

Testeur Agile Niveau Fondation Bertrand Cornanguer, Vice-chair Agile tester WG

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

Scrum Une méthode agile pour vos projets

Les méthodes itératives. Hugues MEUNIER

GESTION DE PROJET : LA METHODE AGILE

Auditer son environnement Telecom Un des fondements du projet TEM

Certification Scrum Master

LA MÉTHODE AGILE VS LE CYCLE EN V UNE RÉVOLUTION DANS LA GESTION DE PROJET. Franck BEULÉ

SCRUM BUT, LE LIVRE BLANC. De la problématique de mener un projet AGILE dans une organisation classique

Modèle de changement d organisation. Leanpizza.net présente. Petit Guide Rapide du jeu de cartes Modèle de Changement d Organisation

Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP)

Le cycle de développement des produits à la Société GRICS : une nouvelle approche

Formation pour Product Owner

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

La solution IBM Rational pour une ALM Agile

Ingénierie des méthodes Agiles : Que cache l opposition entre déploiement et livraison en continu? Faut-il adopter DevOps 1?

Jean-Pierre Vickoff

Formation agile. Formation agile Created on 24 janv Edited on 29 févr Page 1 sur 16

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Les méthodes Agiles. Introduc)on aux méthodes Agiles Exemple : Scrum

Les rendez-vous Risk Advisory La lettre des professionnels du risque et de la finance

Retour d expérience implémentation Scrum / XP

Modernisation et gestion de portefeuilles d applications bancaires

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

Design centré sur l utilisateur et développement Agile : perspectives de réconciliation

Scrum/XP adapté au BI/DW

Estimer les activités de support - maintenance des applications logicielles

Le management de projet

Une bonne dose d'agilité au cœur de votre équipe. La rece e Visual Studio 2012 pour des projets maitrisés

Scrum. ... pour des projets informatiques agiles. Pascal Lando Certified Scrum product owner

Le rôle du coach Agile et son apport pour le projet

Processus d Informatisation

PagesJaunes.fr Mise en place de Scrum de scrum. Fabien Grellier Agile Tour Octobre

Scrum et l'agilité des équipes de développement

Modèle Cobit

Les Eléments clés du projet

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

La reconquête de vos marges de manœuvre

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Vos données sont-elles adaptées à l informatique en nuage?

Vision Produit. Un sacré attracteur pour une équipe auto-organisée. Thierry Cros

Maîtrise d ouvrage agile

L'AGILITÉ AVEC VISUAL STUDIO

Augmenter la vélocité Agile avec l usine-service sur Azure

Génie Logiciel LA QUALITE 1/5 LA QUALITE 3/5 LA QUALITE 2/5 LA QUALITE 4/5 LA QUALITE 5/5

A-t-on le temps de faire les choses?

Tuesday, October 20, Nantes

Est-il possible de réduire les coûts des logiciels pour mainframe en limitant les risques?

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Bertrand Cornanguer Sogeti

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Regard sur hybridation et infogérance de production

UML est-il soluble dans les méthodes agiles?

L enseignement de méthodes agiles dans un contexte d apprentissage actif

Choisir l agilité. Choisir l agilité. à la gouvernance. Choisir l agilité. InfoPro. Mathieu Boisvert. Sylvie Trudel

Rapport de certification

Liste des Formations

ITIL V3. Objectifs et principes-clés de la conception des services

Le contenu de cette publication a été préparé par le ministère des Transports.

Méthodologies SCRUM Présentation et mise en oeuvre

Rapport de stage. «Migration Agile du RIL» Frédéric MONJO Master I

Les «méthodes Agiles»

Comment mettre en oeuvre une gestion de portefeuille de projets efficace et rentable en 4 semaines?

REX Scrum Master du terrain

Développement logiciel, Tests et industrialisation

Méthodes de développement

CA Automation Suite for Data Centers

ITSM - Gestion des Services informatiques

Scrum. Description. Traduit en langue française par Bruno Sbille et Fabrice Aimetti - Avril Trad FR v1.1

Programme d'amélioration continue des services

Sommaire. d Information & Référentiels. de Bonnes Pratiques. DEBBAGH, PhD. Février 2008

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Transcription:

Estimer et mesurer la performance des projets agiles avec les points de fonction Radenko Corovic, MBA radenko.corovic@rsmtechno.ca 1. Introduction Les méthodes agiles de développement des systèmes ont beaucoup progressé depuis ces quelques dernières années et, malgré certaines questions ouvertes, il n y pas de doute que les méthodes agiles deviennent une réalité dans plusieurs organisations. Cette croissance a eu comme résultat la maturation des méthodes agiles qui deviennent plus structurées et commencent à incorporer certains éléments d autres pratiques et méthodes de développement. Dans ce sens, la méthode agile a développé ses propres métriques d estimation et de suivi d avancement qui semblent donner de bons résultats et qui sont, selon les affirmations des acteurs principaux, très utiles pour les équipes agiles. Le portrait est cependant différent si l on analyse ces métriques du point de vue des besoins au niveau de l organisation. Une de limitations majeures de la méthode agile 1 est l estimation de la taille et des efforts ainsi que le suivi de performance de projets agiles. En effet, il n y pas encore des méthodes standardisées d estimation de projets agiles qui permettraient un suivi de la performance de projets agiles basé sur une méthode normalisée. Cela rend très difficile, voire impossible, la mesure et la comparaison de productivité de développement entre les projets d une même organisation ainsi qu entre les projets d une organisation et ceux de l industrie. Nous pensons que la solution peut être trouvée dans l application des méthodes de mesure basées sur la taille fonctionnelle. Ce sont les méthodes standardisées qui reposent sur les exigences du client et permettent à l organisation d estimer et de suivre la performance de ses projets/portefeuille sur une base comparable. La méthode qu on propose est basée sur le concept COSMIC; elle est relativement facile à utiliser et peut être appliquée dans les différentes phases du cycle de vie d un projet, peu importe sa méthodologie de développement. Elle est flexible, peut être adaptée à la réalité de chaque organisation et donne des résultats satisfaisants. 2. Estimation de projets agiles Quand on parle de possibilité d utiliser les méthodes fonctionnelles d estimation pour les projets agiles, on doit d abord trouver la relation entre les notions de base dans l estimation de la taille fonctionnelle, (projet, exigences du client, processus élémentaire, points de fonction, etc.) et celles du développement agile (release, sprint, user stories, story points, etc.). En fait, la notion de projet dans l agile n est pas celle définie par le PMBOK. La méthode agile parle plutôt de «release» qui désigne le logiciel final livré et prêt à être déployé. Pour les besoins 1 Dans cet article on va considérer la méthode Scrum

d estimation, on peut considérer le «release» comme un projet et, dans cet article, on va les utiliser comme des synonymes. Dans le développement agile, les User Stories (US) sont utilisées pour capturer les exigences fonctionnelles du client et leur somme définit le produit à développer. La taille des US est basée sur la complexité relative de chaque User Story et elle est exprimée par une mesure appelée Story Points (SP). Les User Stories sont priorisées selon plusieurs éléments, comme la valeur d affaires ou leur complexité relative. Elles sont ensuite décomposées en éléments de travail («Work Items») qui sont regroupés et réalisés dans une itération appelée Sprint. Il faut mentionner qu une User Story peut être réalisée dans plus d un Sprint. Les efforts de chaque Work Item sont estimés avec un concept d estimation basé sur les méthodes Delphi (Planning Poker) afin de planifier les efforts d un Sprint. L estimation de la taille (Story Points) est donc séparée de l estimation des efforts (Planning Poker). Une fois les premiers Sprints terminés, on détermine la vélocité de l'équipe, c'est-à-dire le nombre de points qu'elle peut réaliser en un Sprint. La vélocité est réévaluée régulièrement. En mettant en relation la vélocité et le nombre de points à réaliser (le Backlog du produit), l équipe peut estimer le nombre de Sprints nécessaires pour terminer le projet. On peut alors avoir une idée de la date de fin du projet/release. 3. Les limitations du concept d estimation agile basée sur Story Points (SP) Certains auteurs proposent les Story Points (SP) comme la mesure de la taille fonctionnelle du logiciel. Sans effectuer une analyse profonde, il est évident que les SP ne présentent pas une mesure de la taille fonctionnelle du logiciel et cela pour les raisons suivantes: Le calcul de Story Points n est pas basé sur une méthode standardisée. Il n y pas de relation entre les Story Points et les points de fonction. Le calcul de Story Points ne repose pas sur les processus élémentaires qui est à la base de calcul des points de fonction. Les Story Points diffèrent considérablement d une équipe/projet à l autre et ont une signification seulement aux membres de l équipe qui les estiment. Le fait que le Sprint fait référence à une période de temps dans laquelle un nombre de fonctionnalités doit être développé et non à des fonctionnalités complétées et livrées, ce qui est d ailleurs la norme dans le calcul de points de fonction, présente une autre difficulté pour l application des points de fonction au développement agile. En fait, une fonctionnalité développée dans un Sprint peut être reprise et améliorée dans un Sprint subséquent de sorte que la somme de la taille fonctionnelle de tous les Sprint d un projet est habituellement plus élevée que la taille fonctionnelle du logiciel mesurée à la fin du projet (fonctionnalités livrées). Les limitations mentionnées ne concernent pas nécessairement l exactitude d estimation de projets agiles et ne veulent pas dire que les projets agiles sont mal estimés. On voulait plutôt analyser dans quelle mesure les pratiques actuelles d estimation de projets agiles sont alignées avec le besoin des organisations d avoir une méthode d estimation et de mesure standardisée qui peut être appliquée sur tous les projets peu importe leur méthodologie de développement. Dans les points suivants, on peut voir comment les pratiques agiles actuelles répondent aux besoins des organisations en estimation de projets et en suivi de leur avancement.

1. Obtenir et analyser l estimé d un projet dans la phase d avant-projet Dans la plupart des organisations, avant d autoriser le budget et le démarrage de projet, il est nécessaire d en estimer les coûts et la durée. Il en est de même pour les processus d appel d offres et d octroi de contrat. Lors de la phase de conception (avant-projet) du développement agile, il est difficile d estimer les efforts du projet et de déterminer les budgets appropriés. La difficulté vient du fait que les fonctionnalités (backlog du produit) sont estimées très sommairement via les User Stories dont la taille est exprimée en Story points. Cette taille est relative et ne peut pas être utilisée pour estimer les efforts/coûts du projet. Le but de l équipe agile est d avoir une idée de la taille relative de chaque item sans lui associer une valeur en termes d effort. 2. Comparer la performance/productivité des projets - benchmarking interne et externe En l absence d une mesure de taille standardisée, il n est pas possible de comparer la productivité de développement de projets agiles avec la productivité d autres projets d une organisation (benchmarking interne) et encore moins avec les projets de l industrie (benchmarking externe). Cela rend difficile, voire impossible, de faire des efforts pour améliorer les processus en se basant sur des données crédibles et documentées. Pour les mêmes raisons, la vélocité (le nombre de points qu'une équipe peut réaliser dans un Sprint), ne peut être utilisée comme la mesure de productivité de développement. En fait, elle peut être utilisée dans ce sens, mais seulement pour mesurer la productivité d une équipe dans le cadre d un projet. Par conséquent, il est inutile de comparer la vélocité des différentes équipes, car chaque équipe peut avoir différente approche d'estimation. 3. Intégrer les projets agiles dans la gestion de portefeuille de projets Aujourd hui, quand on parle de développement agile, un des plus grands défis concerne l intégration des projets agiles dans la gestion de portefeuille de projets. Les outils d estimation et de suivi de projets agiles sont utiles pour l équipe du projet, mais ils ne permettent pas d avoir une «vue portefeuille» et d assurer une gestion stratégique des investissements. Pour le faire, il faut constituer le portefeuille de tous les projets dans l organisation sans égard à la méthodologie de développement (agile ou waterfall) et de suivre sa performance au niveau stratégique. Cela suppose qu on gère tous les projets du portefeuille en se basant sur les mêmes métriques standardisées. Il est clair que les Story Points, malgré leur utilité dans l estimation de projets agiles, ne peuvent pas être utilisées comme une mesure de taille au niveau du portefeuille. 4. Suivre l avancement de projets agiles Même s il y a des travaux qui recommandent utilisation de la méthode de valeur acquise pour les projets agiles en faisant l adéquation entre les mesures utilisés dans le Scrum avec celles de la valeur acquise, il n y a pas de preuves concluantes concernant l applicabilité de cette méthode pour les projets agiles. La principale difficulté est due au fait que la valeur acquise est basée sur les fonctionnalités livrées (terminés) et non développées comme dans l agile. Aussi, il est difficile d utiliser les Story Points pour mesurer l avancement du projet parce que les Story points ne sont pas comparables d une équipe à l autre.

Cela ne signifie pas que les pratiques actuelles de mesure d état d avancement de projets agiles donnent des résultats erronés, mais il est crucial que cet état d avancement soit visible au niveau de l organisation et que la méthode et le calcul de cet avancement soient harmonisés avec les autres projets qui n utilisent pas la méthode agile. 5. Collecter les données sur les projets réalisés afin d améliorer la performance de futurs projets Dans le développement agile, les données historiques sont rarement collectées parce que l équipe du projet est plus intéressée par ce qui reste à développer (Product Backlog) que par ce qui a été développé. D un autre côté, même si l on décide de collecter les données du projet agile (ex. effort par Story point, nombre de Story points par mois de développement, etc.), leur utilité pour d autres projets serait très limitée à cause du fait qu elles ne reposent pas sur une méthode de calcul standardisée. Le fait que les Story Points ne peuvent pas être utilisées pour le calcul de qualité comme on le fait avec les points de fonction (ex. nombre d anomalies par point de fonction), rend très difficile la comparaison de la qualité du logiciel entre les projets. 6. Diminuer le coût de possession (TCO-Total Cost Ownership) La méthode agile n encourage pas la production systématique de la documentation. L équipe peut produire la documentation qu elle juge pertinente, mais comme l accent est mis sur la rapidité d obtenir un logiciel opérationnel, la documentation est souvent négligée. Cela résulte souvent par les coûts supplémentaires de maintenance du logiciel. 4. Estimer/mesurer la taille fonctionnelle des projets agiles Malgré plusieurs essais et propositions quant à l application de la méthode de mesure de taille fonctionnelle (points de fonction) pour le développement agile, il n y a pas encore d approche standardisée décrivant l utilisation des points de fonction pour mesurer la taille de projets agiles. Afin d estimer et de mesurer la taille et les efforts de projets agiles avec une mesure fonctionnelle, nous proposons une méthode 2 qui est basée sur la méthode COSMIC. La méthode COSMIC (originellement - Full Function Points) est une méthode de mesure fonctionnelle du logiciel qui est internationalement reconnue et qui est standardisée ISO. Elle est basée sur le principe suivant: la taille fonctionnelle du logiciel est directement proportionnelle au nombre de ses mouvements de données. Les principaux avantages de ce modèle sont sa simplicité et sa clarté. En fait, le transfert de données COSMIC est précisément défini et les interprétations ambiguës sont très rares. En plus des raisons mentionnées précédemment, on a choisi la méthode COSMIC parce qu elle est plus appropriée pour mesurer la taille de projets agiles que la méthode IFPUG. Le processus élémentaire définit par COSMIC est plus granulaire qu avec la méthode IFPUG, ce qui permet de mesurer les petites fonctionnalités du logiciel. En plus, la méthode COSMIC est plus facile à automatiser, car elle associe un point à chaque mouvement de données et n utilise pas les niveaux de complexité des composants comme dans IFPUG. Les caractéristiques de la méthode proposée : 2 Les détails de la méthode ainsi que l'outil que la supporte seront présentés dans un prochain article

Elle peut être performée dans les différentes phases du projet : phase d avant-projet (estimer la taille et les efforts du projet pour le besoins du budget), avant chaque Sprint (estimer la taille et les efforts du Sprint) et à la fin du projet (taille finale pour les besoins de benchmarking et d amélioration du processus). Étant basée sur la méthode standardisée du calcul de la taille applicative, cette méthode permet l application de la valeur acquise pour le suivi d avancement des projets agiles. Elle est facile à utiliser et ne demande pas une formation en calcul de points de fonction. L estimation est très facile et très conviviale pour les développeurs. Ils doivent juste répondre aux questions concernant les fonctionnalités du logiciel et l outil calcule lui-même la taille et les efforts. Les points de fonction sont calculés automatiquement, ce qui ne devrait pas freiner ou bousculer la dynamique des équipes agiles. Le calcul des points de fonction COSMIC est basé sur les exigences du client ce qui est à la base de l estimation des User Stories. On peut donc bien estimer la taille fonctionnelle des User Stories dans la phase d avant-projet. La méthode permet l estimation des efforts/coûts du projet en utilisant les données historiques de l organisation (effort unitaire). L approche du calcul est basée sur les étapes suivantes : 1. Obtenir les exigences fonctionnelles du client (US) Les exigences fonctionnelles du client sont obtenues dans la forme d User Stories. Comme les User Stories sont parfois présentées avec une ou deux phrases seulement, il est conseillé de demander un peu plus d explication de la part du client afin qu il exprime ses besoins de façon claire. Dans cette phase, il ne faut pas insister sur le langage technique; le client peut exprimer ses besoins dans ses propres termes. 2. Identifier les processus fonctionnels Dans cette étape, les exigences (besoins) du client sont traduites en processus fonctionnels. L identification des processus fonctionnels est définie dans la phase «maping» de la méthode COSMIC. Cependant, étant donné que les User Stories sont présentées comme un regroupement de processus fonctionnels et qu on n a pas assez d information pour les distinguer, il n est pas toujours possible d identifier chaque processus élémentaire dans cette phase du cycle de projet. Pour surmonter cet obstacle, l approche qu on recommande permet d'estimer la taille des User Stories quel que soit le niveau de granularité (agrégation) des processus fonctionnels. 3. Déterminer la taille fonctionnelle de chaque US en termes de points de fonction COSMIC - CFP Les difficultés associées avec l estimation de la taille fonctionnelle dans la phase d avant-projet, ne sont pas une exclusivité de la méthode agile. Les méthodes traditionnelles de développement, telle que Waterfall, connaissent les mêmes problèmes. Les méthodes de calcul de la taille fonctionnelle sont basées sur le processus élémentaire; elles visent donc les plus petites fonctionnalités du logiciel. Étant donné que, dans la phase d avant-projet, les fonctionnalités ne sont définies que de façon sommaire, il est très difficile d appliquer la méthode de la taille fonctionnelle à ce stade-ci. De l autre côté, il est primordial d estimer la

taille durant cette phase et cela non seulement à cause des exigences budgétaires et contractuelles, mais aussi pour planifier la réalisation du projet et surtout pour estimer la taille de l équipe de développement. Afin de donner la meilleure estimation possible à ce stade du cycle de vie du projet, nous avons automatisé le calcul de la taille des User Stories en simplifiant le calcul de la taille fonctionnelle avec la méthode COSMIC. En fait, comme une User Story est un regroupement de processus fonctionnels, sa taille est estimée à un niveau d agrégation plus élevé que le processus élémentaire. Cette taille n est donc pas calculée, mais plutôt estimée avec une marge d erreur déterminée par le niveau de granularité des fonctionnalités. 4. Estimer les efforts/coûts du projet (release) Afin de calculer les efforts nécessaires pour développer les fonctionnalités définies via US, une valeur en termes d effort par Cosmic Function Point CFP est associée à chaque CFP. Cette valeur (heures ou $ par point de fonction) présente la productivité moyenne de développement de l organisation. Elle peut être basée sur les projets développés dans l organisation ou sur les données de l industrie. En additionnant les efforts/coûts de toutes les User Stories estimées, on obtient les efforts/coûts estimés du projet (release). Il est important de mentionner qu on peut avoir différents coûts unitaires à l intérieur d une organisation. Même si la taille du logiciel ne dépend pas de la méthodologie de développement, de la technologie utilisée ou de la productivité des développeurs, la productivité de développement dépend de ces facteurs ainsi que d autres facteurs qu on n a pas mentionnés. Si, par exemple, les deux parties du logiciel sont développées avec deux technologies différentes, il est fort probable que l effort/coût unitaire va être différent pour chaque partie du logiciel. 5. Raffiner l estimation pour mesurer la taille et l effort de chaque Sprint Les paramétrés détaillés d estimation permettent de raffiner l estimation de la taille faite précédemment et d estimer les petites fonctionnalités du logiciel. Il faut mentionner que, à ce stade, on ne refait pas l estimation faite auparavant, on la simplement raffine afin d obtenir des résultats plus précis. 6. Calculer la taille finale du logiciel À la fin du projet, on peut faire le calcul de la taille finale (livrée) du logiciel. On avait déjà mentionné que la taille finale du logiciel n est pas la somme des tailles des Sprints. Il est donc nécessaire d obtenir la taille livrée du logiciel livré afin de calculer le coût/effort unitaire du projet et de comparer sa performance avec la performance d autres projets. Il est aussi utile de comparer la taille finale (réelle) du logiciel avec la taille estimée dans la phase avant-projet. Les éventuels écarts vont nous permettre d améliorer le processus d estimation et de mieux calibrer ses paramètres.

Auteur : M. Radenko Corovic possède plus de 25 ans d'expérience dans le domaine des technologies de l information (TI), tant dans les secteurs publics que privés. Il est spécialiste en pratiques de gestion de projet, en mesures de performance de projet et en performance des TI. Il a rédigé plusieurs articles, notamment sur la mesure de performance de projets basée sur la valeur acquise; nombre d entre eux ont été publiés dans des revues spécialisées du PMI. M. Corovic a également donné plusieurs présentations sur la valeur acquise et la gestion du portefeuille de projets (PMI-Project World, Colloque MGP UQAR 2008, IT Management Forum, Colloque 2012 du PMI-Lévis Québec). Il est actuellement président de RSM Technologies, une compagnie spécialisée en gestion de portefeuille, en estimation de projets TI, ainsi qu en performance de projets.