Méthodes Agiles et gestion de projets



Documents pareils
25/12/2012

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

Méthodes de développement

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

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

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

Les Méthodes Agiles. description et rapport à la Qualité. Benjamin Joguet Rémi Perrot Guillaume Tourgis

Développement itératif, évolutif et agile

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

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

CHAPITRE 3 : LES METHODES AGILES?

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

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

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

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

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

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

Les méthodes itératives. Hugues MEUNIER

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

Agile 360 Product Owner Scrum Master

Gestion Projet. Cours 3. Le cycle de vie

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

Retour d expérience implémentation Scrum / XP

Eclipse Process Framework et Telelogic Harmony/ITSW

Séance 1 Méthodologies du génie logiciel

Jean-Pierre Vickoff

Méthodologies Orientées-Objet!

Jean-Pierre Vickoff J-P Vickoff

Certification Scrum Master

Génie logiciel (Un aperçu)

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

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

Compte-rendu du petit-déjeuner. Vers l entreprise Agile

backlog du produit Product Owner

Scrum Une méthode agile pour vos projets

1. Considérations sur le développement rapide d'application et les méthodes agiles

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

Contrats agiles: mythe ou réalité?

Les méthodes Agile. Implication du client Développement itératif et incrémental

Processus d Informatisation

EXPERTS EN DÉVELOPPEMENT ET MODERNISATION DE LOGICIELS WEB ET MOBILES

Guide de Préparation. EXIN Agile Scrum. Foundation

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

Avant propos. Parcours de lecture : combien de sprints vous faut il?

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

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

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

Scrum + Drupal = Julien Dubois

La solution IBM Rational pour une ALM Agile

Agilitéet qualité logicielle: une mutation enmarche

Présentation UBO 12/2008 Présentation des méthodes agiles

But de cette introduction à la gestion de projets :

Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)

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

Cours Gestion de projet

Maîtrise d ouvrage agile

Méthodologies SCRUM Présentation et mise en oeuvre

XEBIA DÉVELOPPEMENT OFFSHORE DISTRIBUÉ EN MÉTHODES AGILES. CAS CLIENT : CoachClub

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

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

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

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

GL Processus de développement Cycles de vie

Agile Maroc 24 Novembre Méthodes agiles. Thierry Cros. Agile Maroc 24 novembre 2010

Introduction au génie logiciel

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

Plan d action SMB d une Approche Agile de la BITM Pour les PME

L Intégration Continue & Agilité

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

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

Lean, Kanban & Management Visuel

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

Approches Agiles pour éditeurs logiciels

Scrum/XP adapté au BI/DW

Moteur Agile de Projet PUMA. Architecte d une génération d Entreprises performantes. Jean-Pierre Vickoff

MICROSOFT DYNAMICS CRM & O Val

Modernisation et gestion de portefeuilles d applications bancaires

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

EXIN Agile Scrum Master

APPEL À MANIFESTATION D INTÉRÊT

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

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

Gestion de Projet Agile

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

Processus de Développement Logiciel

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

SOCIAL CRM: DE LA PAROLE À L ACTION

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Les Bonnes PRATIQUES DU TEST LOGICIEL

Extreme Programming. Le projet social. Angèle Batanero Thierry Cros. Agile Tour 2010 : XP, le projet social

Analyse,, Conception des Systèmes Informatiques

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

XP : ce célèbre inconnu

Processus de Développement Logiciel

ISTQB Agile Tester en quelques mots ISTQB Marketing Working Group

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

Transcription:

Méthodes Agiles et gestion de projets Eric LELEU Consultant Solutions Collaboratives Contact ericleleu@nordnet.fr Site Personnel http://home.nordnet.fr/~ericleleu Blog http://ericleleu.spaces.live.fr La réussite d'un projet informatique ne passe pas uniquement par la qualité des ingénieurs qui le réalise! Il est indéniable que l'efficience de la méthode utilisée est tout aussi essentielle. Si on considère la gestion de projet, les équipes utilisent depuis de nombreuses années la méthode en "cascade" ou cycle en "V". Les risques de ces méthodes sont connus : retard de livraison, budget dépassé, fonctionnalités développées mais non utilisées,... Pour autant, depuis quelques années, un nouveau concept fait ses preuves : l'agilité. Site SharePoint http://home.nordnet.fr/~ericleleu/sharepoint Plus collaboratives et permettant une plus forte implication des acteurs, les méthodes agiles font leurs preuves en favorisant des relations de confiance et une transparence propices à une meilleure efficacité. Dans un contexte de concurrence où les risques doivent être maîtrisés, tous les axes d'amélioration sont à étudier : la méthodologie de gestion d'un projet en fait donc partie. Personnellement, je propose à mes clients dans le cadre de la gestion de leur projet, un mix entre le cycle en "V" et les méthodes agiles : J'utilise les principes de base des méthodes agiles (Scrum essentiellement) et je les applique en majorité au cycle de développement. Et je dois avouer que cela fonctionne plutôt bien...

