Chapitre n 3 : Présentation des méthodes agiles et Scrum



Documents pareils
25/12/2012

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

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

Méthodes Agiles et gestion de projets

Méthodes de développement

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

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

1/15. Jean Bernard CRAMPES Daniel VIELLE

Gestion de Projet Agile

GESTION DE PROJET : LA METHODE AGILE

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

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

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

backlog du produit Product Owner

Les méthodes itératives. Hugues MEUNIER

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

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

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

Développement itératif, évolutif et agile

Scrum Une méthode agile pour vos projets

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

Certification Scrum Master

User stories et Backlog de produit

Les mécanismes d'assurance et de contrôle de la qualité dans un

La solution IBM Rational pour une ALM Agile

Outil de gestion et de suivi des projets

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

Le Product Backlog, qu est ce c est?

Enquête 2014 de rémunération globale sur les emplois en TIC

Scrum + Drupal = Julien Dubois

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

Cours Gestion de projet

Baccalauréat technologique

Méthodes de développement. Analyse des exigences (spécification)

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

GUIDE SUR L ASSISTANCE A LA MAÎTRISE D'OUVRAGE EN INFORMATIQUE

Méthodologies SCRUM Présentation et mise en oeuvre

Agile 360 Product Owner Scrum Master

Feature Team Primer. par Craig Larman et Bas Vodde. Version 1.2

Introduction IV. Comparaison MERISE/UML/SCRUM Approche fonctionnelle Schéma Entité/Association Méthodologie...

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

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

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

CHAPITRE 3 : LES METHODES AGILES?

SEP 2B juin 20. Guide méthodologique de calcul du coût d une prestation

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

Le management de projet

Scrum/XP adapté au BI/DW

Année : Team-War Jaafar AMRANI-MESBAHI Fabien GARCIA Abdelali NAIT BELKACEM Rahma NAKARA Philippe NGUYEN

Maîtrise d ouvrage agile

CATALOGUE)FORMATION)2015)

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

DECLARATION ISO/CEI SUR LA PARTICIPATION DES CONSOMMATEURS AUX TRAVAUX DE NORMALISATION

Systèmes de transport public guidés urbains de personnes

Identification du module

LA GESTION DE PROJET INFORMATIQUE

LA GESTION DE PROJET INFORMATIQUE

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

Conduite et Gestion de Projet - Cahier des charges

Formation projet informatique. Expression de besoins, définir un besoin informatique

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

EXIN Agile Scrum Master

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

Processus de Développement Logiciel

ERP5. Gestion des Services Techniques des Collectivités Locales

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

Comprendre ITIL 2011

Isabelle Nicolas

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

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

Scrum et itk : adaptation de la méthode au développement d OAD. D après Henrik Kniberg Scrum et XP depuis les tranchées

- Le Diagramme de Gantt. - Le Diagramme de Pert - La Méthode QQCQCCP - La Méthode MOSI - Cahier des charges fonctionnel

Développement logiciel, Tests et industrialisation

Formation Scrum. 2 jours

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

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

LE CONTRÔLE INTERNE GUIDE DE PROCÉDURES

Guide de Préparation. EXIN Agile Scrum. Foundation

Tableau comparatif des offres Visual Studio

Qualité et Test des Logiciels. Le génie logiciel. Moez Krichen.

Communiqué de Lancement

ExiOuest Résultats de l enquête ExiOuest 2009 sur l'ingénierie des exigences. Enquête en ligne de Juillet à Octobre 2009 sur

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

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Processus de Développement Logiciel

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Annexe sur la maîtrise de la qualité

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

Christophe Leroy Marc Lainez. L Agilité est-elle soluble dans la culture francophone?

Projektron BCS 7.22 Plus qu'un logiciel de gestion de projets

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

Retour d expérience implémentation Scrum / XP

Fiche de l'awt Intégration des applications

CINEMATIQUE DE FICHIERS

Agilitéet qualité logicielle: une mutation enmarche

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

David LUCAS 15/01/10 Ludovic HUET Sébastien LE NECHET Jason JAMOT. Projet BO

Fondateur d Agile Impulse nicolashennion@agileimpulse.com. Support disponible sur agileimpulse.com/formation/scrumssii2j.

NC 06 Norme comptable relative aux Immobilisations incorporelles

Transcription:

