Le choix du cycle de vie de projets

Cycle en cascade

Le modèle en cascade originel est hérité du BTP :

Une étape ne peut pas être débutée avant que la précédente ne soit achevée : poser d'abord les fondations avant d'entreprendre le reste...
Ce modèle comporte 7 phases : analyse des besoins, spécifications, conception de l’architecture, conception détaillée, implémentation, tests/validation etinstallation. Chacune de ces phases 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 : 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.

 

Cycle en V

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

-Etude et analyse : l’analyse ou la définition des besoins, la rédaction des spécifications, la conception architecturale, la conception détaillées
-Codage : développement de l’application
-Tests et validations : tests unitaires, test d’intégration, tests de validation et maintenance corrective..
 Plus on avance dans l’étude plus le niveau de détail est précis, ensuite on code, et plus on avance dans les tests moins le niveau de détails est précis.

Avantages du modèle en V : L 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 : Ce modèle est rarement utilisé tel quel et le V est bien souvent déséquilibré, la marge d’erreur est bien souvent proportionnelle à la marge de liberté prise par rapport au modèle théorique. 

 

Cycle en spirale

Le cycle en spirale reprend les étapes du cycle en V, et prévoit la livraison de versions successives, ce qui permet de mettre l’accent sur la gestion des risques. Ce cycle prévoit la livraison de prototypes, c’est à dire de versions incomplètes du produit. Il peut s’agir par exemple d’une simple maquette sans aucune fonctionnalité.

Avantages  : Les risques sont 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  : ’il n’est adapté qu’aux grands et peut engendrer plus des sucoûts d'analyse par rapport à la réalisation du logiciel. Enfin, le cycle entre les étapes prévues en théorie et celles mises en pratique il y a parfaois une grande différence.

 

Cycle itératif

Simplifions  le modèle précédent en réduisant le nombre d’étapes du cycle

Le client explique ce qu’il veut, tout en sachant que ces besoins peuvent être modifiés par la suite du processus. Ensuite, on se lance dans le processus itératif en lui-même avec la rédaction des spécifications qui est suivie par le développement, puis la validation (c’est à dire les tests) et enfin une évaluation du travail qui servira d’information de départ pour le cycle suivant en dressant le bilan des difficultés rencontrées et des fonctionnalités abandonnées pendant le cycle. A l’issue de la validation on passe aussi au déploiement : les livrables (il peut s’agir d »une version du site ou logiciel, ou même d’une documentation) qui ont été validés sont déployés, c’est à dire mis à disposition.

Avantages  : Ce cycle de développement est le plus souple, chaque itération permet de s’adapter à ce qui a été appris dans les itérations précédentes et le projet fini peut varier du besoin qui a été exprimé à l’origine. La mise à disposition de livrables à chaque cycle permet un apprentissage de l’utilisateur final en douceur.

Inconvénients  : La confiance peut amèner à négliger les tests d’intégration. Il faut donc être particulièrement vigilant lors de la phase de tests.

 

Cycle Agile

Les méthodes Agile se basent sur un modèle semi-itératif qui peut être défini soit par la structure du projet, soit par les besoins exprimés. Elles sont plus pragmatiques que les méthodes traditionnelles : permettent une grande réactivité aux demandes utilisateurs,  sont des structures cycliques, itératives, incrémentales et adaptatives, sont orientées satisfaction des besoins client et non contrat .Les plus connues sont Scrum (1996) et XP (eXtreme Programming, 1999)

Avantages : Approche mixte collaborative, Itérative et incrémentale, la difficulté est repartie sur plusieurs parties (Le projet est décomposé), lLivraisons de résultats fréquents et validation continue, gère mieux les demandes de changements en cours, accepte d’introduire des changements plutôt que de suivre strictement un plan rigide, orienté résultat plus que documentation, orienté interactions plus que processus et outils, collaboration avec l’utilisateur plutôt que relation contractuelle. 

Les 12 principes de la méthodologie Agile 

1. Satisfaire le client en lui livrant fréquemment une application utilisable rapidement
2. Accepte les changements de l’utilisateur même dans des étapes tardives
3. Livraisons fréquentes de fonctions qui « marchent » (toutes les deux semaines et au plus tard tous les deux mois) - Cycles très courts
4. Travail quotidien entre l’équipe projet et les utilisateurs
5. La motivation des équipes est le centre d’intérêt de la méthode
6. Privilégie les rencontres directes (face à face) plutôt que du travail à distance ou par mail
7. La fonction livrée est l’unité de mesure de l’avancement du projet
8. La méthodologie encourage un rythme soutenu du développement
9. Attention continue à l’excellence technique et à une meilleure conception
10. Produire uniquement ce qui est nécessaire
11. Des équipes autogérées
12. Amélioration continue

 

 

eco05

Les fondamentaux en Pilotage d'Activités ou Projets...

Les techniques de management de projets/ programme et portefeuille de projets...en savoir plus

Piloter dans la complexité, la boîtes à outils

Bibliographie de Pilotage

Connexion