Introduction à l'Extreme Programming (XP)
Introduction à l'Extreme Programming (XP)
Département : Mathématiques
& Informatique Filière : Licence Génie
Informatique
Module : Génie logiciel et UML
Chapitre 3 : Extreme
Programming (XP)
Département Mathématiques
& Informatique Faculté des Sciences et
Techniques, Settat Université Hassan 1er
Année Universitaire : 2018/2019 1
Prof. Said El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 2
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Introduction Définitions et
motivations
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 3
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Introduction Définitions et
motivations
Question
s
Les variables de XP
Le cycle standard XP
1
Le client écrit ses besoins sous forme de scénarios.
2
Les développeurs évaluent le coût de chaque scénario, en
collaboration avec le client.
3
Le client choisit les scénarios à intégrer à la prochaine
4 livraison.
Chaque développeur prend la responsabilité d’une
5 tâche pour la réalisation d’un scénario.
6 Le développeur choisit un partenaire.
Le binôme écrit les tests unitaires correspondant au
7 scénario à implémenter.
Le binôme prépare l’implémentation en réorganisant le
8 code existant, puis il procède à l’implémentation
proprement dite.
Le Said
Prof. binôme
El Kafhali intègre ses 3développements
Chapitre : Extreme Programming (XP)à la version
Année Universitaire : 2018/2019
/ 53
8
Introduction Les quatres valeurs d’XP
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 9
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Introduction Les quatres valeurs d’XP
Les commentaires
Les activités de XP
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 16
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Pratiques XP Les pratiques de gestion de
projet
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 19
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Pratiques XP Les pratiques de
programmation
Remaniement (refactoring)
Les développeurs n’hésitent pas à revenir sur le code
écrit pour le rendre plus «propre»,
le débarrasser d’éventuelles parties
inutilisées, et le préparer à l’ajout de la
fonctionnalité suivante.
Cette pratique propose une démarche de conception
continue qui fait émerger la structure de l’application au
fur et à mesure du développement. Année Universitaire : 2018/2019 20
Prof. Said El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Pratiques XP Les pratiques de
programmation
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 22
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Pratiques XP Les pratiques de
collaboration
Métaphore (metaphor)
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 26
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Equipe et rôles XP Technique : programmeur
Programmeur
Pratiques XP du programmeur
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 30
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Equipe et rôles XP Domaine : client,
testeur
Client
Qui est-il ?
Pas nécessairement le client contractuel.
Assistant à maîtrise
d’ouvrage. Représentant
des utilisateurs.
A défaut quelqu’un pour
agir comme client
«artificiel».
Chef de projet.
Ingénieur chargé des
spécifications.
Client
Scénarios clients
Description informelle d’une fonctionnalité ou d’une
interaction avec l’utilisateur. Le plus simple possible.
Démarrage du projet
Des scénarios initiaux sont dégagés et présentés. Ils sont
classés par priorité et répartis en itérations.
A chaque itération...
Grâce au feedback introduit (logiciel fonctionnel) :
Il peut revoir le contenu des
itérations. Modifier ses
scénarios.
Il est garant des fonctionnalités
du logiciel. Année Universitaire : 2018/2019 32
Prof. Said El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Equipe et rôles XP Domaine : client,
testeur
Client
Tests de recette
Données concrètes levant les
ambiguïtés. Preuve que le système fait
ce qu’il demandait.
A chaque fin d’itération tous les tests de recette doivent
passer avec succès.
1 Planification
Pratiques XP client itérative.
2 Rédaction des scénarios
3 clients. Séances de
4 planification.
5 Tests de recettes.
6 Intégration
Testeu
r
Définit et automatise les tests de recette.
Conseille le client sur la testabilité d’une fonctionnalité.
Garant du sentiment de réussite sur le projet.
Écriture des tests de recette automatiques pour valider
les scénarios clients;
Peut influer sur les choix du clients en fonction de la
testatibilité des scénarios.
Pratiques XP Testeur
1 Suivi des tests (planification
2 itérative). Tests de recette.
3 Intégration
4 continue. Rythme
durable. Année Universitaire : 2018/2019 35
Prof. Said El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Equipe et rôles XP Organisationnel : tracker, manager, coach
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 36
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Equipe et rôles XP Organisationnel : tracker, manager, coach
Tracke
r
Suivre le planning pour chaque itération.
Comprendre les estimations produites par les développeurs
concernant leur charges.
Interagir avec les développeurs pour le respect du
planning de l’itération courante.
Détection des éventuels retards et rectifications si
besoin.
Qui est-il ?
Pas un supérieur
hiérarchique. Quelqu’un a qui
on peut se confier.
De préférence pas un
1 programmeur,
Planfication mais quelqu’un
d’extérieur.
itérative. Année Universitaire : 2018/2019 37
Prof. Said El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Equipe et rôles XP Organisationnel : tracker, manager, coach
Manager
Responsabilités
Il s’occupe matériellement de
l’équipe.
Il demande des comptes (sur les engagements
pris). client,
Scénarios Interface avec l’extérieur
Planification (dans
itérative, le cadre
Rythme
durable.
d’un sous-projet).Chapitre 3 : Extreme Programming (XP) Année Universitaire : 2018/2019 38
Prof. Said El Kafhali / 53
Equipe et rôles XP Organisationnel : tracker, manager, coach
Coac
h
Responsabilités
Garant du processus.
Organise et anime les séances de
planification. Aide le client à rédiger
ses premiers scénarios.
Doit avoir le courage de dire les choses telles
qu’elles sont. Il réunit tout les autres rôles.
Vérifie que chaque rôle est respecté.
Objectifs du coach : que l’équipe fonctionne bien,
sans lui...
Ses qualités : Expert de la méthode XP, Expert
technique, Programmeur chevronné, Architecte,
Pédagogue et sensible.
Année Universitaire : 2018/2019
Prof. Said El Kafhali Chapitre 3 : Extreme Programming (XP) 39 / 53
Equipe et rôles XP Répartitions des rôles
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 40
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Equipe et rôles XP Répartitions des
rôles
Compatibilité des
rôles
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 44
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Cycle de vie Cycle de vie XP
Exploration et planning
Exploration
Les développeurs se penchent sur des questions
techniques.
Explorer les différentes possibilités d’architecture pour le
système. Etudier par exemple les limites au niveau des
performances présentées par chacune des solutions
possibles.
Le client s’habitue à exprimer ses besoins sous forme de
user strories (proches de diagrammes de cas illustrés par
des diagrammes de séquences). Les développeurs estiment
les temps de développement.
Planning
Planning de la première release : uniquement les
fonctionnalités essentielles et la première release à
Année Universitaire : 2018/2019 46
enrichir
Prof. par la suite.
Said El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Cycle de vie Cycle de vie XP
Mise en production
Maintenance et mort
Maintenance
Continuer à faire fonctionner le système.
Adjonction de nouvelles fonctionnalités
secondaires.
Pour les fonctionnalités secondaires, on recommence par
une rapide exploration.
L’ajout de fonctionnalités secondaires donne lieu à de
nouvelles releases.
Mort
Quand le client ne parvient plus à spécifier de nouveaux
besoins, le projet est dit mort.
Soit que tous les besoins possibles sont remplis.
Soit que le système ne supporte plus de nouvelles
modifications en restsant rentable. Année Universitaire : 2018/2019 49
Prof. Said El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Cycle de X P vs RUP
vie
Pla
n1 Introduction
Définitions et
motivations Les
2 quatres valeurs d’XP
Pratiques XP
Les pratiques de gestion de
projet Les pratiques de
3 programmation Les
pratiques de collaboration
Equipe et rôles XP
Technique :
programmeur
4 Domaine : client,
testeur
Organisationnel : tracker, manager,
5 coach Répartitions des rôles
Année Universitaire : 2018/2019 50
Cycle
Références de
Prof. Said vie
El Kafhali Chapitre 3 : Extreme Programming (XP) / 53
Cycle de vie X P vs RUP
A chacun son XP
Inconvénients de XP et comparaison
avec RUP
Inconvénients de XP
Focalisation sur l’aspect individuel du développement, au
détriment d’une vue globale et des pratiques de
management ou de formalisation.
Manquer de contrôle et de structuration, risques de
dériveLe modèle d’implémentation qui définit les
composants.
Inconvénients de RUP
Fait tout, mais lourd, usine à gaz.
Parfois difficile à mettre en oeuvre de façon spécifique.
XP vs RUP
XP pour les petits projets en équipe de 12 max.
Année Universitaire : 2018/2019 52
RUP pour les grosChapitre
projets
Prof. Said El Kafhali quiProgramming
3 : Extreme génèrent (XP) beaucoup de / 53
Références
Références