Méthodologies Agile vs V (modèle)
Il existe aujourd'hui un certain nombre de méthodologies de développement de logiciels différentes utilisées dans l'industrie du logiciel. V Methodologies (V-Model) est une extension de la méthode de développement Waterfall (qui est l'une des premières méthodes). L'objectif principal de V-Model est de donner un poids égal au codage et aux tests. Le modèle Agile est un modèle de développement logiciel plus récent introduit pour combler les lacunes des modèles existants. L'objectif principal d'Agile est d'incorporer les tests le plus tôt possible et de publier une version fonctionnelle 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 les méthodologies V (modèle)?
V Methodologies (V-Model) est un modèle de développement logiciel. Il est considéré comme une extension du modèle de développement logiciel typique de Waterfall. V-Model utilise les mêmes relations entre les phases définies dans le modèle Waterfall. Mais au lieu de descendre linéairement (comme le modèle Waterfall), le modèle V descend en diagonale puis remonte (après la phase de codage), formant la forme de la lettre V. Cette forme en V est formée pour montrer la relation entre chaque phase de le développement / la conception et la phase de test correspondante. Le temps et le niveau d'abstraction sont représentés respectivement par les axes horizontal et vertical.
Le test (le chemin ascendant, côté droit du V) est effectué pour la vérification, tandis que les phases de conception correspondantes (le chemin descendant, côté gauche du V) sont utilisées pour la validation. Dans le modèle en V, le même poids est accordé au codage et aux tests. V-Model recommande de créer un document de test avec les documents / code de conception. Par exemple, les documents de test d'intégration doivent être rédigés lorsque la conception de haut niveau est documentée et les tests unitaires doivent être documentés pendant que le plan de conception détaillé est en cours d'élaboration. Cela signifie qu'un plan de mise en œuvre pour chaque test doit être créé à l'avance, sans attendre la fin du développement pour qu'il puisse être transmis à l'équipe de test.
Qu'est-ce que Agile?
Agile est une méthodologie de développement logiciel très récente basée sur le manifeste agile. Ceci a été développé pour résoudre certaines lacunes dans les méthodologies de développement de logiciels traditionnelles V-Model et Waterfall. Les méthodes agiles sont basées sur une priorité élevée à la participation du client au début du cycle de développement. Il recommande d'intégrer les tests par le client le plus tôt possible et le plus souvent possible. Les tests sont effectués à chaque étape lorsqu'une version stable devient disponible. La base d'Agile est basée sur le démarrage des tests depuis le début du projet et sur la poursuite jusqu'à la fin du projet. Les valeurs clés d'Agile sont «la qualité est la responsabilité de l'équipe», 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 d'Agile est de décomposer le logiciel en plus petites parties gérables et de les livrer au client très rapidement. Fournir un produit fonctionnel est de la plus haute importance. 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 publication très courts appelés sprints et en obtenant des commentaires d'amélioration à la fin de chaque cycle. Les contributeurs sans trop d'interactions de l'équipe, tels que les développeurs et les testeurs dans les méthodes précédentes, travaillent désormais ensemble au sein du modèle Agile. Ceci est réalisé en ayant des cycles de publication très courts appelés sprints et en obtenant des commentaires d'amélioration à la fin de chaque cycle. Les contributeurs sans trop d'interactions de l'équipe, tels que les développeurs et les testeurs dans les méthodes précédentes, travaillent désormais ensemble au sein du modèle Agile. Ceci est réalisé en ayant des cycles de publication très courts appelés sprints et en obtenant des commentaires d'amélioration à la fin de chaque cycle. Les contributeurs sans trop d'interactions de l'équipe, tels que les développeurs et les testeurs dans les méthodes précédentes, travaillent désormais ensemble au sein du modèle Agile.
Quelle est la différence entre les méthodologies Agile et V (modèle)?
Le modèle Agile fournit une version fonctionnelle du produit très tôt par rapport au V-Model. Au fur et à mesure que de plus en plus de fonctionnalités sont fournies, le client peut bénéficier rapidement de certains des avantages. Le temps de cycle de test d'Agile est relativement court par rapport au V-Model, car les tests sont effectués parallèlement au développement. Agile est un modèle proactif (en raison de ses cycles très courts) par rapport au V-Model beaucoup plus réactif. Le V-Model est très rigide et relativement moins flexible que le modèle Agile. En raison de tous ces avantages, Agile est actuellement préféré au modèle V.