Petite présentation du Lean après quelques rappels sur les différentes méthodes existantes pour la conduction d’un projet.
Méthodologie Waterfall
- Design -> Construction -> Integration -> Test & Deploy -> Install -> Maintenance
Méthodologie Agile
- Adaptative planning -> Evolutionary development + Early Delivery -> Cross functional collaboration/planning -> Feedback -> Frequent delivery of high quality working software
- (Design -> Build -> Test) * x + Deploy
- Agile Manifesto :
- Individuals & Interactions > Processes & Tools
- Working Software > Comprehensive documentation
- Customer collaboration > Contract negociation
- Responding To Change > Follow a plan
- Alistair Cockburn : Jeu Agile : Artistes et Specifieurs
- V.U.C.A : Complexité, Volatilité, Ambiguïté, Incertitude. Inutile de prévoir si on ne peut pas s’adapter
- SAFe : Scale Agile Framework. Agilité à grande échelle (nombreux rôles en plus de SCRUM)
- Modèle de Tuckman – 1965 (Ramp Up / Ramp Down) : « Maturité d’une équipe ». Forming -> Storming -> Norming -> Performing.
Méthodologie XP : Extreme Programming
- Pair programming, Unit Testing, Avoid feature unless it is needed, Flat management, Simplicity & clarity in code, Expectig change in requirements, Frequent communication
- Test Driven Development (TDD), Continuous Integration (CI), …
Méthodologie Scrum
- Iterative & Incremental Agile Software Development
- Equipes de 5 à 9 personnes, mais utilisable de 1 à 100 personnes, inclusion des stakeholders (parties prenantes: key users, …).
- Engagement, Courage, Focus, Ouverture, Respect
- Transparence (confiance et entraide), Inspection, Adaptation.
- Equipe type :
- Product Owner (PO) : Lien entre l’équipe de développement et le client.
- Scrum Master (SM) : S’assure que la méthodologie Scrum est bien appliquée. Protège l’équipe des pressions extérieures, supprime les procédures inutiles.
- Réunions types :
- Scrum Planing Meeting : Le PO présente ses priorités dans le Product backlog. L’équipe sélectionne le travail à faire pour le prochain sprint. Création d’un Sprint backlog
- Sprint Review Meeting : En fin de sprint, démonstration rapide des éléments développés.
- Srint Retrospective : Comment le sprint s’est déroulé, points à améliorer.
- Daily Standup / Daily Scrum : Réunion quotidienne de moins de 15 minutes. Indiquer ce qui a été fait hier, ce qui sera fait aujourd’hui, les problèmes bloquants
- Termes techniques :
- Product Backlog : Liste des demandes (améliorations et nouvelle demandes) du client
- Sprint Backlog : Liste des changements intégrés au Sprint
- Burndown chart : Trace l’évolution du produit. Il est mis à jour à chaque fin de sprint (retrospective)
- PBR : Product Backlog Refilment ; passage en « Ready » + estimation des User Stories. A lieu eu plus tard en Sprint Review.
- PBI : Product Backlog Increment : element du backlog. User Story, Feedback, Issue, Spike (workshop), Amélioration, Tech Story, Epic, Theme. Avoir une PBI etalon qui servira de référence pour chiffrer les autres PBI.
- Extreme Quotation : notation en story points.
- Un Sprint Goal défini par Sprint.
- Backlog grooming : Atelier + Spike + PBR
- DoR : Definition of Ready ; à définir par équipe
- DoD : Definition of Done ; à définir par équipe
- Story Mapping (Jeff Patton) : Permiètre de gestion du produit.
- RPM : Release Planning Meeting : Planification des releases. Visualisation sur Sprint 1, 2, 3, … n.
- Modèle de Kano : Priorisation des exigences par valeur
- Modèle de Wiegers : Priorisation des exigences par valeur
- Une bonne User Story est INVEST : Independant – Negociable – Value métier – Estimable – Suffisamment petite – Testable.
- Réunion 3 amigos : PO + Dev + Testeur. Behavior Driven Development : Given When Then. Max 1h. Etape 1 : Reformuler pour vérifier compréhension ; étape 2 : persona ; étape 3 : themes -> epics -> User Stories.
Méthodologie Kanban
- Travail en flux continu (pas de sprints mais des cycles)
- Pas de rôle spécifique dans l’équipe
- Les changements peuvent intervenir à tout moment
Méthodologie Lean
Dans l’ensemble
- Basé sur le modèle Toyota
- Kaizen = Amélioration continue
- 7 gaspillages à éviter :
- Defects
- Overproduction, Extra features
- Transportation
- Waiting, Partially completed work
- Inventory
- Motion, Taste switching
- Processing, unneeded processes
- Underutilization of people
- 5 principes fondamentaux :
- Value : Quelle est la valeur du produit demandée ?
- Value Stream : Identifier les étapes de la construction du produit
- Flow : Ne pas créée de goulot d’étranglement dans la conception du produit (pas d’arrêt)
- Pull : Ne rien faire à moins que ce soit nécessaire
- Perfection : Supprimer les gaspillages de manière continue (Kaizen)
La technique Management
- (O)PDCA : Observe, Plan, Do, Check, Act = Deming Cycle
- Plan : Etablir les objectifs
- Do : Définir le plan : Graphiques et Analyses des étapes suivantes.
- Check : Vérification de l’analyse entre ce qui est attendu et ce qui a été calculé
- Act : Définir des nouveaux standards ou conserver les standards existants
La technique 5 why’s
- Poser 5 fois la question « pourquoi » pour déterminer la cause d’un problème.
Le lean appliqué au logiciel (Software Lean Development)
- Eliminer le gaspillage (voir les 7 causes identifiées ci-dessus)
- Améliorer l’apprentissage
- Décider au plus tard
- Produire le plus tôt possible
- Améliorer l’équipe
- Améliorer l’intégrité
- Identifier les axes d’amélioration
Le lean comparé à l’Agile
- L’Agile fournit des outils et une méthodologie
- Le Lean n’a pas de méthodologie formelle
- SCRUM tente de contenter ces deux mondes