Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
eXtreme Programming : la méthode Agile ?
Search
Pascal Le Merrer
June 19, 2023
Programming
0
55
eXtreme Programming : la méthode Agile ?
Slides de ma keynote à AlpesCraft 2023
Pascal Le Merrer
June 19, 2023
Tweet
Share
More Decks by Pascal Le Merrer
See All by Pascal Le Merrer
Introduction pour l'atelier "Elm Shop"
pascallemerrer
0
88
Le rocher de Sysiphe - AFUP Day Rennes 2021
pascallemerrer
0
69
Coding dojos - Agile Tour Rennes 2019
pascallemerrer
0
37
Comment Elm a changé mon expérience de dev front-end
pascallemerrer
0
100
Coding dojos - Diffusez les bonnes pratiques de dev !
pascallemerrer
0
75
Software Craftsmanship - De le théorie à la pratique
pascallemerrer
0
330
Other Decks in Programming
See All in Programming
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
870
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.4k
CSC509 Lecture 11
javiergs
PRO
0
180
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
最新TCAキャッチアップ
0si43
0
140
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
役立つログに取り組もう
irof
28
9.6k
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6.1k
Writing Fast Ruby
sferik
627
61k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Gamification - CAS2011
davidbonilla
80
5k
Designing for Performance
lara
604
68k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Designing for humans not robots
tammielis
250
25k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Side Projects
sachag
452
42k
Transcript
eXtreme Programming : LA méthode Agile ? Pascal Le Merrer
Juin 2023
2001
2004
2002 : L’EXTREME PROGRAMMING AVEC DEUX ÉTUDES DE CAS
2005 : GESTION DE PROJET EXTREME PROGRAMMING JEAN-LOUIS BÉNARD, LAURENT BOSSAVIT, RÉGIS MÉDINA, DOMINIC WILLIAMS
IMPACT D’XP • User stories • Pair programming • TDD
• Intégration continue • Tests de recette automatisés • Déploiement continu
SCRUM XP ASD SCRUMBAN SCRUM + XP KANBAN LEAN STARTUP
RAD FDD AGILE MODELING LEAN SOFTWARE DEVELOPMENT DSDM POPULARITÉ DES MÉTHODES AGILES DISCIPLINED AGILE DELIVERY CRYSTAL AUP
SCRUM XP ASD SCRUMBAN SCRUM + XP KANBAN LEAN STARTUP
RAD FDD AGILE MODELING LEAN SOFTWARE DEVELOPMENT DSDM 1% 6% 66% POPULARITÉ DES MÉTHODES AGILES DISCIPLINED AGILE DELIVERY CRYSTAL AUP
LA GENESE
KENT BECK
PROJET C3 1996
EXTREME PROGRAMMING EXPLAINED EMBRACE CHANGE 1999, KENT
BECK XP v1
VALEURS • Communication • Simplicité • Feedback • Courage XP
v1
PRATIQUES • Tests unitaires • Tests de recette automatisés •
Programmation en binôme • Intégration continue • Remaniement (refactoring) • Règles de codage • Conception simple XP v1 • Livraisons fréquentes • Planification itérative • Client sur site • Métaphore • Responsabilité collective du code • Rythme durable
XP V2
EXTREME PROGRAMMING EXPLAINED SECOND EDITION 2005, KENT BECK
& CYNTHIA ANDRES XP v2
VALEURS • Communication • Simplicité • Feedback • Courage •
Respect XP v2
PRATIQUES PRINCIPALES • Équipe co-localisée • Équipe entière • Espace
de travail informatif • Travail dynamique • Pair programming • Développement piloté par les tests • Stories • Cycle hebdomadaire • Cycle trimestriel • Marge • Build en 10 minutes • Intégration continue • Conception incrémentale XP v2
PRATIQUES COROLLAIRES • Implication du client réel • Déploiement incrémental
• Continuité d’équipe • Réduction des équipes • Analyse des causes racines • Code partagé • Code et tests • Base de code unique • Déploiement quotidien • Périmètre contractuel négocié • Paiement à l’usage XP v2
PRINCIPES • Humanisme • Budget • Bénéfice mutuel • Similarité
• Amélioration • Diversité • Flux • Réflexion • Opportunité • Redondance • Qualité • Échec • Petits pas • Responsabilité acceptée XP v2
VALEURS
COMMUNICATION • Coopération • Appartenance à l’équipe Valeur 1/5
SIMPLICITÉ • Solution la plus simple ET qui fonctionne •
Contextuelle • Faciliter la communication Valeur 2/5
FEEDBACK • Objectifs mouvants • Améliorations progressives • Adapter le
rythme Valeur 3/5
COURAGE • Agir • Combiné avec les autres valeurs Valeur
4/5
RESPECT • Sous-jacent • Indispensable Valeur 5/5
VOS VALEURS • ? Valeurs …
PRINCIPES
PRINCIPES • Humanisme • Budget • Bénéfice mutuel • Similarité
• Amélioration • Diversité • Flux • Réflexion • Opportunité • Redondance • Qualité • Échec • Petits pas • Responsabilité acceptée
HUMANISME Besoins personnels ET besoins de l’entreprise Principe 1/9
BÉNÉFICE MUTUEL Bénéfice présent, futur, partagé Principe 2/9
AMÉLIORATION Rien n’est parfait Principe 3/9
DIVERSITÉ = meilleurs logiciels Principe 4/9
FLUX Pas d’effet tunnel Principe 5/9
REDONDANCE Pour les problèmes difficiles / critiques Principe 6/9
QUALITÉ • Pas de limite apparente • Bénéfices multiples Principe
7/9
PETITS PAS • Déploiement fréquent Principe 8/9
RESPONSABILITÉ ACCEPTEE Responsabilité => autorité Principe Principe 9/9
PRATIQUES PRINCIPALES
PRATIQUES PRINCIPALES • Équipe co-localisée • Équipe entière • Espace
de travail informatif • Travail dynamique • Pair programming • Développement piloté par les tests • Stories • Cycle hebdomadaire • Cycle trimestriel • Marge • Build en 10 minutes • Intégration continue • Conception incrémentale
ÉQUIPE CO-LOCALISÉE Pas en permanence Pratique principale 1/11
ÉQUIPE ENTIÈRE • Pluridisciplinarité • Éviter le temps partagé Pratique
principale 2/11
TRAVAIL DYNAMIQUE Productivité vs fatigue Pratique principale 3/11
PAIR PROGRAMMING • Dialogue • 5 à 6 heures par
jour • Changer de binôme Pratique principale 4/11
STORIES • Unité de fonctionnalité visible • Estimation précoce =>
discussion • Pas figée Pratique principale 5/11
CYCLE HEBDOMADAIRE • Planification • Ecriture des tests d’acceptance •
Implémentation • Déploiement Pratique principale 6/11
CYCLE TRIMESTRIEL • Thèmes • Stories • Recadrer le projet
• Goulets d’étranglement Pratique principale 7/11
MARGE • Prévue • Améliore l’ambiance Pratique principale 8/11
BUILD EN 10 MINUTES • Build + test = 10
minutes Pratique principale 9/11
DÉVELOPPEMENT PILOTÉ PAR LES TESTS • Confiance • Pas de
gaspillage • Codé cohérent, faiblement couplé Pratique principale 10/11
CONCEPTION INCRÉMENTALE • Conception permanente • Au dernier moment responsable
Pratique principale 11/11
PRATIQUES COROLLAIRES
PRATIQUES COROLLAIRES • Implication du client réel • Déploiement incrémental
• Continuité d’équipe • Réduction des équipes • Analyse des causes racines • Code partagé • Code et tests • Base de code unique • Déploiement quotidien • Périmètre contractuel négocié • Paiement à l’usage
IMPLICATION DU CLIENT Pratique corollaire 1/3
CONTINUITÉ D’ÉQUIPE Pratique corollaire 2/3
DÉPLOIEMENT QUOTIDIEN Pratique corollaire 3/3
MISE EN OEUVRE
DÉBUTER AVEC XP • Progressivement… ou pas • Sponsor •
Donner l’exemple
QUAND XP N’EST-IL PAS ADAPTÉ ? • Manque de volonté
de l'équipe • Opposition avec les valeurs réelles
CONCLUSION
PARTICULARITÉS • Méthode spécialisée • Prescriptive • Valeurs au coeur
de la méthode • Adaptation encouragée • Mise en oeuvre progressive • Fonctionne aussi avec des demandes figées
POURQUOI XP N’EST-IL PAS PLUS POPULAIRE ? • Focalisé
sur le logiciel • Formation • Culture • Ton du premier ouvrage • Pas de mercantilisme
LA MÉTHODE AGILE ? • Bienveillance ET productivité • Qualité
• Réduction des risques • Pratiques techniques indispensables
@
[email protected]
Pascal Le Merrer