Notre industrie du logiciel connaît une crise qui remonte quasiment à sa naissance; cette "crise du logiciel" a été le prétexte à fonder en 1968 une discipline désormais connue sous le nom de Génie Logiciel. Bien que cette discipline constitue le socle pédagogique de la formation, tout laisse penser que cette crise, loin d'être résolue, ne peut qu'aller en s'aggravant. Apparues il y a dix ans, les approches Agiles sont-elles susceptibles d'avoir un plus grand impact? En tout cas, pour moi-même et nombre de mes collègues, elles ont permis d'aborder notre métier avec plus de confiance. Encore faut-il comprendre les vraies raisons de ces réussites, savoir distinguer la caricature de l'Agilité et l'article véritable.
Quelles nouvelles pratiques agiles sont à surveiller? Faut-il investir pour obtenir une certification? Quelles compétences acquérir en priorité? Faut-il faire appel à un consultant externe pour adopter les pratiques agiles? Peut-on faire confiance aux grandes SSII sur ce sujet? Cet exposé accessible aux débutants comme aux agilistes confirmés, laissant une large part aux questions et réponses, offrira une occasion d'aborder les questions de votre choix, sans aucun tabou ni faux-semblant.
Par Laurent Bossavit (Institut Agile)
Agile, dix ans après : ce qui a changé, ce qu'il faut retenir
1. AGILE, 10 ANS APRÈS
40 ans de crise, 10 ans d’agilité, et maintenant?
Laurent Bossavit
Institut Agile
http://institut-agile.fr/
(c) 2010 Laurent Bossavit
Contact: laurent(at)bossavit.com
2. La crise du logiciel: les symptômes
Connaissez-vous l'expression "crise du logiciel"? Peut-être connaissez-vous un peu mieux
une de ses manifestations, la célèbre illustration du "Projet Balançoire". Normalement elle se
passe de commentaires...
3. La réponse: le Génie Logiciel
(Garmisch, Allemagne, 1968-1969)
Le terme "crise du logiciel" est contemporain d'une autre expression certainement plus
familière, "Génie Logiciel", formulée en 1968 lors d'une conférence organisée sous les
auspices de l'OTAN. La seconde fut proposée comme solution de la première.
4. AGILE
(Snowbird, USA, 2001)
Et voici que depuis bientôt dix ans est apparu une sorte de trublion, un courant à qui l'on a
donné en 2001 le nom "Agile", moins explicite que "Génie Logiciel". Réunissant un
assemblage hétéroclite d'idées développées dans les années précédentes par quelques
consultants, il se caractérise par un jargon pléthorique et peu familier: on parle ainsi de
Scrum, d'Extreme Programming, et de techniques nommées TDD, refactoring, User Stories,
Kanban, Sprint...
5. THÉORIE DE LA
RUPTURE
Innovation de continuité:
Peu de “turn-over” des acteurs dominants
Technologies jugées sur les critères de performance
existants
Innovation de rupture:
Risque de disparition d’acteurs dominants, pris de
vitesse par les nouveaux entrants
Technologies jugées sur des critères nouveaux
Finit par “rattraper” les leaders sur les critères
existants
Christensen distingue l'innovation de continuité, caractérisée par des produits qui renforcent,
dans le contexte concurrentiel, la position dominante des acteurs déjà bien placés sur ce
marché: ces produits sont jugés sur des critères de performance déjà reconnus.
6. Schéma de l’innovation de rupture (Christensen 1997)
Une technologie de rupture est totalement inadéquate initialement quand on la mesure selon
les critères de performance des produits dominants. Pourtant, elle parvient à s'imposer en
ciblant des marchés où ces critères sont moins importants, et peut donc s'implanter sans
(initialement) concurrencer frontalement les leaders.
7. Une technologie de rupture:
Le numérique, vers 1991
Dycam Model 1
Noir et blanc, 320x240
Prix $995
8. LA RUPTURE EN MARCHE
Photo numérique Agile
1990 - inadapté, sauf marché de
niche
2000 - inadapté, sauf marché de
niche
2000 - gadget high-tech, outil de
“pros”
2010 - prisé des patrons de
startup, des “entreprises 2.0”
2010 - généralisée, a remplacé
l’argentique
2020 - ?
9. LA RUPTURE AGILE
Génie Logiciel:
vise à livrer sous
contrainte de temps,
de périmètre
privilégie le contrôle
(analogue: musique
classique)
Agile:
vise à livrer sous
contrainte de
qualité, de temps
privilégie la
réactivité,
l’exploitation du
talent
(analogue: jazz)
En quoi le challenger Agile et le leader Génie Logiciel incarnent-il ce modèle? Comparons les
critères de performance exigés par le marché. D’un côté la traçabilité, la documentation, et le
respect des contraintes que ces outils permettent de suivre le mieux: délais (et donc coûts)
maîtrisés, spécifications respectées. De l’autre la qualité du produit et sa pertinence pour
répondre aux besoins réels (plus qu'à ceux exprimés), la maitrise des priorités fonctionnelles
sous contrainte de délais.
10. QUELQUES CONTRASTES
Classique Agile
Phases: spec, conception, etc. “Sprints” ou itérations courtes
Raisonnement en charge En délais et “timebox”
Découpage: couches techniques Par incréments fonctionnels
Phase de spec >= 3 mois Travail amont sur 2 jours maxi
Périmètre fixé par contrat Possibilité de changer d’avis
Reporting client: en réunion Contact au quotidien
Conception par un spécialiste Conception au fil de l’eau
Architecte en phase amont Architecte intégré
Tâches attribuées par CdP Principe du volontariat
Estimations par CdP Par l’équipe entière
Eviter la “refonte” Refactoring permanent
Equipe QA, plan de tests Automatisation des tests
Ne pas chercher à faire concurrence aux "méthodologies" dominantes et aux approches de
management orientées sur les production documentaires de ces dernières permet aux
"agilistes" comme on ne les appellera que plus tard de s'affranchir de nombreuses
contraintes, et d'inventer une approche originale.
11. PRATIQUES EN 2001
Extreme Programming: User Stories, Livraisons
Fréquentes, Métaphore, Responsabilité Collective,
Règles de Codage, Conception Simple, Refactoring,
Tests Unitaires, Programmation en binômes,
Intégration Continue, Rythme Soutenable, Client Sur
Site
Scrum: Scrum Master, Product Owner, Backlog, Daily
Scrum, “3 questions”, Chickens & Pigs, Sprint
Planning, Sprint, Sprint Review
Depuis 2001, date de la rédaction du "manifeste Agile" qui consacre ce nom pour un
assemblage hétéroclite de pratiques unies par une philosophie en rupture avec les traditions
du Génie Logiciel, les pratiques ont évolué.
12. PRATIQUES POST-2001
Rétrospectives
“Definition of Done”
Release Planning (opt.)
Release Burndown
Planning Poker
Task Board
Cette évolution est en partie invisible. Plusieurs pratiques considérées désormais comme au
coeur de Scrum sont ainsi apparues depuis 2001, postérieurement au terme “Agile” lui-
même.
13. PRATIQUES NOUVELLES
Domain-Driven Design
Usability Testing
Personas
Behavior-Driven
Development (BDD)
Story Mapping
Kanban
Lean A3
“Sprint 0”
Charte Projet
DevOps
etc. (plus de 60
pratiques déjà prévues
pour le Référentiel)
Des pratiques sont apparues pour combler par exemple des lacunes dans la prise en compte
de l'ergonomie par les approches Agiles, ou encore pour donner des directives plus précises
sur la façon d'organiser les "phases amont", le recueil des exigences: on parle de Personas,
de Charte Projet, de Story Mapping.
14. Lean,
DevOps
Expansion des préoccupations agiles
Kanban,
Personas
XP,
Scrum
Equipes de 5-10 p.
Colocalisées
Développement pur
TMA,
ergonomie
Gouvernance,
autres métiers
Ainsi l'approche Lean et Kanban peut-elle trouver un terrain d'application fertile parmi les
équipes chargées de maintenance ou de TMA. La communauté Agile voit aussi se développer
des mouvements visant à repenser d'autres métiers, à l'image de DevOps qui réunit des
admin systèmes sensibles aux évolutions du développement.
15. ET MAINTENANT?
Enterrer les certifications, pur “gadget” marketing
Proposer une vraie alternative au contrat au forfait
Mieux expliquer le contenu, évacuer l’image d’Epinal
Plus de recherche empirique
Proposer Agile comme discipline à part entière
Concurrencer le Génie Logiciel sur son propre terrain
Pour autant, en matière d'innovation la victoire n'est jamais acquise d'avance. Bien des
avancées prometteuses ont échoué, pour des raisons qui n'ont pas forcément à voir avec la
qualité des technologies sous-jacentes, mais faute d'avoir habilement négocié cette montée
en puissance. Le challenger Agile souffre encore de plusieurs lacunes.