Extreme Programming. Le projet social. Angèle Batanero Thierry Cros. http://etre-agile.com. Agile Tour 2010 : XP, le projet social

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

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

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

XP : ce célèbre inconnu

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

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

Agile 360 Product Owner Scrum Master

25/12/2012

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

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

Méthodes Agiles et gestion de projets

Scrum Une méthode agile pour vos projets

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

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

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

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

Retour d expérience implémentation Scrum / XP

Certification Scrum Master

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

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

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

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

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

Scrum + Drupal = Julien Dubois

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

Cours Gestion de projet

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

Les méthodes itératives. Hugues MEUNIER

Introduc)on à l Agile

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

Méthodes de développement

Jean-Pierre Vickoff

AGILE IPHONE DEVELOPMENT

Gestion Projet. Cours 3. Le cycle de vie

backlog du produit Product Owner

Agilité et Recherche Journée COMPIL Olivier INIZAN - INRA PEPI-IDL/URGI. 13 juin 2012

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

Tuesday, October 20, Nantes

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

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

EXIN Agile Scrum Master

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

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

Approches Agiles pour éditeurs logiciels

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

Guide de Préparation. EXIN Agile Scrum. Foundation

CHAPITRE 3 : LES METHODES AGILES?

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

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

Agilité et avionique "Monteriez-vous à bord d'un avion dont des logiciels de vol sont écrits par des praticiens de l'extreme- Progamming?

REX Scrum Master du terrain

Germe Grenoble 4 22/06/2012. Intervenant: Bruno Sbille

Les méthodes agiles UM Les méthodes agiles S. Mathon

Développement itératif, évolutif et agile

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

Conditions gagnantes pour démarrer sa transition Agile

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

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

LES tests d'acceptation

SEPR - Pierre Casadéi Lean Oser le participatif pour repenser l organisation

Table des matières. Préface... Avant-propos...

Formation pour Product Owner

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

Kanban et son utilisation à la Société GRICS

Formation Scrum. 2 jours

Les cinq premiers pas pour devenir vraiment agile à XP Day Suisse 2009 par Pascal Van Cauwenberghe et Portia Tung: La Rétrospective

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

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

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

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

GL Processus de développement Cycles de vie

L Intégration Continue & Agilité

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

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

Contact: Yossi Gal, Téléphone:

CATALOGUE)FORMATION)2015)

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

La solution IBM Rational pour une ALM Agile

Méthodologies SCRUM Présentation et mise en oeuvre

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

Introduction à l extreme Programming et au développement agile

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

Gestion d Active Directory à distance : MMC & Délégation

Agilitéet qualité logicielle: une mutation enmarche

Plan de la Formation. GESTION de PROJET

La 1ère plateforme d'auto-formation. d'autoen ligne au Lean Manufacturing en français.

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

LE RÔLE ET LES COMPORTEMENTS DU GESTIONNAIRE DE PREMIER NIVEAU DANS LA MISE EN PLACE D'UNE CULTURE D'AMÉLIORATION CONTINUE

ISTQB Agile Tester en quelques mots ISTQB Marketing Working Group

Développement ebusiness

Marketing et communication interactive comprendre et anticiper les usages et les besoins. Expertise technologique

Jean-Pierre Vickoff J-P Vickoff

Ne renvoyez pas vos architectes! Utilisez-les avec agilité

énie avec Scrum, Lean, extreme Programming

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

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

CINEMATIQUE DE FICHIERS

Isabelle Nicolas

Process 4D Catalogue de formations 2011

Transcription:

Extreme Programming Le projet social Angèle Batanero Thierry Cros 1

Qui sommes-nous? Angèle Batanero Développeur Thierry Cros C++ Java Coach depuis 10 ans 2

Agenda XP, qu'es aco? Valeurs, principes Pratiques XP, au cœur de l'agile Planification Équipe Développement L'Intention des Anarchistes Organisationnels XP (Agile) : le projet social «Insurrection des consciences» 3

