Quels sont les avantages et les inconvénients du modèle incrémental ?

Le principal avantage du modèle incrémentiel est qu'il génère une application fonctionnelle plus rapidement et plus tôt au cours du cycle de vie du développement logiciel ; cependant, des problèmes peuvent survenir avec les phases d'itération s'ils ne sont pas mis en œuvre correctement, et les coûts de développement peuvent être élevés. Pour qu'il réussisse, l'ensemble du système doit être clairement défini avant d'être décomposé et développé dans des modèles incrémentiels.

La flexibilité du modèle incrémentiel facilite le test et le débogage par rapport aux autres modèles de développement logiciel. Étant donné que seules de petites modifications sont apportées au cours de chaque phase incrémentielle, les développeurs de logiciels peuvent cibler et tester rigoureusement chaque module au sein de la plus grande application. Mais si elle est mal implémentée, chaque phase de l'itération sera rigide et ne se chevauchera pas correctement avec les autres phases, causant des problèmes qui n'étaient pas apparents dans les itérations précédentes.

Le modèle incrémentiel réduit considérablement le coût de livraison initial, mais le coût résultant du développement de l'ensemble de l'application sera probablement plus élevé que le modèle en cascade. La décomposition du logiciel en modules plus petits permet aux développeurs de recevoir en permanence des commentaires concernant chaque version du produit. Ce modèle ne peut être appliqué qu'aux grands projets de développement de logiciels, car il serait peu pratique de décomposer une petite application en modules plus petits.

Le modèle incrémental est également appelé modèle de cycle de vie itératif, car chaque module doit passer par une phase d'exigences, de conception, de mise en œuvre et de test. Il est principalement utilisé lorsque l'application doit être lancée dès que possible.