Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| eadl:bloc3:xp:chap1 [2025/11/23 02:19] – créée jcheron | eadl:bloc3:xp:chap1 [2025/11/23 14:48] (Version actuelle) – [Principes XP] jcheron | ||
|---|---|---|---|
| Ligne 23: | Ligne 23: | ||
| * La criticité du projet (MVP vs. système embarqué), | * La criticité du projet (MVP vs. système embarqué), | ||
| * La maturité technique (legacy code vs. greenfield). | * La maturité technique (legacy code vs. greenfield). | ||
| + | |||
| + | <label type=" | ||
| + | |||
| + | ==== Valeurs XP ==== | ||
| + | Les **valeurs XP (eXtreme Programming)** définissent la culture et les comportements clés pour des équipes **agiles et techniques**. | ||
| + | |||
| + | |||
| + | === Tableau des Valeurs XP === | ||
| + | |||
| + | ^ **Valeur** | ||
| + | | **Communication** | **Échanges structurés** pour : | ➔ **Réduit les silos** (devs ↔ PO/ | ||
| + | | ::: | - *Knowledge sharing* : **mob programming**, | ||
| + | | ::: | - *Résolution de problèmes* : **stand-ups techniques**, | ||
| + | | ::: | - *Coordination* : **planning poker**, raffinement de backlog. | ||
| + | | **Simplicité** | ||
| + | | ::: | - *YAGNI* : **"You Aren’t Gonna Need It"** → pas de sur-ingénierie. | ||
| + | | ::: | - *DTSTTCPW* : **"Do The Simplest Thing That Could Possibly Work" | ||
| + | | ::: | - *Refactoring* : **incrémental** (ex : *boy scout rule*). | ||
| + | | **Feedback** | ||
| + | | ::: | - *Tests* : **TDD/BDD** (feedback en ms). | ➔ **Alignement métier** (démos fréquentes). | ||
| + | | ::: | - *Démos* : **Sprint reviews** (validation client en jours). | ||
| + | | ::: | - *Rétros* : **Amélioration continue** des processus. | ||
| + | | **Courage** | ||
| + | | ::: | - Remettre en question les choix (ex : "Ce framework est-il adapté ?" | ||
| + | | ::: | - *Fail fast* : **Spikes** pour valider des hypothèses avant le dev. | ➔ **Transparence** (moins de *tech debt cachée*). | ||
| + | | ::: | - *Blameless culture* : **Postmortems** sans jugement. | ||
| + | | **Respect** | ||
| + | | ::: | - *Pair programming* : **Montée en compétence** (juniors/ | ||
| + | | ::: | - *Code reviews* : **Focus sur l’amélioration**, | ||
| + | | ::: | - *Retros actionables* : **Écoute active** des feedbacks. | ||
| + | |||
| + | |||
| + | ==== Principes XP ==== | ||
| + | |||
| + | Les **principes XP** servent de **pont entre les valeurs et les pratiques**. Ils expliquent **pourquoi** certaines pratiques (comme le TDD ou le pair programming) sont efficaces, et comment les adapter à différents contextes techniques. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | === 1. Humanity === | ||
| + | **Pourquoi ?** Des développeurs épanouis = code de meilleure qualité. | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Aspect** | ||
| + | | **Sécurité psychologique** | Environnement où on ose poser des questions sans jugement. | ||
| + | | **Autonomie** | ||
| + | | **Reconnaissance** | ||
| + | |||
| + | === 2. Economics === | ||
| + | **Pourquoi ?** Toute décision technique doit se justifier par sa **valeur business**. | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Critère** | ||
| + | | **Coût vs. Valeur** | ||
| + | | **Dette Technique** | ||
| + | | **Priorisation** | ||
| + | |||
| + | === 3. Mutual Benefit === | ||
| + | **Pourquoi ?** Les pratiques XP doivent avantage **à la fois les devs et le business**. | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Pratique** | ||
| + | | **TDD** | ||
| + | | **CI/ | ||
| + | | **Clean Code** | ||
| + | |||
| + | === 4. Self-Similarity === | ||
| + | **Pourquoi ?** Réutiliser des solutions éprouvées, | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Contexte** | ||
| + | | **Microservices** | ||
| + | | **Tests** | ||
| + | | **Code Reviews** | ||
| + | |||
| + | === 5. Improvement (Kaizen) === | ||
| + | **Pourquoi ?** L' | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Niveau** | ||
| + | | **Code** | ||
| + | | **Processus** | ||
| + | | **Équipe** | ||
| + | |||
| + | === 6. Diversity === | ||
| + | **Pourquoi ?** Des équipes diversifiées = **meilleures solutions techniques**. | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Type de Diversité** ^ **Exemple** | ||
| + | | **Compétences** | ||
| + | | **Expérience** | ||
| + | | **Perspectives** | ||
| + | |||
| + | === 7. Reflection === | ||
| + | **Pourquoi ?** Apprendre de chaque action pour **s' | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Type** | ||
| + | | **Rétrospective** | ||
| + | | **Postmortem** | ||
| + | | **Code Review** | ||
| + | |||
| + | === 8. Flow === | ||
| + | **Pourquoi ?** Un flux de travail fluide = **livraisons plus rapides**. | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Obstacle** | ||
| + | | **Blocages** | ||
| + | | **Dépendances** | ||
| + | | **Feedback Lent** | ||
| + | |||
| + | === 9. Opportunity === | ||
| + | **Pourquoi ?** Transformer les problèmes en **opportunités d' | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Problème** | ||
| + | | **Bug Critique** | ||
| + | | **Dette Technique** | ||
| + | | **Conflit d' | ||
| + | |||
| + | === 10. Redundancy === | ||
| + | **Pourquoi ?** Certaines redondances sont **utiles**, pas du *waste*. | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Type** | ||
| + | | **Tests** | ||
| + | | **Documentation** | ||
| + | | **Reviews** | ||
| + | |||
| + | === 11. Failure === | ||
| + | **Pourquoi ?** L' | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Type d' | ||
| + | | **Déploiement Raté** | ||
| + | | **Bug en Prod** | ||
| + | | **Estimation Fausse** | User story mal découpée. | ||
| + | |||
| + | === 12. Quality === | ||
| + | **Pourquoi ?** La qualité n'est **pas négociable** - c'est un multiplicateur. | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Pratique** | ||
| + | | **Clean Code** | ||
| + | | **TDD** | ||
| + | | **Definition of Done**| Checklist stricte (tests, docs, reviews). | ||
| + | |||
| + | === 13. Baby Steps === | ||
| + | **Pourquoi ?** Des petites étapes = **moins de risques**, plus de succès. | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Contexte** | ||
| + | | **Legacy Code** | ||
| + | | **Nouvelle Feature** | ||
| + | | **Apprentissage** | ||
| + | |||
| + | === 14. Accepted Responsibility === | ||
| + | **Pourquoi ?** La responsabilité **se prend**, ne s' | ||
| + | |||
| + | |< 100% 10% 30% 30% - >| | ||
| + | ^ **Pratique** | ||
| + | | **TDD** | ||
| + | | **On-Call** | ||
| + | | **Code Ownership** | ||
| + | |||