Vous êtes sur la page 1sur 20

Projet ICT217: La

Programmation
Extrême(XP)
PARTICIPANTS :
- DJUMEGHE SIBELLE : 21R2824
- FOSSO TEDONGMO MARIUS : 21Q2508
- ATANGANA JEAN PIERRE : 21Q2529

EXAMINATEUR : DR NKOUANDOU ABOUBAKAR


SOMMAIRE

I) INTRODUCTION
II) HISTORIQUE
III) PRINCIPES
IV) FONCTIONNEMENT
V) QUE FAUT-IL POUR REUSSIR UN PROJET EN UTILISANT LA METHODE XP ?

VI) QUELLE EST LA PLACE DE CERTAINS MEMBRES DANS LE METHODOLOGIE XP


1) POUR LE CLIENT
2) POUR LES DEVELOPPEURS
3) POUR LE MANAGER
4) POUR LE COACH
VII) LES AVANTAGES ET CONVENIENTS DE LA METHODE XP
VIII) METHODE XP VS LA METHODE SCRUM
IX) QUAND UTILISISE LA PROGRAGRAMMATION EXTREME(XP)
X) SIMULATION
XI) CONCLUSION
I) INTRODUCTION

La méthodologie Agile, est un processus qui permet à l’équipe de gérer un


projet en le décomposant en plusieurs étapes. Elle implique une
collaboration constante entre les parties prenantes, une amélioration et
une itération continue à chaque étape. La programmation extrême ou XP
(extreme programming), est une méthode de gestion de projets qui
applique à l’extrême les principes du développement Agile, c’est-à-dire se
concentrer sur les besoins du client, mettre en place un développement
itératif et l’intégration continue. Au cours de ce devoir ou présentation,
nous déballerons : La description, les principes, les avantages et les
inconvénients de cette méthode comparativement à d’autres méthodes
qui seront présentées de façon très brève
II) HISTORIQUE

La programmation extreme(XP) a été inventée par Kent Beck, Ward


Cunningham et Ron Jeffries en 1996, lorsqu'il travaillait sur un projet de
calcul de rémunérations chez Chrysler. Elaborée à l'origine pour le
secteur informatique, extrême Programming est aujourd'hui très
populaire car elle fonctionne pour tous types de projets, de toutes
tailles et de tous secteurs confondus, partout dans le monde. Cette
méthodologie est idéale pour de petites et moyennes équipes, c'est-à-
dire pas plus d'une vingtaine de personnes environ.
III) PRINCIPES

Les principes de la méthode extreme Programming ne sont pas


nouveaux puisqu'il s'agit de ceux des méthodes Agiles. La différence et
l'originalité résident dans le fait qu'ils sont poussés à l'extrême.
La méthode extreme Programming s'appuie sur :

 Une forte réactivité au changement des besoins du client ;


 Un travail d'équipe ;
 La qualité du travail fourni ;
 La qualité des tests effectués au plus tôt.
XP repose sur cinq valeurs fondamentales :

 Communication : il est essentiel que chaque membre de l'équipe


communique quotidiennement avec ses collègues ainsi qu'avec le
client. C'est un moyen incontournable pour résoudre les problèmes.
 Simplicité : la façon la plus simple d'arriver au résultat est privilégiée.
L'équipe projet fait ce qui est nécessaire et demandé, rien de plus. Une
application simple sera plus facile à faire évoluer ensuite.
 Feedback : le retour d'information entre l'équipe projet et le client est
essentiel. Chaque étape du projet est envoyée aussi rapidement et
souvent que possible au client afin qu'il teste, donne son avis et valide
l'étape. Chaque demande de modification est prise en compte
immédiatement.
 Respect : le respect de chaque membre de l'équipe et de son travail
est primordial. Le management, l'équipe projet et le client se
respectent mutuellement.
 Courage : Il faut du courage pour effectuer certains changements
comme essayer une nouvelle technique, recommencer une itération
non validée ou revoir l'organisation du projet. Le courage permet de
sortir d'une situation inadaptée.
Les cinq valeurs de XP se déclinent en treize pratiques qui se renforcent
mutuellement :
Client sur site : le client doit être représenté sur place pendant toute la durée du
projet. Ce représentant doit avoir une vision globale du résultat à obtenir et être
disponible pour répondre aux questions de l'équipe.
Jeu du planning (ou planning poker): le planning est réalisé en collaboration avec
le client. Ce dernier crée des scénarios pour les fonctionnalités qu'il souhaite
obtenir. L'équipe évalue le temps nécessaire pour les mettre en œuvre. Le client
sélectionne ensuite les scénarios en fonction des priorités et du temps disponible.
Intégration continue : lorsqu'une tâche est terminée, elle est tout de suite intégrée
dans le produit complet. Cela permet d'éviter la surcharge de travail due à
l'intégration de tous les éléments avant la livraison. Les tests facilitent cette
intégration : quand tous les tests sont positifs, l'itération est terminée.
Petites livraisons: les livraisons doivent être les plus fréquentes possibles afin que le
client donne son avis et que les modifications soient rapidement prises en compte
par l'équipe.
Rythme soutenable : aucune heure supplémentaire n'est tolérée. S'il y en a, alors le
planning doit être revu. Un collaborateur fatigué travaille mal et fait plus d'erreurs.
Tests fonctionnels : à partir des scénarios définis par le client, l'équipe crée des
procédures de test qui permettent de vérifier l'avancement du développement.
Lorsque tous les tests fonctionnels passent, l'itération est terminée.
Tests unitaires : pour chaque fonctionnalité, un test est écrit afin de vérifier qu'elle
fonctionnera comme prévu. Ce test sera conservé jusqu'à la fin du projet, tant que
la fonctionnalité est requise. À chaque modification du code, tous les tests sont
lancés afin d'identifier immédiatement s'il y a un problème de fonctionnement.
 Conception simple : on va droit à l'essentiel en se focalisant uniquement sur les
