gpuget@oxyl.fr
https://slides.com/gpuget/extreme-programming/live
https://github.com/gpuget/ExtremeProgramming
17/01 : Cours et planning
24/01 : Sprint 1
31/01 : Démo / Rétro
07/02 : Sprint 2
Évaluation sur les TP et la participation
Quels sont les problèmes ?
Recevez 100 points d'expérience par itération !
Les besoins sont affinés tout au long du projet
Adapté aux changements
Le client est directement impliqué
Meilleure visibilité
Mise en production régulière
Médium de communication
Outil de vulgarisation
Utilisations d'analogies et champs lexicaux
Améliore la communication
Aide au développement
Avantages
Simplification du domaine métier
Reformulation et précision
Association d'idées
Inconvénients
Pratique controversée
Peu documentée
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
Martin Golding
Nommage des variables, documentation, indentation, architecture, etc.
Avantages
Meilleure visibilité
Résolution des anomalies facilité (rapide et ciblé)
Inconvénients
Acceptation par l'équipe
Mise en place de l'architecture
Décrire un usecase une fonctionnalité
Identifiant (unique)
Description
En tant que... (qui ?)
Je peux/veux... (quoi ?)
Pour/afin de... (pourquoi ?)
Valeur métier (estimation client)
Critères d'acceptation
User stories
Id | En tant que... | Je veux... | Pour... | Valeur métier |
---|---|---|---|---|
1 | joueur | voir mes cartes | choisir une action | 100 |
2 | spectateur | consulter les cartes d'un joueur | suivre le cours de la partie | 60 |
... | ... | ... | ... | ... |
Critères d'acceptation
Ref | Étant donné(s)... | Quand... | Alors... |
---|---|---|---|
1 | un joueur sans carte | je ne lui donne aucune carte | il ne peut voir aucune carte |
1 | un joueur avec 1 carte | je lui donne une carte | il peut voir ses 2 cartes |
... | ... | ... | ... |
Rester réaliste sur le contenu de l'itération
Alterner les périodes
de tension et de détente
nouvelles fonctionnalités et correctifs
Charges répartie et risques amoindris
Prendre en considération que vous allez coder en Java en binôme et effectuer des tests
Avantages
Diffusion des connaissances
Amélioration de la communication
Inconvénients
Difficile à faire accepter
Besoin de proximité
Problème d'affinités et de bruits
KISS
Plus compréhensible
Plus maintenable
Qualitatif
YAGNI
Pas de perte de temps
Moins de chose (maintenance, documentation, complexité)
Quantitatif
Si je fais une diapo dessus, c'est important ;)