Théorie vs. empirisme
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é.
Ogunnaike et Ray dans Process Dynamics, Modeling, and Control
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 !
l'histoire
Années 90 : des expérimentations empiriques, légères, face aux méthodes lourdes
méthodes légères : XP, Scrum
Objectif : se libérer des sociétés dilbertesques
Peter et Dilbert
Principe de Peter : Tout employé tend à s'élever à son niveau d'incompétence.
Principe de Dilbert : 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.
le manifeste
février 2001, des concepteurs de ces différentes méthodes « légères » se réunissent.
il en résultera le manifeste agile
auto organisation
Les meilleures spécifications, conceptions et architectures émergent d'équipes auto-organisées.
- tout le monde à la possibilité de proposer
- intéraction utilisateur/dévelopeur
- la Vision du produit partagée
- pas de chef = plus de responsabilité
eXtreme Programming
l'emancipation du développeur
pour s'évaluer
pour être soi
focus sur la valeur ajoutée
réduire au minimum ce qui n'apporte pas de valeur
programming
realiser le produit
- dialogues
- tests
- conception
- relecture
User story
une histoire est un déclencheur de discussions dans l'équipe
3 C
- Card
- Conversation
- confirmation
les valeurs d'XP
Communication
Feedback
Simplicité
Courage
Respect
les éléments emblématiques
Test Driven Development
le développement piloté par la conception exprimé par les tests.
Conception simple
code expressif | pas de duplication | classes et méthodes minimales
Intégration continue
Nightly deploy
les rôles
le product owner
l'équipe de dev
scrum master
les piliers
Transparence
Inspection
Adaptation
Lean Software Developpment
Just in Time
Stop the line
les principes
Éliminer les gaspillages
Améliorer le système
Qualité intrinsèque
Gérer les décisions
Livrer rapidement
Fortement respecter les personnes
Créer et faire vivre la connaissance
kanban
visualiser le worflow
et identifier les goulots
limiter le wip
optimiser les temps de cycles
un dernier mot
XP, Scrum, LSD, Kanban, ... sont des méthodes, des outils
l'agilité se définit en
Être agile, c'est adhérer aux valeurs et mettre en oeuvre les principes.