Home >> Modèles de développement du GL

Modèles de développement du GL


Le Modèle en cascade

Il se base sur 2 idées fondamentales :

  • Une étape ne peut pas être débutée avant que la précédente ne soit achevée : inutile de monter les murs tant que les fondations ne sont pas coulées (ça arrive parfois mais nous ne sommes pas dans une émission de défense des droits du consommateur…) ;
  • La modification d’une étape du projet a un impact important sur les étapes suivantes.

Chaque phase doit produire un ou plusieurs livrables définis à l’avance et a une date d’échéance fixée. On ne peut passer d’une étape à l’autre que lorsque les livrables de l’étape en cours sont jugés satisfaisants. Si tout se passe bien on passe à la phase suivante, sinon on remonte à la phase précédente, voire même en début de cycle si une anomalie critique est détectée.

Avantages du modèle en cascade : Le planning est établi à l’avance et le maître d’ouvrage sait précisément ce qui va lui être livré et quand il pourra en prendre livraison.

Inconvénients du modèle en cascade : ils sont assez nombreux mais le principal inconvénient est la très faible tolérance à l’erreur (les anomalies sont détectées tardivement) qui induit automatiquement un coût important en cas d’anomalie.

Ce modèle a été présenté il y a plus de 40 ans comme étant imparfait et depuis, un grand travail a été fait pour trouver des modèles plus performants et plus robustes, c’est pourquoi je vous invite à ne pas l’utiliser, mais simplement à le comprendre et à l’accepter comme une base de départ.

Modèle en V

Face aux problèmes de réactivité que pose l’approche en cascade, l’industrie informatique a adopté le cycle en v dans les années 80. Ce modèle ne se découpe plus en 7 mais en 9 phases qui se répondent 2 à 2 : à chaque étape de conception correspond une phase de test ou de validation, comme vous pouvez le voir ci-dessous.

Avantages du modèle en V : La stricte structure en V permet d’espérer que le livrable final sera parfait, puisque les étapes de test sont aussi nombreuses que les étapes de réflexion. De plus, il est facile de prévoir les tests à réaliser au moment où l’on conçoit une fonctionnalité ou une interface, le travail s’enchaîne donc de façon assez naturelle.

Inconvénients du modèle en V : Malheureusement ce modèle est rarement utilisé tel quel et le V est bien souvent déséquilibré, tantôt côté analyse, tantôt côté recette et la marge d’erreur est bien souvent proportionnelle à la marge de liberté prise par rapport au modèle théorique.

Le Modèle en spirale

Défini par Barry Boehm en 1988 dans son article “A Spiral Model of Software Development and Enhancement”, le cycle en spirale reprend les étapes du cycle en V, mais prévoit l’implémentation de versions successives, ce qui permet de mettre l’accent sur la gestion des risques, la première phase de chaque itération étant dédiée à ce poste. A ce point il est nécessaire de définir la notion de prototype. En effet, on ne fait pas des versions successives d’un même produit fini, corriger une liste de bugs permet de passer de la béta à la finale mais pas de la v1 à la v2… Le cycle en spirale prévoit donc la livraison de prototypes, c’est à dire de versions incomplètes du produit. Il peut s’agir d’une simple maquette ou même des wireframes sans aucune fonctionnalité (on parle alors de prototype horizontal) ou bien de sites partiellement fonctionnels : telle version implémentera la navigation de base, la suivante ajoutera l’espace membres, puis la zone de téléchargements… on parlera alors de prototype vertical.

Avantages du modèle en spirale : Le but premier de ce modèle étant la gestion des risques, ceux-ci sont logiquement limités. L’expertise du client croit à chaque itération du cycle, l’apprentissage se fait par touche et pas d’un seul bloc. Enfin, ce modèle est très adaptatif : si chaque prototype apporte des fonctionnalités indépendantes, il est possible de changer l’ordre de livraison des versions.

Inconvénients du modèle en spirale : Selon moi le principal défaut du cycle en spirale c’est qu’il n’est adapté qu’aux projets suffisamment gros, inutile de prévoir la livraison de 5 ou 6 prototypes pour un site vitrine sous WordPress (même si on peut considérer qu’une maquette puis le site en lui-même constituent 2 cycles complets). De plus l’évaluation des risques en elle-même et la stricte application du cycle de développement peut engendrer plus de coûts que la réalisation du logiciel. Enfin, ce type de cycle de développement est complexe, entre les étapes prévues en théorie et celles mises en pratique il y a une grande différence.

Le modèle incrémental

Un seul sous-ensemble  des composants est développé à la fois:

  • un logiciel noyau est tout d’abord développé puis
  • des incréments  sont successivement développés et intégrés.

Avantages du modèle par incréments:

  • Chaque développement est moins complexe
  • Les intégrations sont progressives
  • Livraison et mise en service possibles après chaque intégration d’incrément.
  • Permet de mieux lisser dans le temps l’effortde développement et les effectifs.
  • Souvent utilisé pour de grands projets, fonctionnant par appels d’offres et sous-traitance.

Inconvénients du modèle par incréments:

  • risque majeur: remise en cause du noyau ou les incréments précédents
  • autre risque: être incapable d’intégrer un incrément.
Top