IUT Lyon 1 - 20 Juin 2012



          Méthodes


                             Introduction
                               à l'agilité
@Agnes_Crepet
@Morendil
@AlfredAlmendra
Survol des principales méthodes

Spirale / RAD / PUMA, UP / RUP, XP, Scrum, Xbreed, Lean,
Kanban, ScrumBan, Crystal / ASD, DSDM

L’agilité c’est s’approprier ce qui a de la valeur pour nous, et
abandonner ce qui n’en a pas.

En savoir plus :

 ● http://institut-agile.fr/ : plus de 60 méthodes et pratiques
   agiles en ligne !

 ● http://www.realsearchgroup.org/portal/ Présentation des
   principales et méthodes
AM
http://agilemodeling.com/
Grille de choix simpliste
 ● TMA, MCO (prédictif, command/control) : Kanban (cf.
   laurent morisseau @lmorisseau)
 ● dév (exploration, qualité, pérénnité) : XP (cf. Thierry Cros
   @thierrycros)
 ● team (collaboration, cycle itératif/incrémental) : Scrum (cf.
   Claude Aubry @claudeaubry)
 ● organisation historiquement non agile : DSDM (cf. Matthew
   Caine @mc_mcpa)
 ● management : Lean management (cf. Jean-Claude
   Grosjean @jcQualitystreet)
 ● entreprenariat : Lean startup
 ● pour tous :
     ○ l'amélioration continue : Lean, PDCA
     ○ le réfétentiel des méthodes et pratiques agiles de
       l'institut agile pour y faire son marché et expérimenter
MODELE EN SPIRALE

            RAD
 (Rapid Application Development)


          PUMA
Barry Boehm article A Spiral Model of Software Development and Enhancement (1986)
1ère version opérationnelle publiée par James Martin en 1991 sous le
nom de RAD (développement rapide d'applications)

Niveau de planification stratégique (par Jean-Pierre Vickoff)




PUMA (sur rad.fr) : Proposition pour l'Unification des Méthodes
Agiles
UP / RUP
UP en quelques mots
Le processus UP (abréviation de Unified Processus) a été créé
par les mêmes personnes qu'UML (Rumbaugh, Booch et
Jacobson) en 1997.

UP répond aux exigences fondamentales préconisées par les
créateurs d’UML :

 ● une méthode de développement doit être guidée par les
   besoins des utilisateurs

 ● elle doit être centrée sur l’architecture logicielle

 ● elle doit être itérative et incrémentale

Centré cas d’utilisation (Use Case)
Phases RUP
XP

eXtreme Programming
XP (eXtreme Programming)
Adaptée aux équipes réduites avec des besoins changeants
But principal : réduire les coûts du changement
Valeurs : communication, simplicité, feedback, courage, respect

Pratiques : planning poker, TDD et intégration continue, refactoring,
programmation en binôme, n'optimiser qu'à la toute fin
SCRUM
Scrum en quelques mots
Scrum est un processus agile qui permet de produire la plus
grande valeur métier dans la durée la plus courte

Du logiciel qui fonctionne est produit à chaque « sprint » (2 à 4
semaines) = timebox

Le métier définit les priorités. L'équipe s'organise elle-même
pour déterminer la meilleure façon de produire les exigences
les plus prioritaires

A chaque fin de sprint : release déployable et testable par les
utilisateurs finaux

Deux rôles importants dans l’équipe Scrum : Product Owner et
Scrum Master
Product Owner (PO)                              Scrum Master (SM)

Définit les fonctionnalités du produit      Vulgarise les valeurs et les pratiques de Scrum

Définit les priorités dans le backlog en    Contribue à améliorer les outils et les pratiques
fonction de la valeur « métier »            de l’ingénierie

Ajuste les fonctionnalités et les priorités à Facilite une coopération poussée entre tous les
chaque itération si nécessaire                rôles et fonctions

Teste les releases                          Protège l'équipe des interférences extérieures

Accepte ou rejette les résultats            Met l’accent sur la créativité et la gestion
                                            autonome des membres
Scrum




Temps fixe des itérations, itération de refactoring, visibilité sur
1 ou 2 itérations

