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



Documents pareils
Jean-Pierre Vickoff

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

Jean-Pierre Vickoff J-P Vickoff

Framework Agile Global

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

Cours Gestion de projet

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

Dossier Méthodes SOMMAIRE & 2 MENSUEL PUBLIÉ PAR SOC-INFOS

Méthodes de développement

Les méthodes itératives. Hugues MEUNIER

25/12/2012

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

Développement itératif, évolutif et agile

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

Méthodes Agiles et gestion de projets

Génie logiciel (Un aperçu)

Modèle de Solution Agile PUMA. Architecte d une génération d entreprises performantes. Jean-Pierre Vickoff TMF. Teamlog Methodology Framework

Scrum Une méthode agile pour vos projets

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

Eclipse Process Framework et Telelogic Harmony/ITSW

Agile 360 Product Owner Scrum Master

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

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

AGILE Historique et évolution

PUMA - PROCESSUS URBANISANT LES METHODES AGILES

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

Analyse,, Conception des Systèmes Informatiques

CHAPITRE 3 : LES METHODES AGILES?

Introduction au génie logiciel

GL Processus de développement Cycles de vie

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

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

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

CINEMATIQUE DE FICHIERS

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

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

STRATEGIE, GOUVERNANCE ET TRANSFORMATION DE LA DSI

CATALOGUE)FORMATION)2015)

Architecture d'entreprise : Guide Pratique de l'architecture Logique

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

Gestion Projet. Cours 3. Le cycle de vie

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

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

étude de rémunérations

Réussir le choix de son SIRH

Maîtrise d ouvrage agile

Maîtriser les mutations

Qu'est-ce que le BPM?

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

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

Cisco Unified Computing Migration and Transition Service (Migration et transition)

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

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Pour une entreprise plus performante

IBM Business Process Manager

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

Garantir une meilleure prestation de services et une expérience utilisateur optimale

Plateforme STAR CLM. Gestion intégrée des réseaux multilingues d entreprise

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

Comprendre ITIL 2011

Le Guide Pratique des Processus Métiers

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

Modèle Cobit

AXIAD Conseil pour décider en toute intelligence

Business Process Design Max Pauron

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Le management de projet

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

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

White Paper ADVANTYS. Workflow et Gestion de la Performance

Introduc)on à l Agile

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

Retour d expérience implémentation Scrum / XP

Conception, architecture et urbanisation des systèmes d information

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

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Guide de Préparation. EXIN Agile Scrum. Foundation

2. Activités et Modèles de développement en Génie Logiciel

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

C ) Détail volets A, B, C, D et E. Hypothèses (facteurs externes au projet) Sources de vérification. Actions Objectifs Méthode, résultats

backlog du produit Product Owner

Conservatoire national des arts et métiers - Centre de Marne la Vallée L'ITIL : Un référentiel pour la qualité des systèmes d'information

Business Process Modeling (BPM)

Alignement stratégique du SI et gestion de portefeuille de projets

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

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise.

Modernisation et gestion de portefeuilles d applications bancaires

Chapitre I : le langage UML et le processus unifié

Méthodologies de développement de logiciels de gestion

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

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

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

ITIL V3. Transition des services : Principes et politiques

Tuesday, October 20, Nantes

BOOK REFERENCES ERGONOMIQUES Gfi Informatique

Chapitre 1 : Introduction aux bases de données

Process 4D Catalogue de formations 2011

L entreprise prête pour l informatique en nuage Élaborer un plan et relever les principaux défis

La pratique de l ITSM. Définir un plan d'améliorations ITSM à partir de la situation actuelle

Transcription:

PUMA Architecte d une génération d Entreprises performantes Jean-Pierre Vickoff www.rad.fr

Sommaire du Moteur de Projet Agile Evolution du courant de pensée Agile... 3 Historique de PUMA... 5 PUMA un framework global d entreprise Agile... 6 Gestion Agiles des risques... 7 Pratiques communes aux méthodes Agiles... 9 Pratiques différenciatrices des méthodes Agiles... 10 Le concept fondateur de PUMA... 11 Le cycle de projet PUMA... 12 La boite à outils de PUMA... 13 Les fondamentaux... 14 La conduite basique... 16 Communication... 16 Exigences... 17 Solution... 18 Réalisation... 18 Les extensions de pilotage... 19 Préparation du projet... 20 Contrôle du projet... 20 Les extensions projets spécifiques... 21 Les spécialisations (BPM SOA)... 25 Processus (BPM)... 25 Architecture (SOA)... 26 Les 12 pratiques «qualité» de XP... 27 Emprunt à Scrum... 31 Usage des techniques Agiles... 31 Autres aspect techniques du développement Agile... 32 Les techniques de modélisation Agile... 32 Le concept de documentation Agile... 32 CRC CARDS (selon Thierry Cross)... 33 La qualité Agile... 34 Fanatiques de la performance... 36 Jean-Pierre Vickoff www.entreprise-agile.com 2

Evolution du courant de pensée Agile En 1986, Barry W. Boehm présentait un nouveau modèle de développement itératif et incrémental. En 1991, James Martin (RAD), s appuyant sur cette vision d une évolution continue, proposa une méthode de développement rapide d application. Sa structure, base des approches actuelles, déterminait le phasage essentiel et initiait un principe adaptatif fondé sur la validation permanente des utilisateurs. À partir de 1994, Jean-Pierre Vickoff en France, notamment avec le Processus RAD2 publié par le Gartner Group, et Jennifer Stapleton en Grande-Bretagne, avec DSDM, introduisirent des compléments tels que : la spécialisation des rôles, l instrumentation des communications, l organisation des divers types de réunions, le groupe de facilitation et de rapport, les «raccourcis méthodologiques» de modélisation, l architecture de réalisation (imbrication des itérations), la formalisation de processus légers de mise en œuvre. Dans la seconde moitié des années quatre-vingt-dix, une vague d une dizaine de méthodes (dont extrême Programming et Scrum sont les principales représentantes) poussa à l extrême certaines pratiques de qualité de la construction applicative ainsi que les techniques adaptatives d estimation, de planification et de pilotage de projet. Il aura fallu près de vingt ans au mouvement Agile, parallèlement à la pression de la mondialisation, pour bousculer vraiment la conduite de projet classique. Désormais, le futur de l agilité méthodologique se trouve certainement, d une part, dans l instrumentation et la personnalisation «à la carte» des pratiques essentielles pour un contexte spécifique et, d autre part, dans son élargissement à tous les aspects de l Agilité organisationnelle. L objectif de PUMA est de formaliser un des possibles de cette anticipation. Jean-Pierre Vickoff www.entreprise-agile.com 3

