Transcript
Page 1: 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 ?

Page 2: soft-shake.ch - Agile qu'es aco : scrum xp lean
Page 3: soft-shake.ch - Agile qu'es aco : scrum xp lean

Agile...Qu'es aco ?

Thierry Gabriel Cros

Page 4: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 2

Agenda● Agile ?● Extreme Programming● Scrum● Lean Software Development● Kanban● En guise de conclusion...

Page 5: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 3

Les façons de faire

● Hors agile, nous rencontrons essentiellement deux styles de développement...

Page 6: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 4

1. Cycles en V

Spécification

Conceptionpréliminaire

Conceptiondétaillée

Testsunitaires

Intégration

Validation

Codage

CascadeCycle en V

Page 7: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 5

2. L'Arrache (ou La Rache)

● Également connu sous le nom de …

http://www.djibnet.com

Page 8: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 6

Alors...

● Cycle en V ?● Cow-boy ?● …

Page 9: soft-shake.ch - Agile qu'es aco : scrum xp lean

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é.

Page 10: soft-shake.ch - Agile qu'es aco : scrum xp lean

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 !

Page 11: soft-shake.ch - Agile qu'es aco : scrum xp lean

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.

Page 12: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 13: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 11

2001 : Le manifeste agile

● 4 valeurs● 12 principes● Une histoire

Quand des anarchistes organisationnels se rencontrent...

Page 14: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 12

Le Manifeste

Source : agilemanifesto.org

Page 15: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 16: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 17: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 18: soft-shake.ch - Agile qu'es aco : scrum xp lean

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é.

Page 19: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 20: soft-shake.ch - Agile qu'es aco : scrum xp lean

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 ?

Page 21: soft-shake.ch - Agile qu'es aco : scrum xp lean

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 » ?

Page 22: soft-shake.ch - Agile qu'es aco : scrum xp lean

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é

Page 23: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 21

Extreme Programming : ce célèbre inconnu

Page 24: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 25: soft-shake.ch - Agile qu'es aco : scrum xp lean

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. »

Page 26: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 27: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://thierrycros.net 25

Le « paquetage » XP

Valeurs

Principes

PratiquesRôles

Cycle de Vie

Page 28: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 29: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 30: soft-shake.ch - Agile qu'es aco : scrum xp 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 !

Page 31: soft-shake.ch - Agile qu'es aco : scrum xp lean

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)

Page 32: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 33: soft-shake.ch - Agile qu'es aco : scrum xp lean

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– ...

Page 34: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 35: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 36: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://thierrycros.net 34

Conception émergente

● Itération 1Histoires

d'utilisation A320

● Itération nHistoires du A380

A320

A320

Avion

A380

YAGNI !

Page 37: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://thierrycros.net 35

Scrum : la marque qui fait vendre l'agilité

Page 38: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 39: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 40: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 41: soft-shake.ch - Agile qu'es aco : scrum xp lean

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)

Page 42: soft-shake.ch - Agile qu'es aco : scrum xp lean

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)

Page 43: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 41

Lean Software Develoment :une autre voie vers l'agilité

Page 44: soft-shake.ch - Agile qu'es aco : scrum xp lean

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– ...

Page 45: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 46: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 47: soft-shake.ch - Agile qu'es aco : scrum xp lean

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é.

Page 48: soft-shake.ch - Agile qu'es aco : scrum xp lean

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...

Page 49: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 47

Bienvenue en agilité

Illustration : NASA

Thierry Cros

http://etre-agile.com

Twitter@thierrycros

Mél :[email protected]

Page 50: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 51: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 52: soft-shake.ch - Agile qu'es aco : scrum xp lean

http://etre-agile.com 50

(R)UP : (Rational) Unified Process

- Piloté par les cas d'utilisation- Itératif incrémental- Centré architecture

Page 53: soft-shake.ch - Agile qu'es aco : scrum xp lean

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

Page 54: soft-shake.ch - Agile qu'es aco : scrum xp lean

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


Top Related