2. Agenda
● Aux sources de l'Agile
● l'Agile : le Manifeste
● Extreme Programming,
Scrum
● Lean Software
Development
● Quelle Agilité pour votre
organisation ?
http://etre-agile.com 2
Crédit photo : stockxpert
3. Agenda
● Aux sources de l'Agile
● l'Agile : le Manifeste
● Extreme Programming,
Scrum
● Lean Software
Development
● Quelle Agilité pour votre
organisation ?
http://etre-agile.com 3
Crédit photo : stockxpert
4. Logiciel : le contexte
● Budget : réduction, pression
● « Time to Market » toujours plus prégnant
– Réaction aux changements ?
● Indice de satisfaction des projets ?
– Coût
– Délais
– Qualité : réponse effective aux besoins de
l'Utilisateur
http://etre-agile.com 4
5. Dérives usuelles (1)
Fonctionnalités utilisées
dans un système
Parfois Rarement
16% 19%
Jamais
Souvent 45%
13%
Toujours
7%
Standish Group Study Reported at XP2002 by Jim Johnson, Chairman
http://etre-agile.com 5
6. Dérives usuelles (2)
100% Début
Integration
Réalisation du développement
corrections
(% codé)
Date Date réelle
de fin
cible prévue
Avancement du projet
http://etre-agile.com 6
D'après Walker Royce
7. Les chiffres qui font mal...
● Selon les études (Gardner...) seulement 1/3
des projets est considéré comme un succès.
– Sommes-nous si mauvais ?
– Est-ce plutôt une question de perception, de
mesure inadéquate ?
– Et si, tout simplement, nous sous-estimions la
complexité de notre métier...
http://etre-agile.com 7
8. Au fait...
● C'est quoi un « logiciel » ?
- Un logiciel est toujours « embarqué »
- Logiciel ou software ?
- Durée de vie d'un logiciel ?
http://etre-agile.com 8
9. Valeur de l'outil informatique ?
● Capital matériel ...
o Matériels (serveurs, réseaux, postes de travail...)
o Logiciels
o Data center
● … Et immatériel
o Contribution de l'outil informatique dans les
« Compétences, connaissances, savoir-faire,
expériences des employés et des décideurs de
l'organisation »
http://etre-agile.com 9
10. Quid de l'outil informatique ?
● Direction générale ● Opérations,
o Valeur produite Commerce
par le SI ? o Comment la DSI
o DSI alignée ? nous aide-t-elle à
o Apport de la DSI (mieux)
pour notre • Produire
• Innovation • Vendre
• croissance • Gérer
● DSI
o Mon métier dans
l'organisation ?
http://etre-agile.com 10
11. Une histoire, trois acteurs
Direction
Métiers DSI
Trois acteurs du changement vers l'agile
http://etre-agile.com 11
12. Approche :
empirique ou théorique ?
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é.
Process Dynamics, Modeling, and Control,
Ogunnaike et Ray,
Oxford University Press, 1992
http://etre-agile.com 12
13. Cycles de vie, un peu d'histoire
Spécification Validation
Cascade
Cycle en V Conception
préliminaire Intégration
Conception Tests
détaillée unitaires
Codage
http://etre-agile.com 13
14. (R)UP : (Rational) Unified Process
- Piloté par les cas d'utilisation
- Itératif incrémental http://etre-agile.com 14
- Centré architecture
15. Réaction
UML
C'est la quête éperdue
vers la perfection
MDA
(avant d'écrire du code)
qui est à l'origine de l'agilité
CMMI Anderson, Agile2008
BPM
L'Agilité va à l'encontre du « big * »
http://etre-agile.com 15
16. Un peu d'histoire...
● Années 90 : des expérimentations empiriques,
légères, face aux méthodes lourdes
● La communauté XP est à l'origine de la
rencontre, en février 2001, des concepteurs de
ces différentes méthodes « légères »...
● … Ce qui va aboutir au Manifeste, expression
des points communs à toutes ces méthodes
alternatives.
http://etre-agile.com 16
17. Aux sources de l'Agile
● Manifeste agile (2001)
– Valeurs
● Principes
– Histoire du manifeste
Les Anarchistes organisationnels
http://thierrycros.net 17
18. 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éveloppeurs
libérée des poids des sociétés "Dilbertesques". »
Histoire du Manifeste agile, Jim Highsmith
Traduction de Fabrice Aimetti
http://www.fabrice-aimetti.fr
http://thierrycros.net 18
19. 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. »
http://thierrycros.net 19
Source : wikipedia
20. En résumé
● Pendant plusieurs
● Années 80
années
– Lean
– Confidentiel
● Années 90 – Pionniers
– Scrum, XP, ... ● Depuis, l'agile est
● 2001 : le manifeste devenu une
agile alternative crédible...
– Scrum + XP
– Lean Software
● Et même mainstream 20
http://etre-agile.com
21. Agenda
● Aux sources de l'Agile
● l'Agile : le Manifeste
● Extreme Programming,
Scrum
● Lean Software
Development
● Quelle Agilité pour votre
organisation ?
http://etre-agile.com 21
Crédit photo : stockxpert
22. 2001 : le manifeste agile
● 4 valeurs
● 12 principes
● Une histoire
http://etre-agile.com 22
24. Quelques méthodes agiles
● XP (Extreme Programming)
● Scrum
● Lean Software Development
● ...
–
http://etre-agile.com 24
25. Agile aujourd'hui : une boite à outils
● Les méthodes ou ● Toutes ces méthodes
guides (XP, Lean...) forment un
véritablement framework de
agiles offrent plus plusieurs dizaines de
que le manifeste principes et
agile. pratiques...
● … Sur lequel nous
nous basons pour
installer l'agilité.
http://etre-agile.com 25
27. Le plaisir de coder !
● L'agilité s'adresse – au départ - à des
Développeurs qui aiment développer et plus
généralement des personnes motivées
– Auto-gestion
– Amélioration continue
● Il s'agit donc de trouver l'équilibre entre
– Hédonisme
– Responsabilité
http://etre-agile.com 27
29. Économie agile
● Deux clés
o Retour sur Investissement au plus tôt
o Investissements (infrastructure) au plus tard
● Pratiques agiles
o Planification : versions fréquentes
o Conception émergente
→ Architecture évolutive
http://etre-agile.com 29
30. Intérêt d'un feedback
concret et rapide
Feedback
des Utilisateurs,
de l'exploitation
Approche agile
Début du
Retour sur
Investissement Ajuster, voire rectifier
les exigences,
la solution informatique :
à 3 mois, à un an ?
http://etre-agile.com 30
32. Un Cycle de Vie agile
1
Exploration
2
2 mois max.
Engagement
3 4 5
...
1 semaine
Pilotage par feedback
n
Des années !
Mort
1. Fin d'exploration : carottages, architecture, de l'appli
périmètre initial, estimations
2. Engagement : premières valeurs des variables projet :
- Coût
- Délais Principe : Le client en choisit 3,
- Périmètre le Développeur la quatrième.
- Qualité
3. 4. 5. … Les différentes versions livrées
n. Fin de l'application.
http://etre-agile.com 32
33. Quelques mots de planification
Le Client décide de la/des variables
d'ajustement par feedback concret et rapide.
http://etre-agile.com 33
34. Plusieurs niveaux de planification
● Besoin ● Plan
– Évolutions – Feuille de route
– Thèmes – Versions
– Stories / tests – Itérations
Au quotidien : auto-organisation de l'équipe.
http://etre-agile.com 34
35. Économie : Investissements
au plus tard
● Conception émergente : faire correctement
ce qui est strictement nécessaire
● Investir quand c'est une utilisation avérée
qui le nécessite
● Travail de qualité
● Tests qui autorisent le remaniement de code
Si j'investis dans l'infrastructure, c'est peut-être prématuré,
je n'en aurai peut-être pas besoin
http://etre-agile.com 35
36. Principe Lean :
excellence des décisions
● Décider rapidement de ce qui est facilement
réversible
● Retarder au maximum ce qui est irréversible
Demain...
i) Je n'en aurai peut-être plus besoin (YAGNI)
ii) Je saurai mieux faire qu'aujourd'hui
Iii) En attendant, j'économise ma trésorerie !
http://etre-agile.com 36
37. Agenda
● Aux sources de l'Agile
● l'Agile : le Manifeste
● Extreme Programming,
Scrum
● Lean Software
Development
● Quelle Agilité pour votre
organisation ?
http://etre-agile.com 37
Crédit photo : stockxpert
38. 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 38
39. XP : un nom pas vraiment marketing...
● Extreme ● Programming
– Ce sont donc des – Ah bon... On ne
extrémistes.. conçoit pas, on
Des révolutionnaires ! ne teste pas...
http://thierrycros.net 39
40. XP : « programming »
● Quelles activités ● Programming
apportent vraiment « Coder » (Java...)
une Valeur Ajoutée ?
Paramétrer
● Programming
= Réaliser le produit
Remettre en cause, réduire voire éliminer les activités « non V.A. »
http://thierrycros.net 40
41. XP : « extreme » programming
● Une fois les activités ● Dialogues
« non VA » réduites, ● Tests
quelles activités
conserver et dans ● Conception
quelle proportion ? ● Relecture
Extreme Programming = « Pousser à fond » certaines activités
http://thierrycros.net 41
43. XP : « la » synthèse
● L'originalité d'XP réside
– Dans la synthèse faite de principes et
pratiques
– Dans l'apport de pratiques spécifiques (stories,
TDD...)
http://thierrycros.net 43
44. La « constitution » XP
Valeurs
Principes
Rôles Pratiques
Cycle de Vie
http://thierrycros.net 44
45. Rôles
● Une équipe, plusieurs rôles
Client (Product Manager)
Spécifie les demandes et les tests-client, planifie en
tenant compte de la VA des demandes
Développeur
Estime les demandes, réalise
Manager
Fait confiance, aplanie le terrain,
● Un point focal pour tous: la Valeur Métier
offerte par le produit
http://thierrycros.net 45
46. Valeurs de l' Extreme Programming
● Communication
Combien d'exemples... et de contre-exemples !
● Feedback
Pour contrôler à partir d'éléments les plus objectifs
● Simplicité
Le pari de l'Extreme Programming, pour tous, tout le temps
● Courage
De changer de rôle, de vision du produit
● Respect Principe Lean
Respecter et être respecté en tant que
personne
http://thierrycros.net 46
53. Scrum en un schéma
24 heures
Sprint
2-4 semaines
But du sprint
Retour
Produit partiel
Tâches potentiellement
Annuler
Retour
utilisable
Coupons
Emballage
Emballage
Annuler Coupons
http://etre-agile.com 53
54. Ce qui constitue Scrum
Rôles
Product Owner Réunions
ScrumMaster
Développeurs Planification du sprint
Revue du sprint
Rétrospective
Scrum quotidien
Artefacts
Backlog de produit
Backlog de sprint
Rapports
http://etre-agile.com 54
56. Agenda
● Aux sources de l'Agile
● l'Agile : le Manifeste
● Extreme Programming,
Scrum
● Lean Software
Development
● Quelle Agilité pour votre
organisation ?
http://etre-agile.com 56
Crédit photo : stockxpert
57. Agenda
q
Agile, Lean, Lean Software ●
Outils
q
Les sept principes de base – Définir la valeur
●
1. Éliminer les gaspillages – Value Stream Mapping
●
2. Améliorer le système – SIPOC
●
3. Qualité intrinsèque – Go&See
– PDCA
●
4. Gérer les décisions
– ...
●
5. Livrer rapidement
●
6. Fortement respecter les
personnes
●
7. Créer et faire vivre la
connaissance
q
v1
Lean Software - Être Agile 57
58. Lean, Agile : même combat
● « … Utiliser les concepts Lean des années 80 et 90,
qui ont fait leurs preuves, pour montrer le bien-fondé
de l'approche agile » Mary Poppendieck
● Une vision radicalement différente
– Soit Modélisation théorique : les gros plans du
début (PQL, CC...)
– Soit Empirique (amélioration continue) : le choix
Lean
● Ne pas confondre
– Production (Manufacturing)
v1
– Développement (au sens nouveau produit)
Lean Software - Être Agile 58
59. 2 routes vers l'Agilité
● Scrum + XP ● Lean Software
– Solution – Améliorer
« packagée »
l'existant
– Adapter Scrum + – Adapter l'existant
XP à
à l'agilité
l'organisation
Une question de conduite du changement
v1
Lean Software - Être Agile 59
60. Lean : 2 principes fondateurs
● Just in Time
– Les composants sont fabriqués dès lors que
leur besoin est avéré
– Ne pas essayer de trop optimiser localement
● Stop the Line
– Prévenir plutôt que détecter les défauts du
produit
– Corriger dès que possible
– Apprendre des erreurs
v1
Lean Software - Être Agile 60
61. Optimiser
● Le Lean est un ensemble de principes et
d'outils destinés à optimiser une ligne de
production ou de développement
● Réduire le temps de développement en jouant
sur les activités qui n'apportent pas de valeur
ajoutée
v1
Lean Software - Être Agile 61
63. Agenda
● Aux sources de l'Agile
● l'Agile : le Manifeste
● Extreme Programming,
Scrum
● Lean Software
Development
● Quelle Agilité pour votre
organisation ?
http://etre-agile.com 63
Crédit photo : stockxpert
64. Conduite du Changement
● Être agile n'est pas ● Approche globale
une fin en soi... – Scrum + XP
● … Quels objectifs – Lean
poursuivis ? ● Boite à outils
– Mieux maîtriser
les projets,
● Plan du changement
– Les – Communication
changements, – Roadmap
– Transparence – Acteurs
– ... http://etre-agile.com
– ... 64
65. Les chantiers du changement
● Évolution des rôles : un chantier essentiel
– Chef de Projet ?
– Architectes ?
● Facteur d'échelle
– Projet
– DSI
● Outillage
● Contractualisation
● ... http://etre-agile.com 65