Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.
2. Les méthodes agiles sont des groupes de pratiques de
réalisation de projets.
Impliquent au maximum le client et permettent une
grande réactivité à ses demandes.
Elles reposent sur un cycle de développement
itératif, incrémental et adaptatif.
….
2
4. Les méthodes agiles prônent certaines valeurs:
4
Des logiciels
opérationnels
L'adaptation aux
changements
Collaboration
avec les clients
5. Satisfaire le client en priorité.
Accueillir favorablement les demandes de changement
Livrer le plus souvent possible des versions opérationnelles de
l’application
Assurer une coopération permanente entre le client et l’équipe
projet
Mesurer l’avancement du projet en termes de fonctionnalités
de l’application
Responsabiliser les équipes…
5
7. La méthode agile XP est issue d’un projet de la
société Chrysler, qui au milieu des années 90, a
souhaité remettre totalement à jour son système de paie,
en s’attaquant donc à des fonctionnalités touchant près
de 10 000 salariés.
7
8. 8
Spécifier les fonctionnalités les plus importantes
Le projet va être découpé en modules (itérations)
Une livraison est effectuée à l’issue de chaque
itération
Pouvoir prendre en compte de nouvelles demandes du
client (changements).
9. 9
La relecture du code doit être faite systématiquement.
L’amélioration du code est faite tout au long de
l’avancement des itérations.
La solution la plus simple est toujours privilégiée.
Les tests doivent être systématiques, complets, et
réalisés à la fin de chaque étape.
10. Chaque développeur va travailler avec un binôme.
Il faut donc que les développeurs qui vont travailler
ensembles soient capables d’accepter le changement et les
critiques du client.
10
11. 11
Produire un système constamment opérationnel.
La fréquence des livraisons permettent de conserver
une vision précise de l’avancement.
La méthode agile XP ne peut s’adresser qu’à des
projets de taille petite à moyenne.
Cet exposé parle de la méthode agile xp Extrême programming de gestion de projet.
En premier lieu c'est quoi méthodes agile ?
Adaptatif: Communication
Simplicité
Scrum: le framework Scrum, présentée en 1995 par Ken Schwaber
Le framework s'appuie sur le découpage d'un projet en boîtes de temps, nommées « sprints ».
Chaque sprint commence par une estimation suivie d'une planification opérationnelle. Le sprint se termine par une démonstration de ce qui a été achevé.
Ce que nous intéresse Aujourd’hui c'est XP.
Son but principal est de réduire les coûts du changement. Et rendre le projet plus flexible et ouvert au changement.
Par contre les méthodes traditionnelles qui définissent les besoins au début de projet informatique.
Une petite histoire:
La première étape de la méthode agile XP consiste à définir les spécifications. Mais plutôt que de spécifier tout le projet dès le début, on va se concentrer sur les fonctionnalités les plus importantes. Cela demande naturellement de l’expérience et une analyse assez fine du besoin.
Le projet va alors être découpé en modules et sous-modules. Les développements vont avoir lieu lors d’itérations pouvant avoir une durée de deux à cinq semaines maximum. Généralement, trois semaines est un bon choix. Une livraison est effectuée à l’issue de chaque itération et elle est testée. Si les tests sont concluants, on passe à l’itération suivante, sinon, l’itération recommence.
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.
L’application de ces règles va permettre au fur et à mesure de l’avancement du projet de mettre en place des bonnes pratiques de développement,
l’un développe, l’autre contrôle en temps réel que le code est correct, de façon à améliorer la qualité du code produit.
La relecture et l’amélioration du code, ainsi que des tests systématiques tout au long du processus de développement permet de produire un système constamment opérationnel. Toute anomalie est rapidement repérée et corrigée et l’équipe produit un code de qualité supérieure.
Si le planning du projet n’est pas aussi clairement défini qu’avec d’autres méthodes, puisque toutes les spécifications ne sont pas écrites dès le début, l’intégration continue et la fréquence des livraisons permettent de conserver une vision précise de l’avancement. L’automatisation des tests permet également de s’assurer de la non-régression de chaque livraison.
Comme nous l’avons déjà évoqué, en revanche, la méthode agile XP ne peut s’adresser qu’à des projets de taille petite à moyenne car l’organisation qu’elle induit n’est pas compatible avec une équipe de plusieurs dizaines de personnes.