Différence entre la programmation extrême et SCRUM

Programmation extrême vs SCRUM | XP vs SCRUM

Au fil des ans, diverses méthodes de développement de logiciels ont été utilisées dans l'industrie du logiciel, telles que la méthode de développement Waterfall, le modèle V, le modèle RUP et quelques autres méthodes linéaires, itératives et combinées itératives. Le modèle Agile (ou plus exactement un groupe de méthodologies) est un modèle de développement logiciel plus récent introduit par le manifeste Agile pour remédier aux faiblesses de ces méthodologies de développement logiciel traditionnelles..

Les méthodes agiles sont basées sur le développement itératif et utilisent les commentaires des utilisateurs comme principal mécanisme de contrôle. Agile peut être appelé une approche centrée sur les personnes que les méthodes traditionnelles. Le modèle agile fournit très tôt une version opérationnelle du produit en décomposant le système en sous-pièces très petites et gérables, de sorte que le client puisse bénéficier rapidement de certains avantages. Le temps de cycle de test Agile est relativement court par rapport aux méthodes traditionnelles, car les tests sont effectués parallèlement au développement. En raison de tous ces avantages, les méthodes Agiles sont préférées aux méthodes traditionnelles pour le moment. La programmation Scrum et Extreme sont deux des variantes les plus populaires des méthodes Agiles..

Qu'est-ce que SCRUM??

Comme mentionné ci-dessus, SCRUM est un processus de gestion de projet incrémental et itératif, qui appartient à la famille des méthodes Agiles. SCRUM est basé sur la priorité donnée à la participation des clients au début du cycle de développement. Il recommande d'incorporer les tests par le client le plus tôt possible et souvent. Les tests sont effectués à chaque étape lorsqu'une version stable devient disponible. La base de SCRUM est basée sur le début des tests depuis le début du projet et se poursuit tout au long du projet..

La valeur clé de SCRUM est que «la qualité est la responsabilité de l'équipe», ce qui souligne que la qualité du logiciel est la responsabilité de toute l'équipe (pas seulement de l'équipe de test). Un autre aspect important de SCRUM est la décomposition du logiciel en plusieurs parties gérables et sa livraison au client très rapidement. Livrer un produit fonctionnel est primordial. Ensuite, l’équipe continue d’améliorer le logiciel et de livrer en continu à chaque étape majeure. Ceci est réalisé grâce à des cycles de relâchement très courts (appelés sprints) et à un retour d’information à améliorer à la fin de chaque cycle..

SCRUM définit plusieurs rôles clés pour le bon fonctionnement d’une équipe de développement. Ils sont le propriétaire du produit (qui représente le client et maintient le carnet de produit), le maître Scrum (qui agit en tant qu'organisateur et coordinateur de l'équipe en organisant des réunions Scrum, en maintenant un carnet de commandes de sprint et en détruisant des graphiques) et d'autres membres de l'équipe. Une équipe peut être composée de rôles traditionnels, mais ce sont principalement des équipes autogérées. Les artefacts Scrum principaux sont: le carnet de produit / le journal des mises à jour (liste de souhaits), les backlogs de Sprint / les backlogs de défauts (tâches à chaque itération), les graphiques de gravure (travail restant par rapport à la date). Les principales cérémonies SCRUM sont les réunions sur le backlog de produits, les réunions Sprint et Retrospect..

Quelle est la programmation extrême?

Extreme Programming (XP abrégé) est une méthodologie de développement logiciel appartenant au modèle Agile. La programmation extrême effectue les phases en très petites étapes continues (par rapport aux méthodes traditionnelles). Le premier passage, qui ne prend qu'un jour ou une semaine, est intentionnellement incomplet. Afin de fournir des objectifs concrets pour le développement du logiciel, des tests automatisés sont écrits au début. Ensuite, les développeurs font le codage. L'accent est mis sur la programmation par paires. Une fois tous les tests réussis, le codage est considéré comme terminé. La phase suivante concerne la conception et l’architecture, qui traite de la refactorisation du code par le même ensemble de programmeurs. À la fin de cette phase, un produit incomplet (mais fonctionnel) est présenté aux parties prenantes. Juste après, la phase suivante (qui se concentre sur le prochain ensemble de fonctionnalités les plus importantes) commence..

Quelle est la différence entre la programmation extrême et SCRUM?

Extreme Programming et SCRUM sont naturellement des méthodologies très similaires et alignées. Cependant, il existe des différences subtiles mais importantes entre ces deux méthodes. Les sprints SCRUM durent 2 à 4 semaines, tandis que les itérations XP typiques sont plus courtes (1 à 2 semaines). Habituellement, les équipes SCRUM ne permettent pas de modifications dans les sprints, mais les équipes XP sont un peu plus flexibles pour les modifications au sein d'itérations. Par exemple, après la planification du sprint, l'ensemble des éléments de ce sprint reste inchangé, mais une fonctionnalité qui n'a pas commencé à fonctionner peut à tout moment être remplacée par une autre fonctionnalité de XP. Une autre différence entre XP et SCRUM réside dans le fait que les commandes développées dans XP sont strictement hiérarchisées par le client, tandis que l'équipe SCRUM décide de l'ordre des éléments (après que le propriétaire du produit SCRUM a hiérarchisé le carnet de commandes)..

Contrairement à XP, SCRUM n’impose aucune pratique en matière d’ingénierie. Par exemple, XP est régi par des pratiques telles que le développement piloté par les tests (TDD), la programmation en binôme, la refactorisation, etc. Cependant, certains pensent que l'imposition d'un ensemble de pratiques sur des équipes auto-organisées pourrait avoir un impact négatif, ce qui peut être envisagé. une lacune de XP. Un autre inconvénient de la programmation Extreme est que les équipes inexpérimentées peuvent avoir tendance à se refactoriser sans tests automatisés ni TDD (ou simplement piratage). Par conséquent, certains suggèrent que SCRUM est préférable pour regarder (car il apporte de grandes améliorations simplement à travers des itérations ciblées dans le temps) et XP convient aux équipes légèrement matures qui ont découvert la valeur des pratiques mentionnées ci-dessus (plutôt que de les utiliser parce qu'on leur a demandé faire cela).