soft-shake.ch - Agile qu'es aco : scrum xp lean
-
Upload
soft-shakech -
Category
Documents
-
view
2.069 -
download
0
description
Transcript of soft-shake.ch - Agile qu'es aco : scrum xp lean
cocktail d’expérience informatiques
Genève 3 & 4 octobre 2011
Seconde édition
Track
Auteur
Session
Agile
Thierry Gabriel CROS
Agile... Qu'es aco ?
Agile...Qu'es aco ?
Thierry Gabriel Cros
http://etre-agile.com 2
Agenda● Agile ?● Extreme Programming● Scrum● Lean Software Development● Kanban● En guise de conclusion...
http://etre-agile.com 3
Les façons de faire
● Hors agile, nous rencontrons essentiellement deux styles de développement...
http://etre-agile.com 4
1. Cycles en V
Spécification
Conceptionpréliminaire
Conceptiondétaillée
Testsunitaires
Intégration
Validation
Codage
CascadeCycle en V
http://etre-agile.com 5
2. L'Arrache (ou La Rache)
● Également connu sous le nom de …
http://www.djibnet.com
http://etre-agile.com 6
Alors...
● Cycle en V ?● Cow-boy ?● …
http://etre-agile.com 7
Méthode :Empirique ou théorique ?
Process Dynamics, Modeling, and Control, Ogunnaike et Ray,
Oxford University Press, 1992
Il est normal d'adopter l'approche 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 l'approche
définie, alors l'approche empirique est le choix approprié.
http://etre-agile.com 8
Empirique ?
● Empirique != désordonné● Empirique != indiscipliné● … Au contraire !
Si vous partez à l'aventure et si vous êtes un tantinet sérieux,
vous faites très attention !
http://etre-agile.com 9
Un peu d'histoire...
● 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 10
Agile : définition
● Autant de définitions que d'Agilistes...● Pourtant, l'agilité a une histoire et un texte
fondateur en 2001 :
Le manifeste agilehttp://agilemanifesto.org
http://etre-agile.com 11
2001 : Le manifeste agile
● 4 valeurs● 12 principes● Une histoire
Quand des anarchistes organisationnels se rencontrent...
http://etre-agile.com 12
Le Manifeste
Source : agilemanifesto.org
http://thierrycros.net 13
Dilbert ? Non, merci.
« … l'Extreme Programming a connu un développement dans son utilisation et son intérêt, non pas grâce à la programmation en binôme ou au refactoring, mais parce que, pris dans leur ensemble, ses pratiques définissent une communauté de développeurslibérée des poids des sociétés "Dilbertesques". »
Histoire du Manifeste agile, Jim Highsmith
Traduction de Fabrice Aimettihttp://www.fabrice-aimetti.fr
http://thierrycros.net 14
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 d'incompé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. »Source : wikipedia
http://etre-agile.com 15
En résumé
● Années 80– Lean
● Années 90– Scrum, XP, ...
● 2001 : le manifeste agile
● Pendant plusieurs années
– Confidentiel– Pionniers
● Depuis, l'agile est devenu une alternative crédible
– Scrum + XP– Lean Software– Kanban
http://etre-agile.com 16
Agile aujourd'hui : une boite à outils
● Les méthodes ou guides (XP, Lean...)véritablement agiles offrent plus que le manifeste agile.
● Toutes ces méthodes forment un framework de plusieurs dizaines de principes et pratiques...
● … Sur lequel nous nous basons pour installer l'agilité.
http://etre-agile.com 17
Agile : quatre axes fondateurs
Empirique
CentréImportance Métier
Auto-similaritéFeedbackconcret & rapide
Amélioration continue
ÉquipeAuto-organisée
* Responsabilité* Hédonisme
http://etre-agile.com 18
Intérêt d'un feed-backconcret et rapide
Début du Retour sur
Investissement
Approche agile
Feedback des Utilisateurs, de l'exploitation
Ajuster, voire rectifierles besoins,la solution informatique :à 3 mois, à un an ?
http://etre-agile.com 19
Un autre principe clé de l'agilité
● « Les meilleures spécifications, conceptions et architectures émergent d'équipes auto-organisées »
– Émergence des specs ?– Émergence de la conception, de
l'architecture ?– Grâce à une « Équipe auto-organisée » ?
http://etre-agile.com 20
Intérêt de l'auto-organisation
● Pas de gaspillage d'opportunités : possibilité de proposer
● Interaction Utilisateur / Développeur
● La Vision du produit, partagée, est un attracteur dans une équipe auto-organisée
● Pas de chef = plus de responsabilité
http://etre-agile.com 21
Extreme Programming : ce célèbre inconnu
http://thierrycros.net 22
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 23
Extreme « Programming »
● Quelles activités apportent vraiment une Valeur Ajoutée ?
● Programming« Coder » (Java...)Paramétrer
● Programming = Réaliser le produit
Remettre en cause, réduire voire éliminer les activités « non V.A. »
http://thierrycros.net 24
« Extreme » Programming
● Une fois les activités « non VA » réduites, quelles activités conserver et dans quelle proportion ?
● Dialogues● Tests● Conception● Relecture
Extreme Programming = « Pousser à fond » les activités qui apportent de la valeur
http://thierrycros.net 25
Le « paquetage » XP
Valeurs
Principes
PratiquesRôles
Cycle de Vie
http://thierrycros.net 26
Rôles
● Une équipe, plusieurs rôlesClient (Product Manager)
Spécifie les demandes et les tests-client, planifie en tenant compte de la VA des demandes
DéveloppeurEstime les demandes, réalise
ManagerFait confiance, aplanie le terrain,
● Un point focal pour tous: la Valeur Métier offerte par le produit
http://thierrycros.net 27
Valeurs de l' Extreme Programming● Communication
Combien d'exemples... et de contre-exemples !
● FeedbackPour contrôler à partir d'éléments les plus objectifs
● SimplicitéLe pari de l'Extreme Programming, pour tous, tout le temps
● CourageDe changer de rôle, de vision du produit
● RespectRespecter et être respecté en tant quepersonne
Principe Lean
http://etre-agile.com 28
Un Cycle de Vie agile : livrer rapidement et régulièrement
Engagement
Pilotage par feedback
Exploration2
1
3 4
nMort
de l'appli
5 ...
1. Fin d'exploration : carottages, architecture, périmètre initial, estimations2. Engagement : premières valeurs des variables projet :
- Coût- Délais- Périmètre- Qualité
3. 4. 5. … Les différentes versions livréesn. Fin de l'application.
Principe : Le client en choisit 3, le Développeur la quatrième.
2 mois max.
1 semaine
Des années !
http://thierrycros.net 29
Au cœur de l'expression de besoins : les « user stories » d'XP
En tant que Pilote,je règle le commutateur en mode "
niveau horizontal" afin de maintenir les ailes à l'horizontale
et l'avion sur sa trajectoire initiale.
800
5
Valeur Métier (surtout thème)
Estimation (jours réels ou points)
Une histoire est :1) un déclencheur de discussions dans l'équipe
2) l'unité de planification (correspondance histoire / itération)
http://thierrycros.net 30
Story : les 3C*
● Carte● Conversation
– Pour estimer, développer la story● Confirmation
– Tests d'acceptation
Tout n'est pas écrit* cf. Ron. Jeffries
http://thierrycros.net 31
Importance des Tests d'Acceptation
● Spécifier un test, c'est spécifier le produit● « Deal » entre Product Manager et
Développeurs● Automatiser les T.A.
– Fitnesse– GreenPepper– ...
http://thierrycros.net 32
Développement agile : emblématique de l'Extreme 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://etre-agile.com 33
Développement agile
● Produit malléable● Environnements
performants :– Cartes perforées
vsIntelli J...
– Temps de « compilation »
● Test Driven Development
● Refactoring● Conception
émergente
http://thierrycros.net 34
Conception émergente
● Itération 1Histoires
d'utilisation A320
● Itération nHistoires du A380
A320
A320
Avion
A380
YAGNI !
http://thierrycros.net 35
Scrum : la marque qui fait vendre l'agilité
http://etre-agile.com 36
Scrum en un schéma
AnnulerEmballageRetour
Itération1-3 semaines
Retour
But du sprint
Tâches Produit partiel potentiellement
utilisable
CouponsEmballageCoupons
Annuler
24 heures
http://etre-agile.com 37
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 38
Scrum : les rôles
● Product Owner– Exprime les
besoins– Priorise– Valide
● ScrumMaster– Garant de Scrum
● Équipe de Développement
– Estime l'effort nécessaire
– Fabrique le produit
http://etre-agile.com 39
Scrum : le cérémonial
● Sprint Meeting (plan d'itération)● Sprint Review (Revue)● Rétrospective (l'amélioration, 12ème principe)
● Daily Scrum Meeting (mélée quotidienne)
http://etre-agile.com 40
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 41
Lean Software Develoment :une autre voie vers l'agilité
v1
Lean Software - Être Agile 42
q Agile, Lean, Lean Softwareq Les sept principes de base
● 1. Éliminer les gaspillages● 2. Améliorer le système● 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
q
Agenda● Outils
– SIPOC– Value Stream Mapping– Go & See– ...
v1
Lean Software - Être Agile 43
Une autre conduite du changement
● AS IS● TO BE
● Scrum + XP– Le « package »
● L.S.D.– Améliorer
l'existant
v1
Lean Software - Être Agile 44
Kanban : le dernier venu
● Visualiser le workflow– Identifier le goulot
● Limiter le Work In Progress
– Terminer plutôt que commencer
● Optimiser le temps de cycle
– Début du travail sur un élément
– Début du cash-back
http://etre-agile.com 45
Agile aujourd'hui : une boite à outils
● Les méthodes ou guides (XP, Lean...)véritablement agiles offrent plus que le manifeste agile.
● Toutes ces méthodes forment un framework de plusieurs dizaines de principes et pratiques...
● … Sur lequel nous nous basons pour installer l'agilité.
http://etre-agile.com 46
Un dernier mot
● XP● Scrum● Lean Software Dev● Kanban● ...
● L'Agile se définit en – Valeurs– Principes
● Être agile c'est mettre en pratique ces principes
● Soit vous « achetez » ces valeurs, soit...
http://etre-agile.com 47
Bienvenue en agilité
Illustration : NASA
Thierry Cros
http://etre-agile.com
Twitter@thierrycros
Mél :[email protected]
http://etre-agile.com 48
Itération,objectif : TERMINER les histoires
ITERATION(sprint)
V(n+1)Produit testé
et incrémenté.
Périmètrede l'itération
= { Histoires }
Nouveau backlog
http://etre-agile.com 49
Une autre façon de dire le modèle « théorique »
C'est la quête éperduevers la perfection (avant d'écrire du code) qui est à l'origine de l'agilité
Anderson, Agile2008
L'Agilité va à l'encontre du « big * »
UML
MDA
CMMI
BPM
http://etre-agile.com 50
(R)UP : (Rational) Unified Process
- Piloté par les cas d'utilisation- Itératif incrémental- Centré architecture
http://etre-agile.com 51
Dérives usuelles (1)
Toujours7%
Souvent13%
Parfois16% Rarement
19%
Jamais45%
Standish Group Study Reported at XP2002 by Jim Johnson, Chairman
Fonctionnalités utilisées
dans un système
http://etre-agile.com 52
Dérives usuelles (2)
correctionscorrections
100%
Avancement du projet
Réali
satio
n du
dév
elopp
emen
t(%
codé
)
Date cible prévue
Début Integration
Date réellede fin
D'après Walker Royce