$30 off During Our Annual Pro Sale. View Details »

IUT - Cours #1 - Agilité

IUT - Cours #1 - Agilité

Présentation de l'Agilité à des étudiants de l'IUT Informatique d'Aix-en-Provence.

Philippe Creux

February 05, 2013
Tweet

More Decks by Philippe Creux

Other Decks in Programming

Transcript

  1. AGILITÉ
    Philippe Creux
    @pcreux

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. AU PROGRAMME...
    • Agilité
    • Tests automatisés
    • Gestion de Code Source

    View Slide

  6. AGILITÉ
    Un peu d’histoire...

    View Slide

  7. CONSTRUCTION...

    View Slide

  8. 1 - IDÉE

    View Slide

  9. 2 - PLANS

    View Slide

  10. 3 - CONSTRUCTION

    View Slide

  11. 4 - LIVRAISON

    View Slide

  12. TADA....

    View Slide

  13. CONSTRUCTION
    D’UNE MAISON...
    Idée Plans Construction Livraison

    View Slide

  14. CONSTRUCTION
    D’UNE VOITURE...
    Idée Plans Construction Livraison

    View Slide

  15. CONSTRUCTION
    D’UN LOGICIEL...
    Idée Plans Construction Livraison

    View Slide

  16. MODÈLE WATERFALL
    Idée
    Spécification
    Conception
    Développement
    Livraison

    View Slide

  17. MODÈLE WATERFALL
    Idée - Expression des besoins
    Spécification - Cahier des charges
    Conception - UML / Merise...
    Développement
    Livraison

    View Slide

  18. 1 - IDÉE

    View Slide

  19. 2 - SPÉCIFICATION

    View Slide

  20. 3 - CONCEPTION

    View Slide

  21. 4 - DÉVELOPPEMENT

    View Slide

  22. 5 - LIVRAISON

    View Slide

  23. EN 1994...
    • 20% des projets logiciels sont livrés avec succès
    • 60% sont livrés en retard et hors budget
    • 30% sont des échecs

    View Slide

  24. #FAIL

    View Slide

  25. LE CYCLE EN V

    View Slide

  26. View Slide

  27. View Slide

  28. View Slide

  29. View Slide

  30. View Slide

  31. View Slide

  32. View Slide

  33. LE CYCLE EN V

    View Slide

  34. PLANNIFICATION !

    View Slide

  35. View Slide

  36. View Slide

  37. View Slide

  38. View Slide

  39. View Slide

  40. View Slide

  41. View Slide

  42. MANIFESTE AGILE

    View Slide

  43. • Les individus et leurs
    interactions plus que les
    processus et les outils
    • Des logiciels opérationnels
    plus qu’une documentation
    exhaustive
    • La collaboration avec les
    clients plus que la
    négociation contractuelle
    • L’adaptation au
    changement plus que le
    suivi d’un plan
    Nous reconnaissons la valeur des seconds éléments,
    mais privilégions les premiers.
    Nous découvrons comment mieux développer des logiciels
    par la pratique et en aidant les autres à le faire.
    Ces expériences nous ont amenés à valoriser :

    View Slide

  44. View Slide

  45. • Kent Beck
    • Mike Beedle
    • Arie van Bennekum
    • Alistair Cockburn
    • Ward Cunningham
    • Martin Fowler
    • James Grenning
    • Jim Highsmith
    • Andrew Hunt
    • Ron Jeffries
    • Jon Kern
    • Brian Marick
    • Robert C. Martin
    • Steve Mellor
    • Ken Schwaber
    • Jeff Sutherland
    • Dave Thomas
    AUTEURS

    View Slide

  46. LA PRATIQUE

    View Slide

  47. DÉCLINAISONS...
    • eXtrem Programming
    • Scrum
    • Kanban
    • ...

    View Slide

  48. ITÉRATION
    • Développement incrémental
    • À chaque itération:
    • Définition des fonctionnalités à réaliser
    • Développement & Tests
    • Livraison

    View Slide

  49. DÉROULEMENT D’UNE ITÉRATION
    1 Week

    View Slide

  50. BACKLOG PRODUIT
    1 Week

    View Slide

  51. BACKLOG PRODUIT
    En

    View Slide

  52. BACKLOG PRODUIT
    • Le backlog produit liste les tâches à réaliser
    • Les tâches sont ordonnée par ordre d’importance - celle qui
    représentent le plus de “valeur business” en haut.
    • À chaque itération, on extrait les tâches les plus importante
    pour les placer dans le Backlog de l’itération

    View Slide

  53. ESTIMATION

    View Slide

  54. ESTIMATION
    • Afin de remplir le backlog d’itération au mieux, on estime la
    durée des tâches.
    • Plutôt que d’estimer en heures, on estime en points
    • Estimer permet surtout à l’équipe de se mettre d’accord sur
    l’architecture / les stratégies à utiliser.
    • On peut estimer en jouant au Planning Poker!

    View Slide

  55. BACKLOG PRODUIT
    En

    View Slide

  56. BACKLOG PRODUIT
    8

    View Slide

  57. BACKLOG D’ITERATION
    1 Week

    View Slide

  58. BACKLOG ITÉRATION
    • Le backlog d’itération contient les tâches à réaliser lors de
    l’itération
    • Les tâches sont détaillées sous forme de scénario utilisateur

    View Slide

  59. SCÉNARIO UTILISATEUR
    Scénario: Partage de video sur Facebook
    L’utilisateur vient d’enregistrer une video
    Il ou!e le menu “Partager”
    Il choisit l’action “Facebook”
    Un message indique que la video est partag"

    View Slide

  60. DEV, DEV, DEV!
    1 Week

    View Slide

  61. GO!

    View Slide

  62. View Slide

  63. View Slide

  64. View Slide

  65. STAND-UP!

    View Slide

  66. STAND UP
    1 Week

    View Slide

  67. STAND-UP!
    • Chaque jour, réunion de 5 minutes debout pour un stand-up
    meeting (ou scrum meeting)
    • Chaque personne dit:
    • ce qu’elle a fait la veille
    • ce qu’elle compte faire aujourd’hui
    • si quelques chose l’empêche de progresser

    View Slide

  68. STAND UP!

    View Slide

  69. DÉVELOPPEMENT
    ET TESTS
    • Développement guidé par les tests
    • Intégration continue
    • Revue de code

    View Slide

  70. TESTS AUTOMATISÉS

    View Slide

  71. INTÉGRATION CONTINUE

    View Slide

  72. REVUE DE CODE

    View Slide

  73. FIN DE L’ITERATION...

    View Slide

  74. DEMO

    View Slide

  75. View Slide

  76. View Slide

  77. Jouons!
    XP Game

    View Slide

  78. But
    • Jouer trois itérations!
    • Estimer les tâches
    • Plannifier l’iteration
    • Implémenter
    • Retrospect...er

    View Slide

  79. Déroulement
    • Équipes de 5 à 6 joueurs
    • Le but est de gagner le plus de “Valeur
    métier” possibles en 3 itérations

    View Slide

  80. Exemple de tâche

    View Slide

  81. 1 - Estimer

    View Slide

  82. 2 - Prioriser

    View Slide

  83. 3 - Écrire plan d’itération

    View Slide

  84. 4 - Développer!
    • 180 secondes “effectives” pour réaliser un
    maximum de tâches
    • Arrêter le chronomètre entre chaque tâche
    • Demander à un animateur de valider la réalisation

    View Slide

  85. 5 - Fin de l’itération
    • C’est la pause!

    View Slide

  86. Une itération
    1. Estimer (poker planning)
    2. Prioriser (pour maximiser la valeur métier)
    3. Écrire le plan d’itération (Feuille de score)
    4. Go! (180 secondes au total)
    1. [START] - Réaliser la tâche - [STOP]
    2. Validation qualité par animateur
    5. Fin de l’itération (c’est la pause!)

    View Slide