Amélirer l excellence pératinnelle et gagner un avantage cmpétitif grâce aux méthdes agiles Click t edit Master subtitle style 30 avril 2009 Pierre Jannez Sébastien Castiaux
Planning Le système de management Lean Purqui agile? Scrum et extreme Prgramming Returs d expérience Questins / répnses
Planning Le système de management Lean Purqui agile? Scrum et extreme Prgramming Returs d expérience Questins / répnses
Le système de management Lean
Planning Le système de management Lean Purqui agile? Scrum et extreme Prgramming Returs d expérience Questins / répnses
Purqui agile? Statistiques prjets IT Seln IEEE Spectrum (2005), 10% prjets IT abandnnés Au mins 70% des prjets Livrés en retard Hrs budget Nécessitent des adaptatins imprtantes après livraisn Raisns multiples Prblèmes de spécificatins Mauvaise cmpréhensin des risques Prblèmes avec les prcess vers les méthdes agiles en répnse aux différentes difficultés
Les difficultés du mdèle classique (1) Rigidité de la méthde et intégratin difficile du changement Analyse des besins et faisabilité Spécificatins Cnceptin Architecturale Cnceptin détaillée Cdage Tests de validatin Installatin
Agile Cycles itératifs de curte durée avec livraisn d un prduit UTILISABLE la fin de chaque itératin Mdes de dévelppement et de capture des besins permettant de prendre en cmpte le changement tut mment (vir capture des besins, just in time specificatin)
Analyse des besins et faisabilité Spécificatins Cnceptin Architecturale Cnceptin détaillée Cdage Tests de validatin Installatin INCEPTION Itératin 1 Itératin 2 Itératin 3
Itératins de 1 6 semaines Résultat d une itératin prttype versin intermédiaire du prduit final
Les difficultés du mdèle classique (2) Effet tunnel, manque d interactin avec le client Analyse des besins et faisabilité Tests de validatin Grsse interactin pur la réalisatin de l analyse Acceptatin de l analyse Installatin Faible interactin Grsse interactin Acceptatin de l applicatin
Agile Client intégré l équipe (de préférence sur site) Feedback régulier du client Client frtement impliqué (avec supprt du scrummaster) dans la définitin des fnctinnalités sus frme de stries la définitin des scénarii de tests Client «maître» des fnctinnalités dévelpper
Les difficultés du mdèle classique (3) Dcumentatin pléthrique et difficilement maintenable On veut capturer TOUS les besins en début de prjet Nmbreux dcuments d analyse, cnceptin, architecture Maintenance de ces dcuments difficile (vire
Agile Capture des besins très «high-level» en début de prjet = users stries En tant que <type d utilisateur>, je veux <fnctinnalité implémenter> pur <valeur business> Ex: CRM En tant que manager cmmercial, je veux puvir vir les nuveaux cntacts ajutés par mes cmmerciaux pur suivre la prspectin // use case UML mais bcp mins frmel Analyse détaillée du besin juste avant (just in time specificatin) le dévelppement par la définitin des cas de test (TDD). QUE les fnctinnalités utiles. Dcumentatin dans le cde (mais juste le nécessaire)
Bénéfices Client Furnisseur Transparence Relatin client plus saine ROI plus rapide Meilleure répnse aux besins Mesure de l avancement Respect des plannings Adéquatin par rapprt aux besins Rentabilité Augmentatin de la qualité
Les valeurs et les principes agiles 2001 : Manifeste Agile et Agile Alliance 17 experts dnt K.Schwaber, K.Beck, W.Cunningham Le Manifeste Agile débute par la déclaratin suivante (traductin) : " Nus avns truvé une vie amélirant le dévelppement lgiciel en réalisant ce travail et en aidant les autres le faire. De ce fait nus avns déduit des valeurs cmmunes. "
Les 4 valeurs «agiles» 1. 2. 3. 4. L'équipe «Persnnes et interactin plutôt que prcessus et utils» L'applicatin «Lgiciel fnctinnel plutôt que dcumentatin cmplète» La cllabratin «Cllabratin avec le client plutôt que négciatin de cntrat» L'acceptatin du changement «Réagir au changement plutôt que suivre un plan»
Les 12 principes 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Satisfactin client (livrer tôt et régulièrement) Acceptatin du changement Livraisn fréquente d une applicatin pératinnelle Cllabratin qutidienne Cnfiance et supprt Transmettre les infrmatins en face face Mesure de l'avancement avec le lgiciel réalisé Avancer un rythme de dévelppement durable Attentin cntinue l'excellence technique Simplicité Aut-rganisatin Feedback et ajustement
Planning Le système de management Lean Purqui agile? Scrum et extreme Prgramming Returs d expérience Questins / répnses
Intrductin Scrum K.Schwaber - J.Sutherland 1990-1992 1996 : SCRUM develpment prcess K.Schwaber «scrum» = «mêlée» rugby plutôt que curse relais Gestin de prjet guidée par la valeur business Actuellement, envirn 70% des prjets «agiles» utilisent Scrum
Caractéristiques de Scrum Petite équipe (5-10 persnnes) Equipe respnsable, en aut-rganisatin «sprints» d un mis u mins Utilisatin de règles génériques permettant de créer un envirnnement agile pur un prjet (ex: util de cmmunicatin visuels)
Tableau de suivi
Dérulement Scrum Image dispnible www.muntaingatsftware.cm/scrum
Le cadre Scrum Rôles Dir. Prduit (prduct wner) ScrumMaster Réunins Equipe Planificatin du sprint Revue du sprint Rétrspective Scrum qutidien Artefacts Backlg de prduit Backlg de sprint Burn Dwn charts
Les rôles Rôles Dir. Prduit (prduct wner) ScrumMaster Réunins Equipe Planificatin du sprint Revue du sprint Rétrspective Scrum qutidien Artefacts Backlg de prduit Backlg de sprint Burn Dwn charts
Le directeur de prduit (prduct wner) Définit les fnctinnalités du prduit (backlg du prduit) = user stries En tant que client ptentiel, je veux vir les phts des maisns. En cllabratin avec l équipe (estimatin) Chisit la date et le cntenu de la release Définit les prirités dans le backlg valeur «métier» = «pints» client Ajuste les fnctinnalités et les prirités chaque sprint si nécessaire Accepte u rejette les résultats
Le Scrum Master Représente le management du prjet Garant des valeurs et des pratiques de Scrum Résut les prblèmes S'assure que l'équipe est cmplètement fnctinnelle et prductive Facilite une cpératin pussée entre tus les rôles et fnctins Prtège l'équipe des interférences extérieures
L équipe De 5 10 persnnes Regrupant tus les rôles Architecte, cncepteur, dévelppeur, spécialiste IU, testeur, etc. A plein temps sur le prjet, de préférence Exceptins pssibles (administrateur, ) L équipe s rganise par elle-même La cmpsitin de l équipe ne dit pas changer pendant un Sprint
Réunins Rôles Dir. Prduit (Prduct Owner) ScrumMaster Réunins Equipe Planificatin du sprint Revue du sprint Artefacts Rétrspective Scrum qutidien Backlg de prduit Backlg de sprint Burn Dwn charts
Planificatin du sprint (1) Pint de départ: le backlg de prduit avec les estimatins planning game Valeur Risque technique Estimati 1. Phase explratire: Liste des scénarii business (frt, myen, n en Explicatin/Clarificatin (Q&A) faible) pints Refactrisatin (scissin/fusin) V500 / 8 T3 Scénarii similaires cmme En tant que client ptentiel, je référence 1. Classement des stries seln veux vir les phts des maisns. le rati Valeur business / Estimatin en pints 2. Estimatin en pints
Planificatin du sprint (2) Capacité de l'équipe Backlg de prduit Cnditin s métier Prduit actuel Techns Planificatin du sprint Périmètre Analyser et évaluer le backlg de prduit Définir le but du sprint But du sprint Plan Cnceptin (cmment s'y prendre) Créer la liste des tâches partir des éléments du backlg de prduit Estimer les tâches en heures Backlg du sprint
Planificatin du sprint (3) le but du sprint Un bref énncé de sur qui le travail va essentiellement prter pendant le sprint Lcatin de maisnsen place le Mettre Database Applicatin prcessus de réservatin Faire turner l'applicatin sur une base MySQL en plus d'oracle. Services financiers Offrir plus d'indicateurs que le prduit ABC sur les dnnées de streaming.
Planificatin du sprint (4) L'équipe chisit, partir du backlg de prduit, les éléments qu'elle s'engage finir. Le backlg de sprint est créé Les tâches snt identifiées et estimées (1-16 heures si pssible) Cllectivement, pas seulement par le ScrumMaster La cnceptin de haut niveau est abrdée En tant que client ptentiel, je veux vir les phts des maisns. Cder la cuche de persistance (8h) Cder l IU(4h) Ecrire les tests (4h) Cder la classe business (6h) Tests (4h)
Scrum qutidien Paramètres Tus les jurs 15 minutes maximum (!) Debut 3 questins: 1. Qu ai-je fait hier? 2. Que vais-je faire aujurd hui? 3. Prblèmes (passés/futurs)? Pas un cmpte rendu au scrum master: réunin par et pur l équipe Pas fait pur résudre les prblèmes Tut le mnde est invité Seuls les membres de l'équipe peuvent parler Permet d'éviter l'rganisatin d'autres réunins
Revue et retrspective de sprint Revue L'équipe présente ce qu'elle a fait pendant le sprint dém des nuvelles fnctinnalités u de l'architecture Retrspective A la fin de chaque sprint: réfléchir régulièrement ce qui marche et ce qui ne marche pas améliratin cnstante
Artefacts Rôles Dir. Prduit (Prduct Owner) ScrumMaster Réunins Equipe Planificatin du sprint Revue du sprint Artefacts Rétrspective Scrum qutidien Backlg de prduit Backlg de sprint Burn Dwn charts
Backlg de prduit (1) Exigences Une liste de tut ce qui va entraîner du travail Chaque élément dit apprter de la valeur aux utilisateurs u clients du prduit Les prirités snt définies par le directeur prduit (valeur «business») Les prirités peuvent être revues chaque sprint
Backlg de prduit (2) Elément de backlg Estim. Valeur Un client ptentiel peut vir les images d une maisn 8 500 Un client peut faire une réservatin 10 1000 Un client peut annuler une réservatin 4 200 Un client peut changer les dates d une réservatin 2 300 Un administrateur peut créer une nuvelle annnce 15 1000 Un prpriétaire peut intrduire une rectificatin de tarif 3 50 30 50
Backlg de sprint (1) Chacun s'engage sur du travail qu'il chisit Le travail n'est jamais assigné par un autre L'estimatin du «reste--faire» est ajustée tus les jurs
Backlg de sprint (2) Tâches Estimatin Stry: Un client ptentiel peut vir les images d une maisn Cder la cuche de persistance Cder l IU 8h 4h Ecrire les tests Cder la classe business Tests Stry: Un client peut faire une réservatin 4h 6h 4h 8h 4h
Backlg de sprint (3) - Suivi Tâches Lu Ma Me Je Ve Cder la cuche de persistance 8h 4h - - - Cder l IU 4h - - - - Ecrire les test 4h 3h 1h - - Cder la classe business Test de perfrmance 6h 4h 5h 4h 3h 4h 2h 4h -
Burn Dwn charts Sprint burn dwn Tâches 12 10 Nmbre d heures restant 8 6 4 2 0 Lu Ma Me Je Ve Cder la cuche de persistance 8h 4h - - - Cder l IU 4h - - - - Ecrire les test 4h 3h 1h - - Cder la classe business 6h 5h 3h 2h - Test de perfrmance 4h 4h 4h 4h -
extreme Prgramming (XP) (1) Kent Beck, Ward Cunningham et Rn Jeffries (1999) Prjet Chrysler «C3» : améliratin réécriture Orienté dévelppement Plus cmplet de Scrum (dev) Assez similaire Scrum pur planificatin / gestin
Les drivers d XP Pusser les bnnes pratiques l extrême: Respnsabilité cllective du cde: revue de cde elle sera faite en permanence par un binôme (pair prgramming) tests ils sernt faits systématiquement avant chaque implémentatin (Test Driven Develpment ) + AUTOMATISATION cnceptin elle sera faite tut au lng du prjet (refactring) l'intégratin des mdificatins elle sera effectuée jusqu plusieurs fis par jur Règles de cdage Travail sur n imprte quelle partie Améliratin Séparatin business - technique
Planning Le système de management Lean Purqui agile? Scrum et extreme Prgramming Returs d expérience Questins / répnses
Returs d expérience
Planning Le système de management Lean Purqui agile? Scrum et extreme Prgramming Returs d expérience Questins / répnses
Questins / répnses Beaucup de méthdes agiles dispnibles: PUMA (Prcessus Urbanisant les Méthdes Agiles) Crystal Clear Agile Unified Prcess Ces méthdlgies ne se fnt pas cncurrence, mais répndent des besins différents. Chacune prpse des éléments intéressants en fnctins du type de prjet, de la taille de l équipe Ex: Wavenet Scrum / XP
Cpyright Cette présentatin cntient des extraits de Intrductin Scrum par Mike Chn, traductin par Claude Aubry Merci eux Wavenet Avenue de la libératin 46 7900 Leuze-en-Hainaut Tel :+32 69 67 03 35 inf@wavenet.be www.wavenet.be
End f slides
Références
Références Web www.agilealliance.rg www.scrumalliance.rg
Lectures (1) En anglais: Agile and Iterative Develpment: A Manager s Guide de Craig Larman Agile Estimating and Planning de Mike Chn Agile Retrspectives d'esther Derby et Diana Larsen Agile Sftware Develpment Ecsystems de Jim Highsmith Scrum and the Enterprise par Ken Schwaber User Stries Applied fr Agile Sftware Develpment de Mike Chn Des articles tutes les semaines www.scrumalliance.rg
Lectures (2) En français : Gestin de prjet Vers les méthdes agiles de V. Messager Rta Gestin de prjet extreme Prgramming de JL Bénard, L.Bssavit, R.Medina, D. Williams Le blg Scrum Méthdes Agiles : scrum.aubrycnseil.cm
Slides supplémentaires
Burn Dwn charts Release burn dwn Nmbre de pints restant Itératin 1 Itératin 2 Itératin 3 Itératin 4 Itératin 5 Itératin 6 Itératin 7 15/01 15/02 15/03 15/04 15/05 15/06 15/07 550 12 10 Nmbre de pints restant 8 6 4 2 0 495 365 235
Outil de suivi / reprting de Wavenet
Les 5 mts-clés XP 1. Cmmunicatin A l rigine d un prblème : suvent une nn-cmmunicatin 1. Feedback 2. Le remède cntre un trp plein d ptimisme Plus de feedback = plus de capacité réagir Simplicité «le mieux est l ennemi du bien» 1. Curage Changement dans la perceptin du sft, du prjet Adpter de nuvelles pratiques
Les rôles XP Prgrammeur créateur et artisan Client stries + scenarii de tests Testeur bras drit du client transcriptin des scénarii Tracker suivi pendant l itératin (psychlgie) Uniquement suivi, pas d actin (cach) Manager supérieur hiérarchique (lgistique). Interface avec l extérieur Cach: rôle très imprtant. Garant du prcessus XP (rôles, pratiques). Interventin diminue au fur et
Infrmatins additinnelles Test Driven Develpment 1. 2. 3. 4. 5. On écrit le test On vérifie que le test échue (la fnctinnalité n est pas encre dévelppée) On écrit le cde le plus simple qui permet de faire passer le test On vérifie que le test passe On remanie le cde Outils pen-surce d autmatisatin de tests:.. SELENIUM: http://selenium.seleniumhq.rg/index.html APODORA: http://www.apdra.rg/
Les difficultés de mise en place Philsphie générale. Le client est-il prêt? Lgistique Agile vs cntrat au frfait? (2 phases) Maturité des dévelppeurs (tâches multiples, autrganisatin ) Vulnérabilité face aux «mauvais» cmprtements