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
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 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)
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 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 : 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
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
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é
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)
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)
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
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