Méthodologie de développement logiciel Agile vs traditionnel
Il existe aujourd'hui un certain nombre de méthodologies de développement de logiciels utilisées dans l'industrie du logiciel. La méthode de développement de la cascade est l'une des premières méthodes de développement logiciel. Mode en V, RUP et quelques autres méthodes linéaires, itératives et combinées linéaires iritatives, qui sont venues après la méthodologie de la cascade, destinée à éliminer de nombreux problèmes de la méthode de la cascade. Toutes ces méthodologies antérieures sont appelées méthodologies de développement de logiciels traditionnels. Agile Model est un modèle de développement logiciel plus récent introduit pour répondre aux lacunes trouvées dans les modèles traditionnels. Agile principal d'Agile est d'intégrer les tests le plus tôt possible et de publier une version de travail du produit très tôt, en décomposant le système en sous-parties très petites et gérables.
Qu'est-ce que la méthodologie de développement logiciel traditionnel?
Les méthodologies logicielles comme la méthode de la cascade, le modèle V et RUP sont appelées méthodologies de développement de logiciels traditionnels. La méthodologie de la cascade est l'un des premiers modèles de développement logiciel. Comme son nom l'indique, il s'agit d'un processus séquentiel dans lequel les progrès traversent plusieurs phases (analyse des exigences, conception, développement, test et implémentation) de haut en bas, analogue à une cascade. Le modèle V est considéré comme une extension du modèle de développement de logiciels en cascade. Le modèle V utilise les mêmes relations entre les phases définies dans le modèle de cascade. Mais au lieu de descendant linéairement (comme le modèle de cascade), le modèle V dépasse en diagonale puis remonte (après la phase de codage), formant la forme de la lettre V. RUP (Rational Unified Process) est un cadre de processus adaptable (pas un seul processus concrète), qui peut être personnalisé par l'organisation de développement en fonction de leurs besoins. Un peu similaire à la cascade, il a des phases fixes comme création, élaboration, construction et transition. Mais contrairement à la cascade, RUP est un processus itératif.
Qu'est-ce que l'agile?
Agile est une méthodologie de développement logiciel très récent (ou plus correctement, un groupe de méthodologies) basée sur le manifeste agile. Cela a été développé pour résoudre une lacune dans les méthodologies de développement logiciel traditionnelles. Les méthodes agiles sont basées sur la priorité élevée à la participation des clients au début du cycle de développement. Il recommande d'incorporer les tests par le client tôt et souvent que possible. Les tests se font à chaque point lorsqu'une version stable devient disponible. La fondation d'Agile est basée sur le début des tests depuis le début du projet et se poursuit tout au long de la fin du projet. Scrum et Extreme Programming sont deux des variations les plus populaires des méthodes agiles.
La valeur clé de l'Agile est «la qualité est la responsabilité de l'équipe», qui souligne que la qualité du logiciel est la responsabilité de toute l'équipe (pas seulement l'équipe de test). Un autre aspect important d'Agile est de décomposer le logiciel en pièces plus petites et de les livrer très rapidement au client. La livraison d'un produit de travail est une importance maximale. Ensuite, l'équipe continue d'améliorer le logiciel et de livrer en continu à chaque étape majeure. Ceci est réalisé en ayant des cycles de libération très courts (appelés sprints dans Scrum) et en obtenant des commentaires pour l'amélioration à la fin de chaque cycle. Les contributeurs sans beaucoup d'interactions de l'équipe tels que les développeurs et les testeurs dans les méthodes précédentes, travaillent désormais ensemble dans le modèle agile.
Quelle est la différence entre la méthodologie de développement logiciel agile et traditionnel?
Bien que la méthode agile soit basée sur le développement itératif comme certaines des approches traditionnelles, les méthodologies agiles et traditionnelles ont des différences clés. Les approches traditionnelles utilisent la planification comme mécanisme de contrôle, tandis que les modèles Agile 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. Agile Model fournit une version de travail du produit très tôt par rapport aux méthodologies traditionnelles afin que le client puisse réaliser certains des avantages dès le début. Le temps de test du cycle d'Agile est relativement court par rapport aux méthodes traditionnelles, car les tests sont effectués parallèles au développement. La plupart des modèles traditionnels sont très rigides et relativement moins flexibles que le modèle agile. En raison de tous ces avantages, Agile est préféré aux méthodologies traditionnelles pour le moment.