XP, cet inconnu célèbre Idées reçues... XP, c'est pour les Développeurs «geeks» XP, cela ne fonctionne que sur des petits projets sans enjeux XP c'est juste un complément technique à Scrum 4

XP : un nom pas vraiment marketing......mais qui annonce la couleur Extreme Ce sont donc des extrémistes.. Des révolutionnaires! Programming Ah bon... On ne conçoit pas, on n'analyse pas... 5

«programming» Quelles activités apportent vraiment une Valeur Ajoutée? Programming «Coder» (Java...) Paramétrer Programming = Fabriquer le produit Remettre en cause, réduire voire éliminer les activités «non V.A.» 6

«extreme» Une fois les activités «non VA» réduites, quelles activités conserver et dans quelle proportion? Dialogues Tests Conception Relecture Extreme Programming = «Pousser à fond» activité à Valeur Ajoutée 7

Extreme Programming = centré activités à Valeur Ajoutée 8

XP : «la» synthèse L'originalité d'xp réside Dans la synthèse faite de principes et pratiques Dans l'apport de pratiques spécifiques (stories, TDD...) 9

La «constitution» XP Valeurs Principes Pratiques Rôles Cycle de Vie 10

Rôles essentiels Une équipe, plusieurs rôles Client (Product Manager) Spécifie les demandes et les tests-client, planifie en tenant compte de la VA des demandes Développeur Estime les demandes, réalise Un point focal pour tous : l'importance Métier offerte par le produit 11

Cycle de Vie XP 1 Exploration 2 2 mois max. Engagement 3 4 1 semaine 5... Pilotage par feedback Des années! n Mort de l'appli 12

Agenda XP, qu'es aco? Valeurs, principes Pratiques XP, au cœur de l'agile Planification Équipe Développement L'Intention des Anarchistes Organisationnels XP (Agile) : le projet social «Insurrection des consciences» 13

Valeurs de l' Extreme Programming Communication Combien d'exemples... et de contre-exemples! Feedback (concret et rapide) Pour piloter à partir d'éléments les plus objectifs Simplicité Le pari de l'extreme Programming, pour tous, tout le temps Courage De changer de rôle, de vision du produit Respect Respecter et être respecté en tant que personne Principe Lean 14

Valeur? Valeur : norme de conduite personnelle et/ou sociale* * http://fr.wikipedia.org/wiki/valeur 15

XP : les principes Humanisme Flot continu Économie Opportunité Bénéfices mutuels Redondance Autosimilarité Échecs Qualité Petites étapes Amélioration continue Diversité Réflexion Responsabilité choisie 16

Pourquoi des principes Entre valeurs et pratiques, les principes - guident l'adaptation d'xp - sont autant d'axes d'amélioration d'un existant 17

Humanisme «Le propos d'xp est le changement social» K. Beck Revaloriser le métier du développement Prendre en compte la dimension humaine dans les activités liées au logiciel Exprimer les besoins Développer Avoir le droit de bien faire, s'accomplir dans son travail, être fier de son travail Pouvoir influencer la façon dont on travaille Être responsable, s'auto-gérer 18

Humanisme : hédonisme et responsabilité Le plaisir de coder, de participer au développement du produit La responsabilité de la fabrication D'un monde centré «pouvoir»... À un collectif coresponsable Pas facile... Ni pour le Manager, ni pour le Développeur 19

Diversité La diversité engendre l'efficacité... Pourvu que les différences soient vues comme des opportunités Jeunes et Vieux Écoles et Universités... 20

Réflexion La vie en métaphores Comment telle pratique... Association Sport peut aider à améliorer mon travail Amélioration continue Le 12ème principe agile Comment et pourquoi je travaille 21

Agenda XP, qu'es aco? Valeurs, principes Pratiques XP, au cœur de l'agile Planification Équipe Développement L'Intention des Anarchistes Organisationnels XP (Agile) : le projet social «Insurrection des consciences» 22

Pratiques de l'extreme Programming 13 pratiques de base 1. Expression de besoins et planification 2. Le facteur humain 3. Conception 4. Coder et livrer 23

