soft-shake.ch - Agile qu'es aco : scrum xp lean

  • 1,577 views
Uploaded on

Thierry Cros …

Thierry Cros


Aujourd’hui l’agilité est “mainstream”. Comment s’y retrouver parmi les innombrables présentations, retours d’expérience qui se réclament de l’agilité ?

Cette présentation vous propose un bref panorama de l’agilité, depuis ses débuts historiques jusqu’aux évolutions actuelles. Vous allez donc acquérir les informations qui vous permettront de vous forger viotre propre opinion et discerner ainsi ce qui est véritablement agile.

http://soft-shake.ch/2011/conference/sessions/agility/2011/09/23/agilte-kesaco.html

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,577
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
42
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. cocktail d’expérience informatiques Genève 3 & 4 octobre 2011 Seconde éditionAuteur Thierry Gabriel CROS Track AgileSession Agile... Ques aco ?
  • 2. Agile...Ques aco ? Thierry Gabriel Cros
  • 3. Agenda● Agile ?● Extreme Programming● Scrum● Lean Software Development● Kanban● En guise de conclusion... http://etre-agile.com 2
  • 4. Les façons de faire● Hors agile, nous rencontrons essentiellement deux styles de développement... http://etre-agile.com 3
  • 5. 1. Cycles en V Spécification Validation CascadeCycle en V Conception préliminaire Intégration Conception Tests détaillée unitaires Codage http://etre-agile.com 4
  • 6. 2. LArrache (ou La Rache)● Également connu sous le nom de … http://www.djibnet.com http://etre-agile.com 5
  • 7. Alors...● Cycle en V ?● Cow-boy ?● … http://etre-agile.com 6
  • 8. Méthode : Empirique ou théorique ? Il est normal dadopter lapproche définie par un modèle(théorique) quand les mécanismes sous-jacents par lesquels un processus opère sont relativement bien compris. Si le processus est trop compliqué pour lapprochedéfinie, alors lapproche empirique est le choix approprié. Process Dynamics, Modeling, and Control, Ogunnaike et Ray, Oxford University Press, 1992 http://etre-agile.com 7
  • 9. Empirique ?● Empirique != désordonné● Empirique != indiscipliné● … Au contraire ! Si vous partez à laventure et si vous êtes un tantinet sérieux, vous faites très attention ! http://etre-agile.com 8
  • 10. Un peu dhistoire...● Années 90 : des expérimentations empiriques, légères, face aux méthodes lourdes● Rencontre, en février 2001, des concepteurs de ces différentes méthodes « légères »...● … Ce qui va aboutir au Manifeste agile, expression des points communs à toutes ces méthodes alternatives. http://etre-agile.com 9
  • 11. Agile : définition● Autant de définitions que dAgilistes...● Pourtant, lagilité a une histoire et un texte fondateur en 2001 : Le manifeste agile http://agilemanifesto.org http://etre-agile.com 10
  • 12. 2001 : Le manifeste agile● 4 valeurs● 12 principes● Une histoireQuand des anarchistes organisationnels se rencontrent... http://etre-agile.com 11
  • 13. Le Manifeste http://etre-agile.com Source : agilemanifesto.org 12
  • 14. Dilbert ? Non, merci.« … lExtreme Programming a connuun développement dans son utilisation et son intérêt,non pas grâce à la programmation en binômeou au refactoring, mais parce que,pris dans leur ensemble, ses pratiques définissentune communauté de développeurslibérée des poids des sociétés "Dilbertesques". »Histoire du Manifeste agile, Jim Highsmith Traduction de Fabrice Aimetti http://www.fabrice-aimetti.fr http://thierrycros.net 13
  • 15. 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 dincompé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. » http://thierrycros.net 14Source : wikipedia
  • 16. En résumé ● Pendant plusieurs● Années 80 années – Lean – Confidentiel● Années 90 – Pionniers – Scrum, XP, ... ● Depuis, lagile est● 2001 : le manifeste devenu une agile alternative crédible – Scrum + XP – Lean Software – Kanban http://etre-agile.com 15
  • 17. Agile aujourdhui : une boite à outils● Les méthodes ou ● Toutes ces méthodes guides (XP, Lean...) forment un véritablement framework de agiles offrent plus plusieurs dizaines de que le manifeste principes et agile. pratiques... ● … Sur lequel nous nous basons pour installer lagilité. http://etre-agile.com 16
  • 18. Agile : quatre axes fondateurs Centré Importance Métier Équipe Auto-organisée Auto-similarité* Responsabilité Empirique Feedback * Hédonisme concret & rapide Amélioration continue http://etre-agile.com 17
  • 19. Intérêt dun feed-back concret et rapide Feedback des Utilisateurs, de lexploitationApproche agile Début du Retour sur Investissement Ajuster, voire rectifier les besoins, la solution informatique : http://etre-agile.com à 3 mois, à un an ? 18
  • 20. Un autre principe clé de lagilité● « Les meilleures spécifications, conceptions et architectures émergent déquipes auto-organisées » – Émergence des specs ? – Émergence de la conception, de larchitecture ? – Grâce à une « Équipe auto-organisée » ? http://etre-agile.com 19
  • 21. Intérêt de lauto-organisation● Pas de gaspillage ● La Vision du produit, dopportunités : partagée, est un possibilité de attracteur dans une proposer équipe auto- organisée● Interaction ● Pas de chef = plus Utilisateur / Développeur de responsabilité http://etre-agile.com 20
  • 22. Extreme Programming : ce célèbre inconnu http://etre-agile.com 21
  • 23. XP : lémancipation du Développeur● XP pour sévaluer● XP pour être soi● XP pour sémanciper en tant que Développeur http://thierrycros.net 22
  • 24. Extreme « Programming »● Quelles activités ● Programming apportent vraiment « Coder » (Java...) une Valeur Ajoutée ? Paramétrer ● Programming = Réaliser le produit Remettre en cause, réduire voire éliminer les activités « non V.A. » http://thierrycros.net 23
  • 25. « Extreme » Programming● Une fois les activités ● Dialogues « non VA » réduites, ● Tests quelles activités conserver et dans ● Conception quelle proportion ? ● Relecture Extreme Programming = « Pousser à fond » les activités qui apportent de la valeur http://thierrycros.net 24
  • 26. Le « paquetage » XPValeurs Principes Pratiques Rôles Cycle de Vie http://thierrycros.net 25
  • 27. Rôles● 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 Manager Fait confiance, aplanie le terrain,● Un point focal pour tous: la Valeur Métier offerte par le produit http://thierrycros.net 26
  • 28. Valeurs de l Extreme Programming● Communication Combien dexemples... et de contre-exemples !● Feedback Pour contrôler à partir déléments les plus objectifs● Simplicité Le pari de lExtreme Programming, pour tous, tout le temps● Courage De changer de rôle, de vision du produit● Respect Respecter et être respecté en tant que Principe Lean personne http://thierrycros.net 27
  • 29. Un Cycle de Vie agile : livrer rapidement et régulièrement 1 Exploration 22 mois max. Engagement 3 4 5 ... 1 semaine Pilotage par feedback n Des années ! Mort 1. Fin dexploration : carottages, architecture, de lappli périmètre initial, estimations 2. Engagement : premières valeurs des variables projet : - Coût - Délais Principe : Le client en choisit 3, - Périmètre le Développeur la quatrième. - Qualité 3. 4. 5. … Les différentes versions livrées n. Fin de lapplication. http://etre-agile.com 28
  • 30. Au cœur de lexpression de besoins : les « user stories » dXP 800 Valeur Métier (surtout thème) En tant que Pilote, je règle le commutateur en mode " niveau horizontal" afin de maintenir les ailes à lhorizontale et lavion sur sa trajectoire initiale. Estimation (jours réels ou points) 5 Une histoire est : 1) un déclencheur de discussions dans léquipe 2) lunité de planification (correspondance histoire / itération) http://thierrycros.net 29
  • 31. Story : les 3C*● Carte● Conversation – Pour estimer, développer la story● Confirmation – Tests dacceptation Tout nest pas écrit* cf. Ron. Jeffries http://thierrycros.net 30
  • 32. Importance des Tests dAcceptation● Spécifier un test, cest spécifier le produit● « Deal » entre Product Manager et Développeurs● Automatiser les T.A. – Fitnesse – GreenPepper – ... http://thierrycros.net 31
  • 33. Développement agile : emblématique de lExtreme Programming● Test Driven Development : le Développement piloté par la conception exprimée en tests● Conception – Développement simple – Code expressif – Pas de duplication – Nombre minimal de classes et méthodes● Intégration continue● Déploiement / nuit http://thierrycros.net 32
  • 34. Développement agile● Produit malléable ● Test Driven● Environnements Development performants : ● Refactoring – Cartes perforées ● Conception vs émergente Intelli J... – Temps de « compilation » http://etre-agile.com 33
  • 35. Conception émergente● Itération 1 ● Itération n Histoires Histoires du A380 dutilisation A320 Avion A320 A320 A380 YAGNI ! http://thierrycros.net 34
  • 36. Scrum :la marque qui fait vendre lagilité http://thierrycros.net 35
  • 37. Scrum en un schéma 24 heures Itération 1-3 semainesBut du sprint Retour Produit partiel Tâches potentiellement Annuler Retour utilisable Coupons EmballageEmballage Annuler Coupons http://etre-agile.com 36
  • 38. Scrum : les piliers● Transparence – Partager la définition de « done »● Inspection – Feedback rapide : artefacts, produits● Adaptation – L amélioration du produit – Et des pratiques http://etre-agile.com 37
  • 39. Scrum : les rôles● Product Owner ● Équipe de – Exprime les Développement besoins – Estime leffort – Priorise nécessaire – Valide – Fabrique le produit● ScrumMaster – Garant de Scrum http://etre-agile.com 38
  • 40. Scrum : le cérémonial● Sprint Meeting (plan ditération)● Sprint Review (Revue)● Rétrospective (lamélioration, 12ème principe)● Daily Scrum Meeting (mélée quotidienne) http://etre-agile.com 39
  • 41. Scrum : le Business Model● Dans la famille « certified », je demande... – Le ScrumMaster – Le Trainer – Le Product Owner● Scrum Guide de K. Schwaber : http://scrum.org 17 pages● Scrum... de Claude Aubry chez Dunod (300 pages) http://etre-agile.com 40
  • 42. Lean Software Develoment : une autre voie vers lagilité http://etre-agile.com 41
  • 43. Agendaq Agile, Lean, Lean Software ● Outilsq Les sept principes de base – SIPOC ● 1. Éliminer les gaspillages – Value Stream Mapping ● 2. Améliorer le système – Go & See ● 3. Qualité intrinsèque – ... ● 4. Gérer les décisions ● 5. Livrer rapidement ● 6. Fortement respecter les personnes ● 7. Créer et faire vivre la connaissance v1q Lean Software - Être Agile 42
  • 44. Une autre conduite du changement● AS IS ● L.S.D.● TO BE – Améliorer lexistant● Scrum + XP – Le « package »v1 Lean Software - Être Agile 43
  • 45. Kanban : le dernier venu● Visualiser le workflow ● Optimiser le temps – Identifier le goulot de cycle – Début du travail sur un élément – Début du cash- back● Limiter le Work In Progress – Terminer plutôtv1 que commencer Lean Software - Être Agile 44
  • 46. Agile aujourdhui : une boite à outils● Les méthodes ou ● Toutes ces méthodes guides (XP, Lean...) forment un véritablement framework de agiles offrent plus plusieurs dizaines de que le manifeste principes et agile. pratiques... ● … Sur lequel nous nous basons pour installer lagilité. http://etre-agile.com 45
  • 47. Un dernier mot● XP ● LAgile se définit en● Scrum – Valeurs● Lean Software Dev – Principes● Kanban ● Être agile cest mettre en pratique● ... ces principes ● Soit vous « achetez » ces valeurs, soit... http://etre-agile.com 46
  • 48. Bienvenue en agilité Thierry Cros http://etre-agile.com Twitter @thierrycros Mél : tco@thierrycros.netIllustration : NASA http://etre-agile.com 47
  • 49. Itération,objectif : TERMINER les histoires Produit testé V(n+1) et incrémenté. ITERATION (sprint) Nouveau backlog Périmètre de litération = { Histoires } http://etre-agile.com 48
  • 50. Une autre façon de dire le modèle « théorique » UML Cest la quête éperdue vers la perfection MDA (avant décrire du code) qui est à lorigine de lagilité CMMI Anderson, Agile2008 BPM LAgilité va à lencontre du « big * » http://etre-agile.com 49
  • 51. (R)UP : (Rational) Unified Process - Piloté par les cas dutilisation - Itératif incrémental http://etre-agile.com 50 - Centré architecture
  • 52. Dérives usuelles (1) Fonctionnalités utilisées dans un système Parfois Rarement 16% 19% JamaisSouvent 45% 13% Toujours 7% Standish Group Study Reported at XP2002 by Jim Johnson, Chairman http://etre-agile.com 51
  • 53. Dérives usuelles (2) 100% Début IntegrationRéalisation du développement corrections (% codé) Date Date réelle de fin cible prévue Avancement du projet http://etre-agile.com 52 Daprès Walker Royce