Définition : Une méthode agile est une approche itérative et incrémentale, qui est menée dans un esprit collaboratif avec juste ce qu il faut de formalisme. Elle génère un produit de haute qualité tout en prenant en compte l évolution des besoins des clients. Les méthodes Agiles sont des procédures de conception de logiciel qui se veulent plus pragmatiques que les méthodes traditionnelles : En impliquant au maximum le demandeur (client), ces méthodes permettent une grande réactivité à ses demandes, visent la satisfaction réelle du besoin du client et non les termes du contrat de développement. Cette méthode est donc une réponse au malaise et aux difficultés liées aux méthodes de développement traditionnelles : Les individus et les interactions plutôt que les processus et les outils Des fonctionnalités opérationnelles plutôt qu une documentation exhaustive Collaboration avec le client plutôt que la contractualisation des relations Acceptation du changement plutôt que la conformité aux plans Cycle de développement

Avantages L agilité modifie donc notre façon de concevoir des produits, et d envisager un Projet Informatique (notamment en termes d estimation, de planification et de suivi). Les bénéfices sont réels et évidents: Visibilité Vélocité Adaptabilité et réactivité (dimensions clés du «Time to Market») Réduction des risques Qualité Efficacité Méthodes : SCRUM (la plus populaire) Xp (Extrême Programming) DSDM (Dynamic Systems Development Method) ASD (Adaptative Software Development) Il faut tirer profit de chacune des méthodes (prendre les techniques et les pratiques qui nous semblent utiles et les adapter à notre façon de travailler) en gardant soin de respecter ces principes : Mode ITERATIF court Mode Incrémental (livraisons de fonctionnalités opérationnelles à chaque itération) Focus sur les Tests à chaque itération Feedback Client et Utilisateurs

Valeurs Il existe 4 valeurs tirées du Manifeste des méthodes Agiles. L'équipe («Personnes et interaction plutôt que processus et outils») : Dans l'optique agile, l'équipe est bien plus importante que les outils (structurants ou de contrôle) ou les procédures de fonctionnement. Il est préférable d'avoir une équipe soudée et qui communique composée de développeurs (éventuellement à niveaux variables) plutôt qu'une équipe composée d'experts fonctionnant chacun de manière isolée. La communication est une notion fondamentale. L'application («Logiciel fonctionnel plutôt que documentation complète») : Il est vital que l'application fonctionne. Le reste, et notamment la documentation technique, est une aide précieuse mais non un but en soi. Une documentation précise est utile comme moyen de communication. La documentation représente une charge de travail importante, mais peut pourtant être néfaste si elle n'est pas à jour. Il est préférable de commenter abondamment le code lui-même, et surtout de transférer les compétences au sein de l'équipe (on en revient à l'importance de la communication). La collaboration («Collaboration avec le client plutôt que négociation de contrat») : Le client doit être impliqué dans le développement. On ne peut se contenter de négocier un contrat au début du projet, puis de négliger les demandes du client. Le client doit collaborer avec l'équipe et fournir un feed-back continu sur l'adaptation du logiciel à ses attentes. L'acceptation du changement («Réagir au changement plutôt que suivre un plan») : La planification initiale et la structure du logiciel doivent être flexibles afin de permettre l'évolution de la demande du client tout au long du projet. Les premières releases du logiciel vont souvent provoquer des demandes d'évolution.

Principes Ces 4 valeurs se déclinent en 12 principes généraux communs à toutes les méthodes agiles : «Notre première priorité est de satisfaire le client en livrant tôt et régulièrement des logiciels utiles». «Le changement est bienvenu, même tardivement dans le développement. Les processus agiles exploitent le changement comme avantage compétitif pour le client». «Livrer fréquemment une application fonctionnelle, toutes les deux semaines à deux mois, avec une tendance pour la période la plus courte». «Les gens de l'art et les développeurs doivent collaborer quotidiennement au projet». «Bâtissez le projet autour de personnes motivées. Donnez leur l'environnement et le soutien dont elles ont besoin, et croyez en leur capacité à faire le travail». «La méthode la plus efficace pour transmettre l'information est une conversation en face à face». «Un logiciel fonctionnel est la meilleure unité de mesure de la progression du projet». «Les processus agiles promeuvent un rythme de développement soutenable. Commanditaires, développeurs et utilisateurs devraient pouvoir maintenir le rythme indéfiniment». «Une attention continue à l'excellence technique et à la qualité de la conception améliore l'agilité». «La simplicité - l'art de maximiser la quantité de travail à ne pas faire - est essentielle». «Les meilleures architectures, spécifications et conceptions sont issues d'équipes qui s'auto-organisent». «À intervalle régulier, l'équipe réfléchit aux moyens de devenir plus efficace, puis accorde et ajuste son comportement dans ce sens».

Tronc des pratiques communes à l'ensemble des méthodes Agiles 1. Les pratiques communes liées aux ressources humaines Participation de l utilisateur final aux groupes de travail. Groupes de travail disposant du pouvoir de décision. Autonomie et organisation centralisée de l équipe (motivation). Spécification et validation permanente des Exigences. 2. Les pratiques communes liées au pilotage du projet Niveau méthodologique variable en fonction des enjeux du projet. Pilotage par les enjeux et les risques. Planification stratégique globale basée sur des itérations rapides. Réalisation en jalons par prototypage actif itératif et incrémental. Recherche continue d amélioration des pratiques. 3. Les pratiques communes liées à la qualité de la production Recherche d excellence technique de la conception. Vision graphique d une modélisation nécessaire et suffisante. Vision de la documentation nécessaire et suffisante. Normes et techniques raisonnables de qualité du code (métrique). Architecture à base de composants. Gestion des changements automatisée.