Histoires et Planification 1/4 Demandes? Les besoins sont décrits sous forme d'histoires d'utilisation*. Le cycle est itératif incrémental, la durée par défaut d'une itération est d'une semaine. La vision globale est planifiée à l'échelle du trimestre. Une marge de sécurité permet d'absorber les imprévus (slack). * Ce sont les User Stories : «En tant que... je peux... pour telle V.A...» 24

Facteur humain, équipe 2/4 Un plateau-projet, où nous sommes assis ensemble Équipe complète : esprit d'équipe, entr'aide, y compris le Client Espace d'information : les infos sont affichées, disponibles directement (radiateur d'information, transparence) Un rythme viable pour tous les membres de l'équipe : Développeurs, Client... Nous codons en binôme. 25

Conception 3/4 Conception émergente une règle d'or, pas de duplication de code Attention aux couplages Test Driven Development : d'abord écrire le test, puis coder, puis mettre au point, période de ½ heure. Le refactoring est une conséquence de «conception émergente» 26

Conception émergente Itération 1 Histoires d'utilisation A320 Itération n Histoires du A380 Avion A320 A320 A380 YAGNI! 27

TDD User story «en tant qu'élève je peux calculer une division» Des classes : Calculateur, Afficheur... TDD - ½ heure : 1) Écrire les tests 2) Coder 3) Passer les tests 28