besoins actuels du client. Plus l'application est simple, plus il sera facile de la
faire évoluer lors des prochaines itérations.
 Utilisation de métaphores: les équipes XP utilisent des métaphores pour décrire
le système et son fonctionnement afin de clarifier les fonctionnalités à atteindre.
Tout le monde parle le même langage.
 Refactoring (ou remaniement du projet): le projet est amélioré régulièrement. Le
but étant d'avoir de bonnes bases et de meilleures conditions de travail pour
l'équipe.
 Appropriation collective du projet : la responsabilité du projet est collective.
Chaque membre de l'équipe peut modifier toutes les portions du projet, mêmes
celles sur lesquelles il n'a pas travaillé. L'objectif est d'être efficace et rapide.
 Standards de langage : puisque tout le monde travaille ensemble sur le projet, il
est essentiel de faciliter le travail de chacun en utilisant les mêmes termes, le
même style et des règles de communication claires.
 Travail en binôme : les collaborateurs travaillent en binôme. Le pilote et le
copilote changent régulièrement afin d'améliorer la communication et la
connaissance collective du projet.

Les projets gérés par la méthode extrême Programming reposent sur des cycles
de développement (itérations) courts et rapides qui sont réalisés collectivement par
l'équipe projet et le client dont l'implication est constante.
Les activités contre-productives ont été supprimées afin de réduire les coûts et la
frustration de toutes les personnes impliquées.
V) QUE FAUT-IL POUR REUSSIR UN PROJET EN UTILISANT LA METHODE
XP ?

Pour être mise en place de façon efficace, la méthodologie


extrême Programming nécessite un changement de mentalité et une
acceptation par l'ensemble des équipes impliquées.
Afin de garantir le succès de XP, il est indispensable que le client ou un
représentant soit totalement investi dans le projet.
Cette méthode ne peut pas fonctionner avec des grandes équipes, si
le travail en binôme est impossible ou encore si les feedbacks sont
longs et difficiles à obtenir.
VI) QUELLE EST LA PLACE DE CERTAINS MEMBRES DANS LE
METHODOLOGIE XP

POUR LE CLIENT :

L’extrême programming agit de manière très orientée client, ce qui peut


aller jusqu’à intégrer le client comme un membre de l’équipe et à avoir au
moins un représentant sur site (On-Site Customer). Le client pose ses
exigences pour le produit, mais n’indique que partiellement la façon
d’atteindre les objectifs. Seule la hiérarchisation des secteurs partiels relève
de son domaine de compétences. Il doit ici également réussir à faire
comprendre ses propres souhaits.
Le rôle du client peut être rempli par une personne ou une équipe de
différents représentants du client. Dans la pratique, le chef de produit ou des
collaborateurs du secteur marketing (toujours en fonction de l’objectif du
projet) se chargent souvent de ces tâches.
 POUR LES DEVELOPPEURS

L’équipe de développeurs n’est pas sous-divisée. Autrement dit :


toute personne créant activement le produit ne prend la casquette de
développeur. L’équipe regroupe donc non seulement les
programmeurs, mais aussi d’autres personnes participant à la création,
en fonction des exigences du projet. Outre le travail de
développement effectif, la mission des développeurs est également
de réagir aux désirs du client : évaluer la charge de travail, établir un
calendrier, planifier la mise en œuvre.
Le développeur est parfaitement en droit de demander l’aide dont il a
besoin, donc par exemple d’exiger de la direction qu’elle lui fournisse
de plus amples capacités. La semaine de 40 heures s’applique par
ailleurs aux développeurs conformément aux techniques de XP. Dans
l’intérêt du projet, les développeurs ne doivent pas être surmenés.
L’équipe de développeurs définit à cet effet elle-même son calendrier.
 POUR LE MANAGER

Le rôle du manager consiste à faire le lien entre les développeurs et les


