Table des matières:
Définition - Que signifie Extreme Programming (XP)?
Extreme Programming (XP) est une méthodologie de développement logiciel intense, disciplinée et agile se concentrant sur le codage à chaque étape du cycle de vie du développement logiciel (SDLC). Ces étapes sont les suivantes: Intégration continue pour découvrir et réparer les problèmes tôt dans le processus de développement Implication du client et rétroaction rapide Ces disciplines de la méthodologie XP sont dérivées des quatre valeurs clés suivantes de Kent Beck, le créateur de XP: Communication: La communication entre les membres de l'équipe et les clients doit avoir lieu sur une base fréquente et débouche sur une discussion ouverte du projet sans crainte de représailles. Simplicité: cela implique d'utiliser la conception, la technologie, les algorithmes et les techniques les plus simples pour satisfaire les besoins du client pour l'itération actuelle du projet. Rétroaction: La rétroaction doit être obtenue à plusieurs niveaux distincts, par exemple, les tests unitaires, la révision et l'intégration du code. Courage: Mettre en œuvre des décisions difficiles mais nécessaires.
Techopedia explique Extreme Programming (XP)
En plus des valeurs clés, la mise en œuvre de la méthodologie XP nécessite également le soutien des trois principes du changement progressif, englobant le changement et le travail de qualité. Douze pratiques clés doivent également être suivies: certains praticiens de la méthodologie traditionnelle critiquent XP comme un processus «irréel» provoquant un codage imprudent. Plusieurs développeurs de logiciels traditionnels trouvent XP inflexible avec de faibles fonctionnalités et peu de potentiel créatif. Des critiques supplémentaires sont que XP: n'a pas de structure. Manque de documentation essentielle. N'a pas de livrables clairs, c.-à-d. Que les estimations réalistes sont difficiles car la portée complète des exigences du projet n'est pas entièrement définie. (Ce manque d'exigences détaillées rend XP très sujet au fluage de la portée.) A besoin d'un changement culturel pour être adopté. (Peut fonctionner uniquement pour les développeurs seniors) Est coûteux, c'est-à-dire qu'il nécessite des communications / réunions fréquentes aux frais du client, ce qui peut conduire à des négociations difficiles. A l'inefficacité possible des changements de code fréquents dans diverses itérations. Bien sûr, comme pour toute méthodologie de développement, tout cela est très subjectif et dépend des préférences personnelles.