Concrètement : écrire un test... package Calculateur; public class Calc { public int additionner(int a, int b){ return a + b; } public int soustraire(int a, int b){ return a - b; } // Un test simple pour commencer... Conception @Test public void testdivisionsimple() { Calc ma_calculette = new Calc(); int quotient = ma_calculette.diviser(10,2); Assert.assertEquals(5, quotient); } 29

Puis le code Les anciens tests passent... Le nouveau ne passe pas, on écrit donc le code pour faire passer le test public int diviser(int dividende, int diviseur) { return dividende / diviseur; } Tous les tests passent (nouveau et anciens) 30

Et un autre test «erreur» @Test public void testdivisionsimple() { Calc ma_calculette = new Calc(); int quotient = ma_calculette.diviser(10,2); Assert.assertEquals(5, quotient); } @Test(expected=ArithmeticException.class) public void testdivisionparzero() { Calc ma_calculette = new Calc(); int quotient = ma_calculette.diviser(11,0); } 31

Enfin... On vérifie que tous les tests passent Les test fournissent le «how to» de la méthode Ils ont permis au passage de concevoir la méthode Et permettent de s'assurer que la méthode se comporte comme on le souhaite 32

La barre verte, toujours! 33

Coder et livrer 4/4 Intégration continue, plusieurs fois par jour Nous testons et intégrons très souvent, le build dure 10 minutes maximum. (Ten Minutes Building) Le code-source et les tests sont des documents obligatoires Le code est partagé entre tous Gestion de configuration : une seule version officielle (qui évolue en permanence) Déploiement au plus tôt : chaque nuit... chaque deux semaines ou au maximum chaque trimestre 34

Intégration continue Plusieurs «niveaux» Chaque nuit À la demande Systématiquement (chaque «commit») : 10' Building Ressources Serveur dédié Gestion type Hudson Associer Gestion de conf Intégration continue et Tests 35

Agenda XP, qu'es aco? Valeurs, principes Pratiques XP, au cœur de l'agile Planification Équipe Développement L'Intention des Anarchistes Organisationnels XP (Agile) : le projet social «Insurrection des consciences» 36

XP, au cœur de l'agile Manifeste agile (2001) Valeurs Principes Histoire du manifeste Les Anarchistes organisationnels 37

Dilbert? Non, merci. «l'extreme Programming a connu un développement dans son utilisation et son intérêt, non pas grâce à la programmation en binôme ou au refactoring, mais parce que, pris dans leur ensemble, ses pratiques définissent une communauté de développeurs libérée des poids des sociétés "Dilbertesques".» Histoire du Manifeste agile, Jim Highsmith Traduction de Fabrice Aimetti http://www.fabrice-aimetti.fr 38

Vous avez aimé Peter? Vous adorerez Dilbert! Le principe de Dilbert est une version aggravée du principe de Peter. Dans le livre Le Principe de Dilbert, Scott Adams rappelle le principe de Peter : Tout employé tend à s'élever à son niveau d'incompétence. Le nouveau principe, principe de Dilbert, s'énonce ainsi : «Les gens les moins compétents sont systématiquement affectés aux postes où ils risquent de causer le moins de dégâts : ceux de managers.» Source : wikipedia 39

l'agilité au bulldozer Lundi, vous passez à l'agilité. 40

Agile, Lean : attention danger? Améliorer la productivité, Agile ou Lean sont faits pour ça! Finance Adaptateur «Notre premier objectif est de livrer au plus tôt et régulièrement...» 1er principe agile «Livrer rapidement» principe Lean Agile Donc Agile ou Lean sont une méthode pour faire plus de profit! 41

Ne nous trompons pas d'objectif Changer le système plus que condamner des personnes. 42

Agile, Lean : à la source 2 piliers Économie : la sobriété heureuse «l'activité humaine qui consiste en la production, la distribution, l'échange et la consommation de biens et de services.» Humanisme «Respecter les personnes» principe Lean «Rythme viable» «auto-organisation» «auto-amélioration» principes agiles 43

Agile : l'intention «À la base, je crois que les Méthodologistes Agiles sont vraiment des "sentimentaux" en parlant de livrer les bons produits aux clients et en travaillant dans un environnement qui fait plus que parler des "gens comme nos ressources les plus importantes" mais en réalité agit comme si les gens étaient les plus importants» Source : histoire du Manifeste Les Anarchistes organisationnels 44

Anarchie? «L'anarchie, c'est l'ordre sans le pouvoir.» Léo Ferré 45

Une métaphore : solutions locales... De la grosse industrie agricole "Ceux qui sont en villeguerre peuvent parfaitement se solidariser avec ceux qui sont à la campagne, Chimie et ainsi on fait un pont dessus par Agriculture industrielle toute la sphère affairiste. Quels résultats? Et l'autonomie, c'est Aux le maître AMAPsmot aujourd'hui." http://terre-humanisme.org Rôle du trésorier dans une AMAP? Pierre Rabhi 46

AMAP et Plateau Projet agile AMAP Plateau agile Des Consommateurs Un Product Owner Un Paysan Des Développeurs Collaborent Production Ramasser les légumes Responsabilités simples Collaborent Production Tester Responsabilités simples Le Product Owner est solidaire des Développeurs 47

Pré-requis... Motivation Changer ses habitudes Question de valeurs et de prise de conscience «j'achète plus que des légumes» Faire confiance Capacité à jouer son rôle Si le Paysan ne sait pas communiquer? Si les Consommateurs ne voulaient plus payer? Le bon «staffing» : adéquation du nombre 48

XP : l'humanisme en projet social «Le propos d'xp est le changement social» K. Beck Revaloriser le métier du développement Et des Utilisateurs! Prendre en compte la dimension humaine dans les activités liées au logiciel Exprimer les besoins Développer Avoir le droit de bien faire S'accomplir dans son travail - Être fier de son travail Pouvoir influencer la façon dont on travaille Être responsable, auto-géré 49

Autrement dit... D'un monde, piloté par l'argent, où l'on travaille pour «gagner» sa vie... à un monde où l'on participe à l'inter-dépendance dans un rôle de - Développeur - Utilisateur l'argent étant un moyen. 50

«Insurrection des consciences» 51

Utopie? «L'utopie est simplement ce qui n'a pas encore été essayé!» Théodore Monod 52

Quelques pistes S'informer, parler, échanger Métaphores Solutions locales... Je, Équipe, projet, organisation Les Utilisateurs solidaires des Développeurs AMAP Managez votre manager Plan Do Check Act, Go & See Se forger sa propre opinion, concrètement Être so-li-dai-re : asso, syndicat 53

«Imagine an Agile World» Localement agile! Agile Tour 2010 - Toulouse. 54