Chapitre n 3 : Présentation des méthodes agiles et Scrum I. Généralités sur les méthodes agiles I-1. Définition Les méthodes agiles sont des méthodologies essentiellement dédiées à la gestion de projets informatiques. Elles reposent sur des cycles de développement itératifs et adaptatifs en fonction des besoins évolutifs du client. Elles permettent notamment d'impliquer l'ensemble des collaborateurs ainsi que le client dans le développement du projet. Ces méthodes permettent généralement de mieux répondre aux attentes du client en un temps limité (en partie grâce à l'implication de celui-ci) tout en faisant monter les collaborateurs en compétences. Ces méthodes constituent donc un gain en productivité ainsi qu'un avantage compétitif tant du côté client que du côté du fournisseur. I-2. Les valeurs communes de ces méthodes Les méthodes agiles se reconnaissent toutes dans les valeurs suivantes. a. L'équipe et la communication avant les outils et processus Dans la vision agile, l'équipe est bien plus importante que les outils ou les procédures de fonctionnement. Il est préférable d'avoir une équipe soudée et dont les membres communiquent entre eux, composée de développeurs de niveaux différents, plutôt qu'une équipe composée d'experts qui travaillent de manière isolée. La communication est donc une notion fondamentale dans un contexte de développement agile. b. L'application avant la documentation Il est primordial que le projet fonctionne, c'est la priorité avant toute chose. La documentation technique et les autres outils (de tests, de reporting) constituent une aide précieuse, mais ne sont pas une fin en soi. Une documentation précise est utile comme moyen de communication. Il est parfois préférable de simplement commenter abondamment le code lui-même, et surtout de transférer la totalité des compétences et connaissances du métier à l'ensemble des collaborateurs de l'équipe. c. La collaboration avant la négociation Le client doit être impliqué dans le développement. Le fournisseur ne doit pas se contenter de négocier un contrat au début du projet, puis de refuser l'évolution des besoins du client. Le client doit collaborer avec l'équipe et fournir des comptes rendus réguliers sur l'adaptation du logiciel à ses attentes. Enseignante : Natija BOUZIDI 23

d. L'acceptation du changement et la flexibilité avant la planification La planification initiale et la structure du projet doivent être flexibles afin de permettre les évolutions attendues par le client. En effet, les premières livraisons du projet donnent très souvent suite à des demandes d'évolution. I-3. Le manifeste Agile Le manifeste Agile (ou «agile manifesto» ) est un texte apparu en 2001 et rédigé par 17 experts du développement logiciel. Ce texte reprend les 4 valeurs communes des méthodes agiles et les dérive en 12 principes précisés ci-dessous. 1. La plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. 2. Il faut accueillir positivement les changements et les nouveaux besoins, même lorsqu'ils arrivent tardivement dans un projet. Les processus agiles exploitent la flexibilité au changement afin de fournir un avantage compétitif pour le client. 3. Il faut livrer régulièrement un logiciel opérationnel (utilisable en production) avec des cycles courts (idéalement entre deux et quatre semaines). 4. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble au quotidien et tout au long du projet. 5. Il faut réaliser les projets avec des personnes motivées, leur fournir des environnements adaptés à leur besoin ainsi que le soutien dont ils ont besoin et leur confiance pour atteindre les objectifs fixés. 6. Le dialogue en face à face entre les différents acteurs d'un projet agile est la méthode la plus simple et la plus efficace pour transmettre l'information et la connaissance entre ces derniers. 7. L'aspect opérationnel d'un produit est la principale mesure d'avancement de ce dernier. 8. Les processus agiles doivent amener à un rythme de développement soutenable pour l'équipe et constant (il ne doit pas y avoir de période de forte montée ou baisse de charge de travail ayant des impacts significatifs sur l'équipe). 9. La recherche de l'excellence et de la performance conceptuelle et technique renforce l'agilité d'un produit. 10. Simplifier le travail en minimisant le nombre de tâches inutiles et redondantes est essentiel. 11. Les meilleures solutions logicielles émergent d'équipes auto-organisées tant au niveau de la clarté des spécifications, que de la conception et de la mise en place d'architectures performantes et efficaces. Enseignante : Natija BOUZIDI 24

12. L'équipe doit réfléchir à des moyens, à intervalles réguliers, pour devenir davantage efficace et mettre en pratique ces nouvelles méthodes une fois décidées. II. Présentation de la méthode Scrum II-1. Fonctionnement général de la méthode Scrum La méthode Scrum est une méthode agile, créée en 2002, dont le nom est un terme emprunté au rugby qui signifie «la mêlée». Elle s'appuie sur le découpage des projets en itérations encore nommées «sprints». Un sprint peut avoir une durée qui varie généralement entre deux semaines et un mois. Avant chaque sprint, les tâches sont estimées en temps et en complexité à l'aide de certaines pratiques comme le «planning poker», une manière ludique de chiffrer la complexité des tâches ou évolutions à l'aide de cartes à l'instar du célèbre jeu dont le nom est repris. Ces estimations permettent à la fois de planifier les livraisons, mais aussi d'estimer le coût de ces tâches auprès du client. Les fonctionnalités (encore appelées «user stories») qui font l'objet d'un sprint constituent ce que l'on appelle un «sprintbacklog» du produit éventuellement livrable à la fin du sprint. Il est nécessaire de distinguer le sprint backlog du «product backlog» qui lui correspond à l'ensemble des fonctionnalités attendues pour le produit sur l'ensemble des sprints. La méthode Scrum est aussi caractérisée par une «mêlée» quotidienne, encore appelée «morning» ou «stand-up», dans laquelle les collaborateurs (chefs de projets, développeurs et responsables fonctionnels) indiquent tour à tour les tâches qu'ils ont effectuées la veille, les difficultés rencontrées et enfin ce sur quoi ils vont poursuivre leur travail le jour suivant. Cela permet d'évaluer l'avancement du projet, de mobiliser des ressources là où cela est le plus nécessaire, mais aussi de venir en aide aux collaborateurs rencontrant des difficultés lorsque celles-ci ont déjà été rencontrées auparavant par d'autres membres de l'équipe. Enseignante : Natija BOUZIDI 25