Attention d'éviter les goulots d'étranglement (spécs d'avance)
Présence PO : spécification, développement, recette
Scrum
L'équipe, les rôles, l'organisation

Métaphores
 ● BTP : CP, architecte, MOA, MOE
     ○ Contrôle, prédictif
 ● Rugby : SM, PO, TM
     ○ Lâché prise, créativité

Stakeholder : parties prenantes
Chicken and pig
Scrum : activités, collaboration
Scrum : stand up (daily meeting)

3 questions :
  ● qu'avez-vous fait hier ?
  ● qu'allez-vous faire aujourd'hui ?
  ● qu'est-ce qui bloque l'avancement ?

Tous les "acteurs" parlent (au sens "task board")
 ● pas uniquement les développeurs

Time-boxing
 ● pas uniquement aux stand-up
Scrum : vélocité, burndown chart
Scrum : vélocité, burndown chart



Michel Goldenberg
au CARA Lyon le 5/12/2011

Inputs : mou et rythme soutenable

Montée en compétences de l'équipe, profil T, market skills,
coding dojo, vélocité + mou, expertise ou apprentissage

Trop lent : répartition par expertise
Trop vite : capitalisation des connaissances
1h12'
XBREED
XBREED

XP + SCRUM

Librairies modulaires réutilisables
LEAN
Lean
" Good Thinking
 Good Products "

TPS (Toyota ou Thinking Production System) : baptisé Lean (MIT, 1980)

Le Lean c'est l'élimination des pertes, c-a-d du travail qui n'apporte aucune
valeur métier à un produit ou à un service.
D'abord présent dans l'industrie, la santé, les services, etc...

Lean Software Development : le Lean dans le développement logiciel
Lean IT : application du Lean aux systèmes d'information
Lean Startup : application du Lean à l'entreprenariat

Objectif : Générer la valeur ajoutée maximale au moindre coût et au plus vite.
C’est donc bien une méthode agile !

Parfait pour la gouvernance, mais pas uniquement
Lean SD (oui, LSD !)
Modèle itératif et agile mettant en avant 7 principes :

1. Eliminer les gaspillages
 ● Tout ce qui n'apporte pas de valeur au produit. La valeur étant définie du
   point de vue de l'utilisateur.

2. Améliorer l'apprentissage
3. Retarder l'engagement
4. Livrer aussi vite que possible
5. Donner le pouvoir à l'équipe
6. Intégrer la qualité dès la conception
7. Considérer le produit dans sa globalité
Amélioration continue (PDCA, Lean A3)




                          Voir aussi PDSA :
                           Study > Check
Performance et satisfaction utilisateur
Régis Médina
au CARA Lyon le 5/04/2012
http://www.youtube.com/watch?v=9kBpKpHWKiw - 1h05'



Agilité + UX (expérimentation) + amélioration continue (PDCA)
= performance et satisfaction utilisateur

Eviter à l'utilisateur de perdre son temps
= éliminer ce qui lui fait gaspiller du temps

Apprendre à écouter et observer sans parler
= pour laisser l'utilisateur verbaliser

2 malédictions : du savoir (technique), de l'ignorance (métier)
KANBAN
Méthode d'amélioration des processus
 ● Dimensionner et maîtriser les stocks (Flux tiré, limiter le WIP/TAF)
 ● Simplifier visuellement le suivi et la planification
 ● Parfait pour une TMA, mais pas uniquement
Kanban


Les fondations
 ● Commencer là ou vous en êtes
 ● En respectant le processus actuel, les rôles et responsabilités
 ● S’engager à changer de manière incrémentale
 ● Et encourager les actes de leadership à tous les niveaux de votre organisation (NEW)


Les pratiques
 ● Visualiser
 ● Limiter le travail en cours (WIP/TAF)
 ● Gérer le flux
 ● Rendre les caractéristiques du processus explicite
 ● Implémenter des boucles de feedbacks (NEW)
 ● S’améliorer de manière collaborative (en utilisant des modèles et une méthode
   scientifique)
SCRUMBAN
ScrumBan
Une transition progressive de Scrum vers Kanban :
 ● Cycle itératif vers flux tiré
 ● D'abord, 1 gestion de flux (workflow) par sprint
LEAN STARTUP
Lean Startup
Pour vous qui montez ou allez monter votre startup…


Eric Ries et Steven Gary Blank



Quelques indications:
 ● lancez votre produit le plus vite possible
 ● recherchez du feedback
 ● pas de besoin = pas d’avenir
Lean Startup
Itérer très rapidement sur des expérimentations :
  ● exploration client / produit : 1 ou 2 hypothèses à la fois
      ○ comprendre le problème, puis définir une solution
  ● valider qualitativement (MVP : minimum valuable product)
  ● vérifier quantitativement
  ● persévérer ou pivoter
Enfin seulement :
  ● création produit / entreprise
Lean Startup
Crystal

      ASD
Adaptive Software
  Development
Crystal / ASD

Organisation et processus légers pour être adaptables

Communication omniprésente

6 équipiers max, dans la même pièce

Schémas de modélisation en groupe et sur tableau blanc

Collaboration avec le client : nombreuses conversations entre
utilisateurs et développeurs

Livraisons fréquentes et opérationnelles : suivi du client et
propositions de changements
DSDM

 Dynamic Systems
Development Method
DSDM
DSDM

#7 méthodes

  • 1.
    IUT Lyon 1- 20 Juin 2012 Méthodes Introduction à l'agilité @Agnes_Crepet @Morendil @AlfredAlmendra
  • 2.
    Survol des principalesméthodes Spirale / RAD / PUMA, UP / RUP, XP, Scrum, Xbreed, Lean, Kanban, ScrumBan, Crystal / ASD, DSDM L’agilité c’est s’approprier ce qui a de la valeur pour nous, et abandonner ce qui n’en a pas. En savoir plus : ● http://institut-agile.fr/ : plus de 60 méthodes et pratiques agiles en ligne ! ● http://www.realsearchgroup.org/portal/ Présentation des principales et méthodes
  • 3.
  • 4.
    Grille de choixsimpliste ● TMA, MCO (prédictif, command/control) : Kanban (cf. laurent morisseau @lmorisseau) ● dév (exploration, qualité, pérénnité) : XP (cf. Thierry Cros @thierrycros) ● team (collaboration, cycle itératif/incrémental) : Scrum (cf. Claude Aubry @claudeaubry) ● organisation historiquement non agile : DSDM (cf. Matthew Caine @mc_mcpa) ● management : Lean management (cf. Jean-Claude Grosjean @jcQualitystreet) ● entreprenariat : Lean startup ● pour tous : ○ l'amélioration continue : Lean, PDCA ○ le réfétentiel des méthodes et pratiques agiles de l'institut agile pour y faire son marché et expérimenter
  • 5.
    MODELE EN SPIRALE RAD (Rapid Application Development) PUMA
  • 6.
    Barry Boehm articleA Spiral Model of Software Development and Enhancement (1986)
  • 7.
    1ère version opérationnellepubliée par James Martin en 1991 sous le nom de RAD (développement rapide d'applications) Niveau de planification stratégique (par Jean-Pierre Vickoff) PUMA (sur rad.fr) : Proposition pour l'Unification des Méthodes Agiles
  • 8.
  • 9.
    UP en quelquesmots Le processus UP (abréviation de Unified Processus) a été créé par les mêmes personnes qu'UML (Rumbaugh, Booch et Jacobson) en 1997. UP répond aux exigences fondamentales préconisées par les créateurs d’UML : ● une méthode de développement doit être guidée par les besoins des utilisateurs ● elle doit être centrée sur l’architecture logicielle ● elle doit être itérative et incrémentale Centré cas d’utilisation (Use Case)
  • 10.
  • 11.
  • 12.
    XP (eXtreme Programming) Adaptéeaux équipes réduites avec des besoins changeants But principal : réduire les coûts du changement Valeurs : communication, simplicité, feedback, courage, respect Pratiques : planning poker, TDD et intégration continue, refactoring, programmation en binôme, n'optimiser qu'à la toute fin
  • 13.
  • 14.
    Scrum en quelquesmots Scrum est un processus agile qui permet de produire la plus grande valeur métier dans la durée la plus courte Du logiciel qui fonctionne est produit à chaque « sprint » (2 à 4 semaines) = timebox Le métier définit les priorités. L'équipe s'organise elle-même pour déterminer la meilleure façon de produire les exigences les plus prioritaires A chaque fin de sprint : release déployable et testable par les utilisateurs finaux Deux rôles importants dans l’équipe Scrum : Product Owner et Scrum Master
  • 15.
    Product Owner (PO) Scrum Master (SM) Définit les fonctionnalités du produit Vulgarise les valeurs et les pratiques de Scrum Définit les priorités dans le backlog en Contribue à améliorer les outils et les pratiques fonction de la valeur « métier » de l’ingénierie Ajuste les fonctionnalités et les priorités à Facilite une coopération poussée entre tous les chaque itération si nécessaire rôles et fonctions Teste les releases Protège l'équipe des interférences extérieures Accepte ou rejette les résultats Met l’accent sur la créativité et la gestion autonome des membres
  • 16.
    Scrum Temps fixe desitérations, itération de refactoring, visibilité sur 1 ou 2 itérations Attention d'éviter les goulots d'étranglement (spécs d'avance) Présence PO : spécification, développement, recette
  • 17.
    Scrum L'équipe, les rôles,l'organisation Métaphores ● BTP : CP, architecte, MOA, MOE ○ Contrôle, prédictif ● Rugby : SM, PO, TM ○ Lâché prise, créativité Stakeholder : parties prenantes Chicken and pig
  • 18.
    Scrum : activités,collaboration
  • 19.
    Scrum : standup (daily meeting) 3 questions : ● qu'avez-vous fait hier ? ● qu'allez-vous faire aujourd'hui ? ● qu'est-ce qui bloque l'avancement ? Tous les "acteurs" parlent (au sens "task board") ● pas uniquement les développeurs Time-boxing ● pas uniquement aux stand-up
  • 20.
    Scrum : vélocité,burndown chart
  • 21.
    Scrum : vélocité,burndown chart Michel Goldenberg au CARA Lyon le 5/12/2011 Inputs : mou et rythme soutenable Montée en compétences de l'équipe, profil T, market skills, coding dojo, vélocité + mou, expertise ou apprentissage Trop lent : répartition par expertise Trop vite : capitalisation des connaissances
  • 22.
  • 23.
  • 24.
    XBREED XP + SCRUM Librairiesmodulaires réutilisables
  • 25.
  • 26.
    Lean " Good Thinking Good Products " TPS (Toyota ou Thinking Production System) : baptisé Lean (MIT, 1980) Le Lean c'est l'élimination des pertes, c-a-d du travail qui n'apporte aucune valeur métier à un produit ou à un service. D'abord présent dans l'industrie, la santé, les services, etc... Lean Software Development : le Lean dans le développement logiciel Lean IT : application du Lean aux systèmes d'information Lean Startup : application du Lean à l'entreprenariat Objectif : Générer la valeur ajoutée maximale au moindre coût et au plus vite. C’est donc bien une méthode agile ! Parfait pour la gouvernance, mais pas uniquement
  • 27.
    Lean SD (oui,LSD !) Modèle itératif et agile mettant en avant 7 principes : 1. Eliminer les gaspillages ● Tout ce qui n'apporte pas de valeur au produit. La valeur étant définie du point de vue de l'utilisateur. 2. Améliorer l'apprentissage 3. Retarder l'engagement 4. Livrer aussi vite que possible 5. Donner le pouvoir à l'équipe 6. Intégrer la qualité dès la conception 7. Considérer le produit dans sa globalité
  • 28.
    Amélioration continue (PDCA,Lean A3) Voir aussi PDSA : Study > Check
  • 29.
    Performance et satisfactionutilisateur Régis Médina au CARA Lyon le 5/04/2012 http://www.youtube.com/watch?v=9kBpKpHWKiw - 1h05' Agilité + UX (expérimentation) + amélioration continue (PDCA) = performance et satisfaction utilisateur Eviter à l'utilisateur de perdre son temps = éliminer ce qui lui fait gaspiller du temps Apprendre à écouter et observer sans parler = pour laisser l'utilisateur verbaliser 2 malédictions : du savoir (technique), de l'ignorance (métier)
  • 30.
  • 31.
    Méthode d'amélioration desprocessus ● Dimensionner et maîtriser les stocks (Flux tiré, limiter le WIP/TAF) ● Simplifier visuellement le suivi et la planification ● Parfait pour une TMA, mais pas uniquement
  • 32.
    Kanban Les fondations ●Commencer là ou vous en êtes ● En respectant le processus actuel, les rôles et responsabilités ● S’engager à changer de manière incrémentale ● Et encourager les actes de leadership à tous les niveaux de votre organisation (NEW) Les pratiques ● Visualiser ● Limiter le travail en cours (WIP/TAF) ● Gérer le flux ● Rendre les caractéristiques du processus explicite ● Implémenter des boucles de feedbacks (NEW) ● S’améliorer de manière collaborative (en utilisant des modèles et une méthode scientifique)
  • 33.
  • 34.
    ScrumBan Une transition progressivede Scrum vers Kanban : ● Cycle itératif vers flux tiré ● D'abord, 1 gestion de flux (workflow) par sprint
  • 35.
  • 36.
    Lean Startup Pour vousqui montez ou allez monter votre startup… Eric Ries et Steven Gary Blank Quelques indications: ● lancez votre produit le plus vite possible ● recherchez du feedback ● pas de besoin = pas d’avenir
  • 37.
    Lean Startup Itérer trèsrapidement sur des expérimentations : ● exploration client / produit : 1 ou 2 hypothèses à la fois ○ comprendre le problème, puis définir une solution ● valider qualitativement (MVP : minimum valuable product) ● vérifier quantitativement ● persévérer ou pivoter Enfin seulement : ● création produit / entreprise
  • 38.
  • 39.
    Crystal ASD Adaptive Software Development
  • 40.
    Crystal / ASD Organisationet processus légers pour être adaptables Communication omniprésente 6 équipiers max, dans la même pièce Schémas de modélisation en groupe et sur tableau blanc Collaboration avec le client : nombreuses conversations entre utilisateurs et développeurs Livraisons fréquentes et opérationnelles : suivi du client et propositions de changements
  • 41.
  • 42.
  • 43.