clients. Les personnes de ce groupe amènent les deux autres à une
même table et animent par exemple le planning gamme. Le manager
veille ici à ce que les règles définies au préalable ainsi que les
conventions générales d’une discussion constructives soient
respectées. Le manager endosse donc si nécessaire un rôle
de médiateur.
Son rôle est parfois également qualifié de tracker (traqueur). En effet,
l’une des missions du manager est de noter les indices de performance
clés (p. ex. le temps que chaque collaborateur consacre au projet).
 POUR LE COACH

Toute l’équipe (y compris le client) doit savoir gérer l’extrême


programming et pouvoir mettre en pratique cette méthode de travail de
manière cohérente. Un coach peut contribuer à ce que tous se fassent
une même idée des procédures. Il n’a rien à voir avec le développement
du produit à proprement parler et ne sert que d’aide externe, de manière
très similaire à un Scrum Master. Dans les discussions préalables, les règles
et les pratiques peuvent être passées en revue avec cette personne. Le
coach accompagne l’équipe idéalement pendant toute la phase de
développement, est disponible pour répondre aux questions et aide à
clarifier des points obscurs.
Un prestataire de services externe endosse souvent ce rôle. Il est
néanmoins également possible que le coach vienne de l’entreprise, mais
dans ce cas d’un autre secteur. Il faut éviter les doubles casquettes (un
développeur prenant en plus le rôle de coach).
S’il a redynamisé le développement de logiciels, l’extrême programming ne
convient pas dans tous les cas de figure ni à toutes les équipes. XP part du principe
que le client, au début du projet, n’a encore aucune idée précise du produit fini.
Dans un tel cas, le logiciel peut être planifié et développé de manière agile, c’est-
à-dire petit à petit.
Il en résulte d’une part la satisfaction du client : on cherche collectivement avec lui
la solution adaptée et il est associé à chaque étape. D’autre part, les développeurs
peuvent mettre en œuvre des projets d’une façon qu’ils jugent appropriée plutôt
que de devoir faire des compromis en permanence. Cependant, si le client vient
voir l’équipe de développeurs avec une description finie du produit et une liste de
fonctions, il sera alors très difficile d’employer XP.
L’extrême programming notamment peut mettre de petites équipes dans
l’embarras, car les capacités requises à cet effet ne sont pas disponibles. Les
réunions régulières avec les clients demandent également du temps qui ne peut
pas être réintégré dans le travail de programmation à proprement parler. Dans une
situation idéale, cela n’a aucune importance : le résultat sera nettement meilleur si
l’équipe peut prendre le temps nécessaire et disposer des ressources souhaitées
Dans la pratique en revanche, un budget limité tout comme des délais
de livraison clairement fixés mettent les développeurs sous pression. Par
ailleurs, le client peut ne pas être intéressé ou ne pas être en mesure
de prendre part au projet à la hauteur des exigences XP.
Si en revanche la situation permet de procéder selon l’extrême
programming, une équipe peut fournir un résultat exceptionnel avec
cette méthode. Les tests permanents génèrent des systèmes stables et
le processus itératif garantit en combinaison avec l’approche
minimaliste que seules des fonctions importantes pour le projet sont
effectivement créées.
VII) LES AVANTAGES ET CONVENIENTS DE LA METHODE XP

 Cette partie est présente dans le fichier avantage.text


VIII) METHODE XP VS LA METHODE SCRUM

La méthode Scrum fait également partie de la famille agile. D’ailleurs,


les deux peuvent être combinées, car elles sont complémentaires :

 La méthode Scrum est un Framework qui a trait à la gestion et


l’organisation du projet ;
 L’extrême Programming se concentre sur les activités de
développement, notamment sur la systématisation du test
automatisé.
IX) QUAND UTILISISE LA PROGRAGRAMMATION EXTREME(XP)

On utilise la méthode XP quand on a à faire à un petit projet. Autrement dit, la


méthode XP est adaptée au projet de petite taille interpellant 10 à 15
développeurs maximum pour sa réalisation ;en outres, cette méthodologie est
utilisée quand le délais de livraison du projet est éphémère en ce sens que : Le
suivi du projet se fait au fur et à mesure de l’avancement des itérations, ce qui
permet de rapidement mettre en évidence les problèmes éventuels et de
pouvoir prendre en compte de nouvelles demandes du client.
X) SIMULATION

 Cette partie est présente dans le fichier simulation.text


XI) CONCLUSION

 Avec la méthodologie extreme programing, managers, équipe projet et client


travaillent en collaboration. Cette approche privilégie la méthode la plus simple,
favorise la réactivité de l’équipe et instaure un contrôle continue de la qualité.
Concrètement, XP n’est pas évidente à appliquer et à maitriser car elle demande
beaucoup de discipline et de communication.il faut aller vite, sans perdre de vue
la rigueur du travail et les fonctions finales du projet. La grande force de la
méthode extreme programing réside dans sa simplicité et le fait qu’on va droit à
l’essentielle suivant un rythme qui doit rester constant.

Vous aimerez peut-être aussi