En pointillé se matérialise le futur probable des méthodes Agiles. Le développement d un logiciel ou d un site instrumentant l outil de transfert de connaissances représenté par My Méthode peut aisément faire l objet d un projet «étudiant». Il aurait en outre l avantage de porter sur les pratiques même de la conduite de projet Agile. Jean-Pierre Vickoff, qui fournira les éléments techniques (principes, images, icones) en Anglais et en Français à partir du site Agile-Entreprise.com, lance à ce sujet un appel aux universités et écoles du monde entier : «Participez, soyez Agiles!» Jean-Pierre Vickoff www.entreprise-agile.com 4

Historique de PUMA En septembre 2001, Jean-Pierre Vickoff, un des pionniers du courant de pensée Agile en matière de SI et son initiateur francophone, rédige la communication initiale traitant de PUMA. Sa traduction est alors expédiée aux tenants du mouvement Agiles et aux universités américaines. En décembre 2001, Développeur Référence (IDG) utilise le graphisme du PUMA (Proposition pour l'unification des Méthodes Agiles) en couverture d'un numéro qui consacrait un dossier à l ébauche de cette vision Agile novatrice. La communication est ensuite reprise en 2002 par de nombreuses publications, dont : ADELI, Forum Logiciel, LMI, etc. À l'époque, PUMA exprimait déjà ainsi sa vision de l'agilité : «Après avoir déterminé le tronc des pratiques communes et les pratiques différenciatrices de chaque approche, la méthode Agile unifiée se composerait d'une sélection optimale des pratiques communes auxquelles il conviendrait d'ajouter la ou les pratiques spécifiques judicieuses en fonction du contexte.» Il semblerait que l'idée initiale de PUMA n'était pas mauvaise, puisque Ivar Jacobson a annoncé en 2006 EssUp (Essential Unified Process) «une méthode de développement basique qui sera enrichie de pratiques additionnelles en fonction des besoins du projet». Depuis, Jean-Pierre Vickoff à élargi le scope de PUMA (devenu Processus Urbanisant les Méthodes Agiles) en ajoutant deux couches supérieures pour couvrir l'ensemble des aspects d'adaptation organisationnelle ainsi que d anticipation et d'optimisation des processus. Car, sans prendre en compte ces points, il n'y a pas d'entreprises ou d'organisations vraiment Agiles. Représentant une avancée significative et un élargissement du scope de l agilité organisationnelle, les principes de PUMA font l objet de diverses publications en français et en Anglais sur le site de l Agile Alliance. Jean-Pierre Vickoff www.entreprise-agile.com 5

PUMA un framework global d entreprise Agile Cette communication fait suite à celle qui présentait globalement la méthode PUMA (Processus Urbanisant les Méthodes Agiles). PUMA est un cadre dynamique d évolution des processus métier, des systèmes d informations et des modes collaboratifs. En s appuyant sur les fondements du mouvement Agile et les standards techniques qu'il intègre et fédère, PUMA représente la première formalisation d un modèle Agile et global d Entreprise, couplé à un moteur de projets, par l intermédiaire d un modèle de solution. Ce modèle étant conçu en regard du nouvel ordre des classes d exigences actuelles et aux impératifs du principe itératif incrémental. Le Moteur de Projet Agile est un des 3 composants de PUMA. Plus précisément, il en est le composant de mise en œuvre opérationnelle. En modélisant des structures génériques de haut niveau applicables à toutes organisations, PUMA a pour ambition de réduire la complexité de leur pilotage. Si un professionnel face à la solution PUMA pense immédiatement «c est naturellement évident, je l avais déjà en tête, mais je n avais jamais eu le temps de le formaliser», alors le défi de l Agilité sera relevé. Figure 1. PUMA Processus Urbanisant les Méthodes Agiles Jean-Pierre Vickoff www.entreprise-agile.com 6

A ce jour, une dizaine de méthodes répondent aux permettant de se réclamer du qualificatif d'agile. Point commun, elles positionnent dès le début du projet, une équipe réduite, composée d'un personnel homogène de type «concepteur-développeur», directement dans l'espace d'une solution validée en permanence par la présence de l'utilisateur réel. ADAPTATIVES Livraison de fonctionnalités Collaboration étroite avec le client Accueil du changement Ressources humaines et communication RAD DSDM Crystal, Scrum, XP, ASD, FDD 2TUP RUP «Cascade» Planification rigide Négociation de contrat Documentation et modélisation excessives Processus et outils PRÉDICTIVES Figure 2. Adaptabilité ou prédictibilité des méthodes Gestion Agiles des risques Comparer une méthode de conduite de projet classique avec une méthode Agile sous l'angle de la gestion du risque projet (délais, qualité, etc.), peut être édifiant pour un cartésien. L'approche classique tente de réduire les risques par une démarche spécifique et déterministe dont les coûts préventifs (analyse, détection, suivi et correctif) ne sont pas négligeables. Les méthodes Agiles totalement pragmatiques, s'appuient sur la compétence des équipes de développement qu'elles engagent dans des pratiques permanentes orientées performance et validation afin d'éviter naturellement la concrétisation du risque. Toutes les méthodes se situent concrètement à divers degrés sur une échelle les positionnant de la plus prédictive à la plus adaptative. Si l'on souhaite disposer d'une vision du champ d'application des diverses méthodes actuelles, il est nécessaire de les répertorier en fonction de ces critères (figure 2). Les différences ainsi mises en exergue justifient alors l'analyse fine de l'environnement du projet et du type de l'application afin de déterminer quels aspects de la méthode permettront de limiter les risques ainsi révélés et quels niveaux de service méthodologique et de qualité applicative seront mis en œuvre. Le paradigme des méthodes classiques est la prédictibilité. Le paradigme des méthodes Agiles est l'adaptabilité. Jean-Pierre Vickoff www.entreprise-agile.com 7

Soyons clair : aucune approche n'est réduite à une seule de ces visions. Toutes tentent de composer avec la contradiction d'une souple rigidité avec plus ou moins de finesse et avec plus ou moins de succès en fonction du contexte : Les méthodes prédictives tentent de réduire l'incertitude dès le début du projet par une planification très précise et très détaillée. Cette levée de risque implique que les exigences de l'application soient figées. Les méthodes Agiles préfèrent, partant d'une planification initiale, réévaluée régulièrement, s'adapter aux évolutions du contexte. La réévaluation servira de base à une prise de décision de type GO ou NO GO (figure 3) à chaque grand changement appliqué au projet initial. CADRAGE DESIGN Expression des besoins Première estimation Spécification générale Affinements de l'estimation, + contraintes & dépendances Recherche de solutions techniques Conception détaillée et réalisation simultanée Information CONSTRUCTION Suivi de la réalisation Action ou adaptation Figure 3. Processus permanent d'évaluation / décision Un des points significatifs du concept Agile implique des ressources rationnellement motivées focalisées sur le service à rendre et non plus sur le produit à réaliser. L Agilité crée alors une véritable dynamique d'équipe qui séduit à la fois le client et les développeurs : le client retrouve un rôle central dans le développement, et les développeurs participent à tous les aspects du développement et travaillent véritablement en équipe. En matière d Agilité et de cycle Itératif-incrémental, la notion de planification est le plus souvent mal comprise. Toutes les méthodes Agiles sont en fait semi-itérative et débute par une étape d exploration du problème et de planification de sa solution. Que l étape s intitule Release Planning au niveau du projet, Planning Game au niveau d une release, ou Standing Meeting au niveau d une journée ou d un Jalons Zéro-Défaut, ne change rien au principe que l adaptabilité doit rester sous contrôle. Une approche Agile est par essence adaptative, elle accepte le changement mais en mesure les conséquences. Selon le contexte, le changement et son acceptation se présentent avec plus ou moins d acuité et les négociations sont plus ou moins importantes ou formelles. Dans tous les cas, la remise en cause du plan initial (le Contrat projet) nécessite une nouvelle évaluation et une nouvelle planification donnant lieu à un échange gagnantgagnant. Les taches concernant les fonctionnalités à introduire ou à modifier sont alors planifiées selon leur priorité, repoussant (vers le bas de la pile ou dans un autre contrat Jean-Pierre Vickoff www.entreprise-agile.com 8

projet) les fonctionnalités les moins importantes. Cette négociation consensuelle implique une capacité d évaluation objective des tâches à introduire ou à déporter ainsi qu un outillage Agile de Gestion de configuration. Bien que similaires de par leurs principes et leurs pratiques communes, les méthodes Agiles offrent des couvertures plus ou moins complètes en regard des préoccupations génériques d'un chef de projet : Respect de l'urbanisation (positionnement du projet dans le système d'information) Pilotage (gestion des ressources, planning, suivi, qualité, reporting, visibilité) Ingénierie de l'application (gestion Exigences, conception et développement, validation) Conduite du changement (impacts organisationnels et déploiement) Toute la difficulté du choix de la bonne méthode en fonction du contexte général de l application ou du contexte projet réside d ailleurs en cela. En sélectionnant les meilleures pratiques Agiles dans la compréhension d un niveau méthodologique variable en fonction du projet, PUMA offre à cette préoccupation une réponse homogène et progressive aussi puissante qu élégante. Pratiques communes aux méthodes Agiles Le tronc des pratiques communes des méthodes Agiles est le suivant : 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. Jean-Pierre Vickoff www.entreprise-agile.com 9

Pratiques différenciatrices des méthodes Agiles Seules quelques techniques complémentaires entre elles, ou mieux adaptées à des typologies et à des tailles de projets spécifiques, les différencient. Passons maintenant en revue les pratiques différenciatrices les plus marquantes. La méthode DSDM se particularise par la spécialisation des acteurs du projet dans une notion de "rôles". Ainsi, l'on trouvera dans les réunions DSDM, des sponsors exécutifs, des ambassadeurs, des utilisateurs visionnaires, des utilisateurs conseillers, sans oublier l'animateur - facilitateur et des rapporteurs. La méthode SCRUM affirme sa différence dans des pratiques de courtes réunions quotidiennes. Ces temps de travail commun ont pour objectifs d'améliorer la motivation des participants, de synchroniser les tâches, de débloquer les situations difficiles et d'accroître le partage de la connaissance. Pour FDD, la particularité nommée Mission focused réside dans une forte orientation vers un but immédiat mesurable. C'est en fait l'ambition globale d'une itération qui se trouve ainsi renforcée. Cet aspect se retrouve aussi dans le RAD sous la forme des objectifs de Focus ou dans Scrum dans la notion de Sprint. FDD préconise le Features Driven Development. Cette technique se caractérise par des notions de Feature et de Features set (fonctionnalités et groupe de fonctionnalités). La priorité est donnée aux fonctionnalités porteuses de valeur. Le RAD propose des techniques proches : livraison en fonctionnalité réduite ou livraison par thème. XP est très axée sur la partie Construction de l'application. Une de ses originalités réside dans l approche de planification qui se matérialise sous la forme d un jeu intitulé planning game et qui implique simultanément les utilisateurs et les développeurs. On notera aussi des techniques particulières liées à la production du code comme la programmation en binôme, l'appropriation collective du code, le refactoring et l'intégration continue. La méthode RAD préconise dans ce sens des revues de code personnelles, puis collectives et l'intégration avant chaque Focus. Par contre, le RAD limite la programmation en binôme aux parties les plus stratégiques 2TUP préconise un cycle de vie en Y qui dissocie et parallélise la résolution des questions fonctionnelles et techniques. Le cycle de vie de 2TUP s'apparente à un cycle en cascade mais introduit une forme itérative interne à certaines tâches. Il n'est pas certain que ce cycle s'apparente réellement à une approche Agile. Par contre, 2TUP préconise des formes de recherche de qualité et de performance intéressantes telles que les services réutilisables et la conception générique (Framework et Design pattern) proches des mécanismes architecturaux de RUP. RUP se caractérise par une approche globale nommée «Vue 4+1». Les 5 composants de cette vue sont : la vue des Cas d'utilisation, la vue Logique, la vue d'implémentation, la vue du Processus, la vue du Déploiement. RUP offre aussi, à l'identique du RAD, un Processus guide formel et adaptable comme guide d'activité. Dans le cas de RUP, il est malheureusement propriétaire et orienté outil. Le plus sérieux apport du RAD à la communication de projet et à la formalisation des exigences applicatives est le Groupe d'animation et de Rapport (GAR). Le RAD préconise la formation d'une équipe de développement particulière, le SWAT. Cette Jean-Pierre Vickoff www.entreprise-agile.com 10

équipe est autonome, spécialement formée, concrètement motivée et outillée. Elle se compose essentiellement d'un profil unique de concepteurs-développeurs formés à des spécialités techniques complémentaires. Le SWAT travaille avec les utilisateurs dans une salle permanente spécialement équipée formant un plateau de communication (salle RAD). Le RAD recommande aussi la variabilité de la taille et de la maturité des groupes de travail en fonction des phases du projet afin d'optimiser l'engagement des ressources et de préserver leur intérêt par un travail adapté à leurs préoccupations. L'organisation performante des réunions est basée sur un mode opératoire des entretiens (sessions en 3 étapes) et sur des techniques de validation permanente. Toute méthode de conduite de projet devrait inclure un mode opératoire pour les arrêts d'urgence. Pourtant, l'étude des plus anciennes méthodes prédictives semble mener à un constat d'optimisme : les auteurs n'ont jamais connu l'échec et leurs disciples doivent suivre cette voie. Sur ce point la force du RAD se situe dans la présence d'un animateur-facilitateur. Cette ressource, de préférence externe, doit être neutre en regard des autres intervenants. Elle répond à une autorité supérieure à tous les participants du projet. Ainsi, lorsque le contexte stratégique, économique ou technique d'un projet évolue, ou si les conditions de réalisation se dégradent, l'animateur reporte le problème au dirigeant qui l'a mandaté. Ce dernier peut alors prendre dans les meilleurs délais et avec des informations objectives les décisions qui s'imposent. Le concept fondateur de PUMA Une fois les pratiques communes isolées des pratiques différenciatrices il est aisé d'imaginer ce que devrait être la méthode optimale en fonction d'un type particulier de projet : La méthode Agile optimale se composerait de l'ensemble ou d'une sélection des pratiques communes auxquelles il conviendrait d'ajouter la ou les pratiques spécifiques judicieuses en fonction du contexte. L'ensemble de ces aspects s'inscrivant obligatoirement dans un niveau variable de service méthodologique. Voici posées les bases du Moteur de Projet PUMA. Pour optimiser son usage, la compréhension du projet et de son environnement de contraintes est indispensable. Figure 4. Une approche "à la carte" Jean-Pierre Vickoff www.entreprise-agile.com 11

Le cycle de projet PUMA Figure 5. Le cycle itératif fondamental Figure 6. Une vision technique des itérations (Microsoft) Jean-Pierre Vickoff www.entreprise-agile.com 12

La boite à outils de PUMA Figure 7. PUMA est lui même incrémental Le moteur de projet PUMA se compose de 3 niveaux de pratiques Agiles. Les deuxième et troisième strates répondant à des besoins de projets de plus en plus conséquents ou spécialisés. Le premier niveau comporte les principes fondamentaux Agiles déclinés en pratiques utilisables et un socle de base répondant aux besoins d un projet basique. Ce socle peut simplement comporter les 12 pratiques de l extrème Programming ou être enrichi de quelques pratiques complémentaires spécifiques à PUMA, comme par exemple l emploi des Techniques de communication facilitées ou du Moteur de solution Agile pour l expression des exigences. Le second niveau introduit deux groupes de pratiques légères de Pilotage de projet. Il correspond généralement à des projets plus conséquents demandant un contrôle ou une visibilité accrue. Le troisième niveau permet de choisir «à la carte» dans 15 pratiques complémentaires, parfois complexes dans leurs versions classiques mais spécialement «Agilisées» pour PUMA. Jean-Pierre Vickoff www.entreprise-agile.com 13

Les fondamentaux Principes Ce sont les déclinaisons opérationnelles des quatre valeurs fondamentales Agiles et des quatre principes fondamentaux Agiles : collaboration, interaction et négociation avec l utilisateur, livraisons fréquentes, validation permanente, etc. Aussi simples que cela puisse paraîtres, la mise en œuvre opérationnelle de ces modes collaboratifs requière expérience et ténacité au quotidien. Méthode Toutes les méthodes Agiles sont en fait semi-itérative et débute par une étape d exploration du problème et de planification de sa solution. C est ensuite que le choix adéquat du niveau d Agilité méthodologique sera fixé. Cette souplesse permet à PUMA d offrir une solution adaptée quelque soit le type ou l importance du projet. Jean-Pierre Vickoff www.entreprise-agile.com 14

Structure Toutes les méthodes Agiles, dont PUMA, s appuient sur un cycle comportant 3 phases principales plus ou moins accentuées : Exploration du problème et de la solution envisageable en regard des contraintes, Conception globale de la solution, Obtention de la Solution. Des clés de planification globale sont spécifiques à chaque approche (Agiles, RUP, ). Jalons La maitrise de la dimension temporelle des itérations est capitale. C est sur ce point de contrôle que la pertinence des méthodes Agiles en matière de gestion de projet se joue. Plusieurs modèles proposant des ancrages liés aux différents types de contraintes du projet sont disponibles et calibrés. Livrables Les divers livrables sont dépendant du type du projet et de la culture de l organisation. L important étant de respecter les fondements de l Agilité : ce qui est utile et juste nécessaire. Extension XP Portant la programmation au rang d'une discipline collective, l'extrême Programming propose un ensemble cohérent de 12 techniques apportant des solutions à la grande majorité des problèmes de performance et de qualité en matière de développement d application. Réparties en 3 groupes (collaboration, conduite de projet, qualité de réalisation), ces pratiques sont traitées en annexes. Jean-Pierre Vickoff www.entreprise-agile.com 15

La conduite basique Communication Equipes L ensemble des ressources impliquées par le plan de communication interviennent simultanément dès le début réel du projet. Le but est d obtenir une compréhension simultanée du problème par tous les acteurs et d aboutir à la création d un espace de connaissance homogène. Cette approche permet aussi d éviter une déperdition d énergie liée aux répétitions ainsi que des risques d erreurs, de redondance ou de divergences liées à de multiples formulation. La compréhension des intervenants est globale et unique. Engagement Afin d optimiser l engagement des ressources, le plan de communication applique aux groupes de travail un principe de variabilité selon la phase ou la profondeur de l itération. Ainsi, la présence de cadres de haut niveau, indispensable lors du cadrage des enjeux ou lors de reconfiguration de processus, ne sera plus sollicitée lors des phases de spécification de détail. Jean-Pierre Vickoff www.entreprise-agile.com 16

Réunions Exigences Structures Un mode de travail collectif caractérise les entretiens, lesquels requièrent une participation intensive des utilisateurs. Le mode opératoire des communications est structuré en 3 étapes : présession, session, post-session. Ces pratiques ont pour but d obtenir une formalisation en direct et une validation immédiate des exigences exprimées. Elles nécessitent, outre la présence impérative des intervenants «pour action» du plan de communication (empowerment réel), la disponibilité d un environnement de travail isolé et instrumenté. La structure d expression des besoins prend en compte 4 classes d exigences applicables à 4 niveaux de préoccupation : stratégie et contraintes de réalisation, fonctionnel, technologique, organisationnel. Selon l avancement du projet les Exigences sont exprimées de plus en plus précisément. Cette approche itérative incrémentale se réalise dans un document unique sur quatre niveaux de profondeur. Formalisation Priorisation Une formalisation minimale est toujours nécessaire. Elle peut se contenter d une fiche papier (CRC carte ou user story) comme XP le préconise, d un document plus conséquent, d une modélisation formelle, ou d un mixte de ces techniques. L important étant de respecter les fondements de l Agilité : ce qui est utile et juste nécessaire. Les opérations de hiérarchisation des besoins ou de priorisation des fonctionnalités sont de la responsabilité de la MOA mais font l objet d un planning game avec la MOE qui dispose des connaissances permettant de mettre en évidence des dépendances techniques. Cette pratique se matérialise par des choix de développement (par thèmes utilisables ou par stabilité temporelle des composants). Jean-Pierre Vickoff www.entreprise-agile.com 17

Solution Recherche IL n est plus raisonnable de se précipiter dans un développement complètement spécifique. La pratique ««Solution de pointe (Spike Solution) couvre une étape d'exploration (souvent sur Internet) des possibilités technologiques disponibles ou émergentes (Progiciel, Composants, Open source, etc.). Modélisation L Agilité impose au pilote de projet de conserver à l'esprit que l'objectif est une application et non de multiples modèles. Un courant de pensées simplificateur, l'agile Modeling, considère la modélisation à outrance comme inadaptée aux projets sous fortes contraintes de temps ou d'argent. Il propose une optimisation de l usage des modèles en fonction du contexte. Architecture Conseils pour l identification de la granularité optimale et socle normatif de développement. Exemple SOA (une approche de conception et de construction de services sous la forme de briques applicatives indépendantes). L avantage est de produire des composants simples, modulaires et faiblement couplés, donc permettant de recomposer rapidement l agencement applicatif des fonctionnalités qu ils assurent. Réalisation Construction Architecture de réalisation sécurisée et préparation d un Show de Construction. Point important : définir pour chaque phase, le nombre d itérations et leur contenu précis. L Architecture de réalisation orchestre l ensemble des «best practices» de PUMA et/ou d XP. Le principe ouvert et adaptatif, assure néanmoins formellement le contrôle des itérations ainsi que le respect des pratiques de qualité fonctionnelles et techniques. Jean-Pierre Vickoff www.entreprise-agile.com 18

Configuration Livraison La GCL gère l'état des composants, maîtrise la traçabilité des changements et garantie des jalons de restauration. La GCL gère des tâches et des espaces de travail multiples, permet de paralléliser avec cohérence des activités de développement, de partager des fichiers et d'isoler des éléments spécifiques à certaines tâches. Même pour de petites équipes, l usage d un outil de GCL est devenu indispensable. Les livraisons fréquentes qui permettent le feedback et la validation permanente sont une des pratiques les plus importantes de l Agilité. Le client attend à période fixe une version exécutable, en fonctionnalité réduite mais dotés d un certains nombre d incréments planifiés. Le non respect du planning game est immédiatement rendu visible. Les livraisons fréquentes permettent dans certains cas un ROI accéléré. Les extensions de pilotage Jean-Pierre Vickoff www.entreprise-agile.com 19

Préparation du projet Estimation Travaillant sur une base unique de connaissances partagées obtenue lors d un travail commun de compréhension et de validation, les décisions de poursuite de l action (GO & NoGo) sont prises collectivement dans un mode gagnant-gagnant protégeant aussi bien les intérêts du projet que ceux de la solution. Planification Stratégie de développement A partir des exigences, de l estimation de charge, du modèle de répartition de la méthode de développement choisie et des délais, une planification est envisagée. La décomposition doit atteindre un niveau de finesse suffisant pour l individualisation des travaux. Il est ensuite possible d organiser ces tâches par niveaux de regroupement afin de faciliter la réalisation de tâches en parallèle ou le lotissement, qu il soit temporel ou contractuel. Les contraintes logiques, temporelles et les dépendances entre activités sont ensuite introduites. Contrôle du projet Suivi La planification d un projet Agile est fondamentalement différente de celle d un projet classique. Une pratique de simulation et d optimisation en matière de choix stratégique de planification permet de faire évoluer des scénarios en fonction des diverses contraintes du projet (délais, coût, périmètre, qualité, visibilité, risque). L intérêt principal de cette pratique réside dans la mise en évidence immédiate des incidences de chaque option antagoniste envisagée. A période fixe, pouvant être journalière, des opérations de contrôle permettent de saisir l engagement des ressources en regard de l avancement réel des travaux L objectif est d obtenir et une vision du projet permettant de vérifier son avancement et l adéquation de la production avec les objectifs planifiés quantitatif. Cette activité est un élément de la pratique Suivi et supervision de projet du CMM Jean-Pierre Vickoff www.entreprise-agile.com 20

Monitoring Reporting Pour le suivi de projets conséquents ou spécifiques, des indications portant sur l évolution des risques peuvent être ajoutées. Parfois, les éléments d une métrique qualité sont présentés. Ils peuvent concerner la qualité technique du produit (par exemple l évolution du nombre d erreurs corrigées et non corrigées) ou sa qualité fonctionnelle (nombre de correctifs ayant pour origine le client). Un tableau de bord pouvant être une sous-partie d un ensemble plus vaste englobant les activités d une DSI est produit pour présenter les indicateurs permettant aux responsables du projet et aux comités de pilotage de prendre les décisions appropriés à sa poursuite, son recadrage ou son arrêt. Les extensions projets spécifiques Jean-Pierre Vickoff www.entreprise-agile.com 21

Facilitation AMOA Les méthodes Agiles s appuient sur des pratiques de communication rapprochant les informaticiens des utilisateurs. Des techniques permettent d animer les réunions et de faciliter les prises de décision. A l occasion de contexte difficile des experts peuvent être engagés pour accompagner les actions difficiles. PUMA propose aussi un modèle de Facilitation Neuro Agile des modes Collaboratifs. Prototypage Une équipe projet Agile est composée de l ensemble des parties prenantes : représentants des MOA et des MOE ainsi que les éventuels Experts et des utilisateurs réels (eux-mêmes considérés comme des experts de leurs activités). Cet engagement ainsi que sa forme et ses conditions sont formalisés dans un document intitulé «Plan de Communication du projet». Documentation En prototypage de Construction de la solution, les entretiens peuvent être fondés sur une communication faiblement structurée lorsque : la disponibilité des utilisateurs est régulière, qu ils acceptent le planning game et le mode de spécificationcodage-test, des itérations rapides (jusqu à 2 / jours). La pratique principale à respecter consiste à toujours laisser l'utilisateur manipuler son application pour la valider. A chaque itération ou étape (généralement des phases ou des jalons) et pour chaque préoccupation, un document de structure unique (basé sur les 4 classes d Exigences) est utilisé pour la formalisation des informations. Dans ce formalisme unifié, les seules distinctions se remarqueront par l importance prise par l une ou l autre des classes de préoccupations ou leur niveau d approfondissement. Risques Le pilotage consiste à répertorier et analyser les risques pouvant affecter le déroulement du projet et les événements susceptibles d en déclencher l apparition. Le plan d action consiste ensuite à mettre en œuvre des actions préventives, à surveiller l évolution et la matérialisation du risque, et à engager, si nécessaire, des actions curatives. Le niveau de pilotage des risques est dépendant du type de projet. Jean-Pierre Vickoff www.entreprise-agile.com 22

Processus PAQ La notion de processus formalisé est à la base de toutes les approches standardisées de maitrise du risque projet (comme CMM). Sans introduire un processus lourd dans un mode Agile, s appuyer sur une Check-list des actions ou pratiques usuelles pour déterminer celles qui semblent être pertinentes dans le contexte s avère généralement une aide utile aux divers acteurs d un projet. Business Plan La qualité classique impose une obligation et une formalisation de moyens mais ne précise pas pour quel résultat. La qualité Agile propose une obligation de résultat mais requière une autonomie de moyens. La notion de normes de qualité est aussi un principe avec lequel l agilité est souvent confrontée. PUMA propose un Plan d Assurance Qualité Agile compatible de par sa structure avec les recommandations CMM et ISO. Lorsque le groupe projet doit justifier son budget par un retour sur investissement formalisé. Ce modèle super léger de plan d investissement guidera les acteurs impliqués dans la justification. Est traité ici le minimum des pratiques économiques, budgétaires et comptables dont un chef de projet doit avoir idée. Modèle BPM Le BPM s appuie sur la modélisation métier pour optimiser et adapter l ensemble des activités. En remodelant l organisation autour des processus composant le cœur de l organisation, le BPM s impose comme le levier principal de la performance opérationnelle. Les projets de BPM font l objet d une option de la conduite de projet PUMA. Sondage Qualité Permet de mesurer des informations non chiffrables automatiquement comme par exemple le niveau de satisfaction générale des utilisateurs en regard de la communication, l impact de mesures de correctifs antérieurs (ergonomie de l interface, conformité aux besoins, complétude fonctionnelle, niveau de documentation, etc.). Jean-Pierre Vickoff www.entreprise-agile.com 23

Solution de pointe NewsLetter Dans un projet, 7 couches éventuellement externalisables, composent l ensemble de la solution. L équipe s ouvre à toutes les possibilités concurrentes et les envisage comme des moyens de remplir sa mission L objectif de ce choix est d obtenir la meilleure qualité au meilleur coût, dans le meilleur délai en fonctions des contraintes imposées. Une communication de projet régulière et transparente caractérise le mode de pilotage Agile. Cette pratique propose des moyens de communication adaptés à la taille des projets. Standards techniques Les standards sont un élément clé des projets de SOA et de BPM. Cette pratique répertorie les divers protocoles SOAP, WSDL, UDDI, WS-x, BPMN, BPEL, etc. et tout ce dont vous avez besoin pour modéliser et orchestrer des processus ou développer des services web. Plateau virtuel Dans la pratique quotidienne des projets, et plus particulièrement encore lorsque les équipes sont éclatées, les participants ont besoin d'un moyen formel de communication leur permettant un travail de groupe. La plate-forme de travail collaboratif virtuelle s'affirme alors comme le moyen d'expression privilégié de la communication. CMMi TSP-PSP L Agilité et la normalisation sont des courants d objectif identique mais philosophiquement opposé dans son obtention. Cette pratique réalise un mapping entre les pratiques Agiles et les pratiques de CMM, TSP, PSP. Jean-Pierre Vickoff www.entreprise-agile.com 24

Les spécialisations (BPM SOA) Des pratiques standards mais «Agilisées» Processus (BPM) Configuration processus Optimisation processus Le concept fondamental est la réorganisation complète du processus de travail et de la division des tâches afin d'en réduire le temps et les efforts. Consiste à analyser le bienfondé des procédures en fonction de la finalité reconsidéré des missions de l organisation. Moyens : rationaliser les activités, réduire les délais, améliorer la réactivité, réduire ses coûts, améliorer la qualité. Action prenant en compte l ensemble des leviers de la conduite du changement Outil de résolution de la «complexité de détails». La détection et la résolution des problèmes s applique aux dysfonctionnements mineurs qui échappent généralement aux échelons supérieurs compte tenu de leur faible visibilité. L entreprise Agile maîtrise en continu la complexité d un environnement mouvant, en traitant dès leur détection, les évolutions émergentes. Jean-Pierre Vickoff www.entreprise-agile.com 25

Modèle collaboratif Les systèmes organisationnels actuels sont complexes. Pour les maîtriser et les simplifier, il faut utiliser le pouvoir de l intelligence collective. Le modèle collaboratif tire sa force de la connaissance pratique des employés dont la participation à une recherche systématique d améliorations est rationnellement suscitée. Outillage BPM Recommandation en matière de choix et d usage d outils de modélisation et orchestration de processus. Le niveau de criticité du processus influe directement sur le mode de pilotage et le choix d outillage. Couvre aussi les aspects monitoring (BAM). Architecture (SOA) Agile modeling L Agilité impose au pilote de projet de conserver à l'esprit que l'objectif est une application et non de multiples modèles. Un courant de pensées simplificateur, l'agile Modeling, considère la modélisation à outrance comme inadaptée aux projets sous fortes contraintes de temps ou d'argent. Il propose une optimisation de l usage des modèles en fonction du contexte. Granularité - Validation Conseils pour l identification de la granularité optimale et socle normatif de développement. Exemple SOA (une approche de conception et de construction de services sous la forme de briques applicatives indépendantes). L avantage est de produire des composants simples, modulaires et faiblement couplés, donc permettant de recomposer rapidement l agencement applicatif des fonctionnalités qu ils assurent. Jean-Pierre Vickoff www.entreprise-agile.com 26

Vision urbanisée Normes d Implémentation L'urbanisation du système d'information définit un plan de développement cohérent en phase avec la stratégie, les métiers, les processus, la techhnologie et l'existant. Le modèle standard comprend quatre couches : processus, organisation, application, infrastructure. L urbanisme est un des élément de l Architecture d Entreprise. Les standards sont un élément clé des projets de SOA et de BPM. Cette pratique répertorie les divers protocoles SOAP, WSDL, UDDI, WS-x, BPMN, BPEL, etc. et tout ce dont vous avez besoin pour modéliser et orchestrer des processus ou développer des services web. Les 12 pratiques «qualité» de XP Figure 8. XP en résumé des principes (Design Up) Jean-Pierre Vickoff www.entreprise-agile.com 27

XP utilise la programmation comme une discipline collective. Voici une synthèse des 12 pratiques fondamentales de XP présentées dans la chronologie de leur mise en œuvre : 1 - Le planning est un consensus entre le client et le développeur. Comme pour le Risk Driven Development, il est procédé par priorités (parfois techniques lorsque liées à des dépendances, mais plus fréquemment fonctionnelles). Le développeur se focalise uniquement sur les buts principaux et diffère le traitement des objectifs secondaires. Le principe de «courage» s applique dans les négociations avec le client, lors des éventuelles divergences. Technique : Planning Game. Le client produit des scenarii d'utilisation et les priorise. Ces scénarios sont ensuite implémentés par l'équipe de développement. Le projet est considéré comme achevé lorsque le client n'est plus en mesure de trouver un nouveau scénario. 2 - Les équipes XP emploient des métaphores. La métaphore est une abstraction de niveau élevé. La métaphore ne doit pas être une simplification abusive du concept initial, mais doit permettre de simplifier l'expression d'une chose complexe comme, par exemple, clarifier des fonctionnalités. Le mérite d une métaphore est d'être synthétique et parlante. Exemple : utiliser la métaphore de la «recette de cuisine» pour expliquer un processus sophistiqué. Dans XP, la plupart des métaphores concernent le fonctionnement de l application ou l architecture. Technique : des métaphores et des analogies élémentaires sont utilisées pour décrire le système et son fonctionnement avant la livraison de fonctionnalités réelles, afin de le rendre compréhensible par les noninformaticiens et les utilisateurs impliqués dans le développement. 3 - L application est rapidement disponible dans une version limitée. La phase de construction se compose d itérations structurées en étapes (spécifications courtes, développement, tests, retour du client). Le fonctionnel est décrit en brefs scénarios implémentables validés immédiatement par le client. Le risque d incompréhension est alors réduit au minimum. Les modifications peuvent être fréquentes mais concentrées dans un cycle très court. L'objectif est de disposer rapidement d'un pilote opérationnel. Les parties applicatives livrées pourront éventuellement être utilisées en fonctionnalités réduites si les dépendances d autres parties non livrées ne sont pas trop fortes. Technique : Releases fréquentes. Elles permettent un feed-back immédiat, tout en offrant des fonctionnalités validées pouvant être utilisées. Fréquence de livraison hebdomadaire Jean-Pierre Vickoff www.entreprise-agile.com 28

4 - Le design est simple et focalisé sur les besoins actuels. Sans préfigurer des évolutions fonctionnelles ultérieures (non exprimées), le développeur code l'essentiel, en se basant sur les besoins immédiats et dans l ordre de leurs priorités. Technique : Planification initiale basée sur la valeur ajoutée des fonctionnalités attendues. Conception simple et codage simple, afin de faciliter les évolutions futures en rendant le produit aisé à comprendre et à modifier. Livraisons en fonctionnalités réduites. Documentation minimale adaptée aux besoins réels. 5 - Développement en binôme. Deux ressources de développement travaillent simultanément sur l implémentation du même code. À tour de rôle, elles programment et valident la qualité afin de produire un code propre, robuste et fiable. Dans certains projets, les développeurs s'associent en binômes uniquement lors des séances de refactoring (comme pour la méthode RAD), ou lorsque le problème est particulièrement ardu. Cette pratique, est associée à celle de la rotation des binômes. L ensemble est considéré comme la forme Agile la plus performante d apprentissage collectif et d intégration des débutants. Technique : Les programmeurs XP travaillent en binôme sur la même machine. Le premier développeur (appelé driver ou pilote), a la responsabilité du clavier et travaille sur la portion de code à écrire. Le second développeur (appelé partner ou copilote) l assiste en suggérant des options ou en décelant d'éventuels problèmes. 6 - Appropriation collective du code. L'équipe est collectivement responsable de l'application, elle est donc supposée avoir connaissance de l'intégralité du code. Selon cette théorie, la qualité de l ensemble du code est de la responsabilité de l ensemble des programmeurs. Cette pratique accroît la qualité effective du code, la réutilisation, la compréhension, et supprime les principaux problèmes liés au turnover. Technique : Les développeurs réorganisent fréquemment les binômes, ce qui permet d'améliorer la connaissance collective de l'application et la communication au sein de l'équipe 7 - Rythme soutenable Les semaines n'ont que 40 heures et les ressources fatiguées commettent des erreurs toujours plus coûteuses à corriger a posteriori. Technique : Planning individuel n impliquant pas d'heures supplémentaires durant deux semaines d affilée. Jean-Pierre Vickoff www.entreprise-agile.com 29

8 - Le client collabore en permanence et en direct. Afin d'assurer une meilleure réactivité et un feed-back rapide, un représentant du client doit être présent pendant toute la durée du projet. Cette ressource dédiée au projet est chargée de déterminer les besoins, de fixer les priorités et de valider les recettes. Technique : Un représentant permanent du client est présent sur le site. Ce représentant doit maîtriser les connaissances pratiques d'un utilisateur final, tout en disposant d une vision globale du résultat à obtenir. C est en général un cadre opérationnel. 9 - Standards de codage. Pour faciliter l'appropriation collective de l applicatif, la réutilisation et la communication, les programmeurs code dans un style et des règles identiques (normes de nommage pour les variables, méthodes, objets, classes, fichiers, etc.). Technique : Standards de codage, frameworks, design patterns, convention de nommage, etc. 10 - Un logiciel XP est testé et validé en permanence. XP préconise, pour la partie technique, la programmation pilotée par les tests (TDD) : pour chaque classe de l'application, les développeurs écrivent une classe chargée de la tester et de vérifier le résultat de ces tests. Technique : Jalons Zéro-Défaut par Test-Driven Development sur la base de tests issus d une translation de bas niveau des tests d intégration. Les fonctionnalités sont pour leur part validées en test de recette (avec et par l utilisateur). Technique : Jalons Zéro-Défaut par finalisation des validations permanentes obtenues de l utilisateur lors du prototypage. Jean-Pierre Vickoff www.entreprise-agile.com 30

11 - Intégration continue : Les modules développés sont assemblés journalièrement ou à la fin du codage de chaque jalon. La version de départ d une nouvelle implémentation de code à jour s effectue ainsi sur un applicatif stabilisé. Technique : Jalons Zéro-Défaut par intégration permanente de configurations testées. Construction planifiée en petits modules intégrés et testés progressivement. Pratique de plusieurs intégrations journalières si nécessaires. 12 Refactoring du code. Au cours du développement, le code est remanié continuellement et progressivement. Le logiciel est propre et simple. Dans le cas contraire, les correctifs sont beaucoup plus coûteux, la conception se corrompt, le code se fragilise, et l application se déstructure. Technique : Refactoring par amélioration continue de la qualité du code sans en modifier le comportement (commentaire, respect des règles de nommage, simplification, etc.). Le résultat du «nettoyage» s effectue régulièrement et se valide lors de séances de travail collectif impliquant toute l'équipe. Emprunt à Scrum PUMA dispose nativement d un mode itératif-incrémental-adaptatif basé sur une gestion rationnelle des itérations. PUMA préconise aussi ses propres techniques de réunion et un principe de rôles pour les acteurs du développement. En ce qui concerne des aspects spéciaux des meetings de projet, il est possible d intégrer la vision de Scrum. Usage des techniques Agiles Par contre, toutes les techniques Agiles ne sont pas forcément implémentées à l identique dans le réel des organisations. Figure 9. Usage réel des pratiques Jean-Pierre Vickoff www.entreprise-agile.com 31

Les pratiques Agiles de qualité du code (particulièrement le Pair programming) génèrent un coût de réalisation de l ordre de 20% supérieur à celui d un développement classique. En retour, elles réduisent notablement le nombre d erreurs résiduelles de l applicatif à sa mise en exploitation, selon une l étude Strengthening the Case for Pair-Programming (Tableau cidessous). Tableau 1. ROI du Pair programming Comparatif Modes de développement Tests passés Individuel Collaboratif Application 1 73,4 86,4 Application 2 78,1 88,6 Application 3 70,4 87,1 Application 4 78,1 94,4 Moyenne 75 89,1 Comme est considéré que le coût de correction d un bug en exploitation est de l ordre de 20 à 100 fois supérieur à sa correction en cours de développement, le ROI est évident. Par contre, cet investissement dans la qualité peut-être difficile à vendre dans certaines circonstances contractuelles. Autres aspect techniques du développement Agile Les techniques de modélisation Agile Au delà de l organisation et de la méthode de conduite de projets, aborder le thème de l Agilité en développement de système d information implique désormais de parler d urbanisation ainsi que d architectures technique et applicative. La place dédiée à cette communication ne permet pas d aborder ces concepts ici, à l exception d une simple liste des principales techniques invoquées (MDA, MDD, SOA) et de leur déclinaisons Agiles relativement moins connues : AM (Agile Modeling), AMDD (Agile Model-Driven Development), AMDA (Agile Model Driven Architecture), Sans oublier les indispensables outils de généralisation et de qualité que sont les différents types de Frameworks et de Design Patterns. D ailleurs en matière d outils, ceux-ci sont en pleine évolution et s orientent vers le concept «d usine d application» (Software factories). Le concept de documentation Agile L Agilité est très vigilante sur la pertinence des documents : Si le client impose la rédaction d un document, sa production est considérée comme une fonctionnalité livrable avec une priorité, une estimation et donc un coût. Si l équipe elle-même demande le document (et non plus le client seul), cela devient une activité technique. Jean-Pierre Vickoff www.entreprise-agile.com 32

Stratégie de planification Agile Un principe simple : le périmètre variable mais des techniques et des choix formels de conception en vue de modifications (priorisation, modularité, encapsulation, faible couplage, etc. Figure 10. La maîtrise du temps et des livrables Quatre contraintes contradictoires et un sérieux problème de combinatoire. Figure 11. Combinatoire des contraintes de planification Jean-Pierre Vickoff www.entreprise-agile.com 33