54
cocktail d’expérience informatiques Genève 3 & 4 octobre 2011 Seconde édition Track Auteur Session Agile Thierry Gabriel CROS Agile... Qu'es aco ?

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

Embed Size (px)

DESCRIPTION

Thierry CrosAujourd’hui l’agilité est “mainstream”. Comment s’y retrouver parmi les innombrables présentations, retours d’expérience qui se réclament de l’agilité ?Cette présentation vous propose un bref panorama de l’agilité, depuis ses débuts historiques jusqu’aux évolutions actuelles. Vous allez donc acquérir les informations qui vous permettront de vous forger viotre propre opinion et discerner ainsi ce qui est véritablement agile.http://soft-shake.ch/2011/conference/sessions/agility/2011/09/23/agilte-kesaco.html

Citation preview

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