II-2. Les rôles de la méthode Scrum La méthode Scrum définit trois rôles pour un projet. 1. Le product owner : il s'agit du représentant officiel du client au sein d'un projet Scrum. Il est l'interlocuteur principal du Scrum Master et des membres de l'équipe. Il définit les besoins du produit et rédige les spécifications. Il peut se faire aider de responsables fonctionnels pour la rédaction des spécifications. Il est également chargé de définir et prioriser les users stories pour chaque sprint. 2. Le scrum master : il s'agit d'une personne chargée de veiller à la mise en application de la méthode et au respect de ses objectifs. Il ne s'agit pas d'un chef de projet, mais d'une personne chargée de lever les obstacles éventuels qui empêcherait l'avancement de l'équipe et du projet pendant les différents sprints. 3. L'équipe («team members») : ce sont les personnes chargées de la réalisation du sprint et d'un produit utilisable en fin de sprint. Il peut s'agir de développeurs, architectes, personnes chargées de faire des tests fonctionnels III. Avantages/inconvénients des méthodes agiles III-1. Les faux a priori sur la conception et la documentation On vous laisse souvent entendre que les projets développés en agile manquent de documentation et négligent la phase de conception au profit d'un codage rapide? C'est faux : la documentation n'est en effet pas une priorité du point de vue des livrables, mais cela ne signifie pas pour autant qu'elle est totalement absente. Quant à la conception, toutes les méthodes de gestion de projets comportent une phase d'analyse et de conception approfondies. Lors de cette phase, il faut se poser trois grandes questions : Qui? Qui vont être les acteurs du système? Quoi? Que doit faire le système? C'est la phase de spécifications fonctionnelles. C'est dans cette partie que l'on va retrouver toutes les règles de gestion métiers et les cas d'utilisation UML de l'application qui définissent ces spécifications fonctionnelles. Comment? Comment ce système va satisfaire les besoins des utilisateurs. C'est à ce moment que l'on va définir l'architecture, la conception détaillée (diagrammes de classes, scénarios et diagrammes de séquences, modèles conceptuels de données ). Dans le cas de projets développés à l'aide des méthodes agiles, ces questions se posent à chaque itération qui embarque un lot important d'évolutions. Ces itérations passent systématiquement par une mise à jour des différentes documentations (règles de gestion ) qui doit être faite avant le codage. Enseignante : Natija BOUZIDI 26

III-2. Comparaison avec le cycle en V classique Rappelons les différentes phases du cycle en V : Le cycle en V est un des modèles les plus répandus au niveau de la gestion de projet. En observant ces différentes étapes, on peut tirer des méthodes agiles, les avantages suivants : Le «delivery» (livraison d'un produit utilisable) est plus rapide et le produit utilisable très tôt dans le cycle de développement. Cela est dû notamment à la plus grande participation du client (ou du destinataire de l'application lorsqu'il s'agit de développement en interne) qui permet de répondre au plus vite à ses attentes. Mais aussi parce que l'on n'attend pas la réalisation de toutes les fonctionnalités désirées pour utiliser le produit. La maîtrise d'ouvrage (MOA) définit avec l'équipe de maîtrise d'œuvre (MOE) les fonctionnalités les plus prioritaires du système afin d'être utilisées au plus tôt ; Le client a les mains libres. Une fois qu'il juge que le système possède l'essentiel des fonctionnalités nécessaires, il n'est plus obligé de continuer les itérations suivantes. C'est un gain en matière de coût et de satisfaction du client ; Les spécifications sont souples. Lorsque la MOA s'aperçoit que certaines fonctionnalités ne répondent pas aux besoins, une fois les tests de validation ou de recettes réalisés, il suffira de prévoir de nouvelles tâches lors de la prochaine itération. Lorsque le projet est réalisé en suivant les phases du cycle en V, cela nécessite souvent de repartir au niveau des spécifications et de suivre à nouveau pas à pas toutes les étapes, ce qui peut prendre un certain temps et surtout un coût important. Enseignante : Natija BOUZIDI 27

Toutefois, on peut également noter certains inconvénients comme le risque de «surspécification» qui peut favoriser la naissance de projets interminables et donc coûteux. Par ailleurs, le développement en agile nécessite également une grande dynamique et réactivité de la part de l'ensemble des équipes aussi bien du côté MOE que du côté MOA. Par exemple ces derniers devront maintenir des équipes de tests en recette à long terme et qui devront être réactives à chaque livraison ou correction d'anomalie, pouvant générer un coût important. Enseignante : Natija BOUZIDI 28