introduction à l'agilité numélink - 24 mai 2012 - #7 méthodes

39
Introduction à l'agilité Numélink - 24 mai 2012 @Agnes_Crepet @GuillaumeEhret @AlfredAlmendra Méthodes

Upload: agnescrepet

Post on 18-Dec-2014

355 views

Category:

Technology


0 download

DESCRIPTION

Introduction à l'agilité numélink - 24 mai 2012 - #7 Les différentes méthodes

TRANSCRIPT

Page 1: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Introduction à l'agilité

Numélink - 24 mai 2012 

@Agnes_Crepet@GuillaumeEhret @AlfredAlmendra

Méthodes

Page 2: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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

Page 3: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

AMhttp://agilemodeling.com/ 

Page 4: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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 :

o l'amélioration continue : Lean, PDCAo le réfétentiel des méthodes et pratiques agiles de l'institut

agile pour y faire son marché et expérimenter

Page 5: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

MODELE EN SPIRALE

RAD

PUMA

Page 6: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Barry Boehm article A Spiral Model of Software Development and Enhancement (1986)

Page 7: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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  

Page 8: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

UP / RUP

Page 9: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

UP en quelques motsLe 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)

Page 10: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Phases RUP

Page 11: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

XP

eXtreme Programming

Page 12: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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

Pratiques : planning poker, TDD et  intégration continue, refactoring, programmation en binôme, n'optimiser qu'à la toute fin

Page 13: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

SCRUM

Page 14: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Scrum en quelques motsScrum 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

Page 15: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Product Owner (PO)

Définit les fonctionnalités du produit

Définit les priorités dans le backlog en fonction de la valeur « métier »

Ajuste les fonctionnalités et les priorités à chaque itération si nécessaire

Teste les releases

Accepte ou rejette les résultats

Scrum Master (SM)

Vulgarise les valeurs et les pratiques de Scrum

Contribue à améliorer les outils et les pratiques de l’ingénierie

Facilite une coopération poussée entre tous les rôles et fonctions

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

Met l’accent sur la créativité et la gestion autonome des membres

Page 16: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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

Page 17: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

ScrumL'équipe, les rôles, l'organisation

Métaphores• BTP : CP, architecte, MOA, MOE

o Contrôle, prédictif• Rugby : SM, PO, TM

o Lâché prise, créativité

Stakeholder : parties prenantesChicken and pig

Page 18: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Scrum : activités, collaboration

Page 19: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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

Page 20: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Scrum : vélocité, burndown chart

Page 21: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Scrum : vélocité, burndown chart

Michel Goldenbergau 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 expertiseTrop vite : capitalisation des connaissances

Page 22: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

1h12'

Page 23: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

XBREED

Page 24: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

XBREED

XP + SCRUM

Librairies modulaires réutilisables

Page 25: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

LEAN

Page 26: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Lean

" Good Thinking Good Products "

TPS (Toyota ou Thinking Production System) : baptisé Lean par le MIT en 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 logicielLean IT : application du Lean aux systèmes d'informationLean 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

Page 27: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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é

Page 28: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Amélioration continue (PDCA, Lean A3)

Voir aussi PDSA : Study > Check

Page 29: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Performance et satisfaction utilisateur

Régis Médinaau CARA Lyon le 5/04/2012http://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)

Page 30: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

KANBAN

Page 31: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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

Page 32: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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)

Page 33: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

SCRUMBAN

Page 34: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

ScrumBanUne transition progressive de Scrum vers Kanban :• Cycle itératif vers flux tiré• D'abord, 1 gestion de flux (workflow) par sprint

Page 35: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

Crystal

ASDAdaptive Software

Development

Page 36: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

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

Page 37: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

DSDM

Dynamic Systems Development Method

Page 38: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

DSDM

Page 39: Introduction à l'agilité   numélink - 24 mai 2012 - #7 méthodes

DSDM