Chapitre 2 : Méthodologies de développement


Waterfall

Le modèle Waterfall organise les phases d'un projet séquentiellement. Chaque phase dépend des résultats de la précédente.

Waterfall-methodology-infographic-showing-software-development-models-linear-life-cycle-phases.jpg

Les différentes phases peuvent varier, mais voici un exemple :

  1. Les requirements où on va aller interviewer le client et écrire le cahier des charges
  2. L’analyse où on va créer des schémas, définir les règles métiers et les tests d’acceptations
  3. Le design qui va définir l’architecture technique du projet
  4. Le code où on applique la structure définie par le design
  5. Les tests où on vérifie la conformité du projet aux normes et à l’analyse initiale
  6. La maintenance où on maintient le code réalisé pour résoudre d’éventuels bugs qui pourraient survenir
Avantages Désavantages
Nécessite une réflexion globale Incertitude élevée
Bien structurée et complète Peut devenir lourde et rapidement obsolète
Adaptée aux projets bien définis dès le départ Difficulté à gérer les changements de besoins
Simplifiée grâce à des étapes séquentielles Manque de flexibilité
Une étape à la fois (clarté des jalons) Effet tunnel : peu de visibilité pour le client jusqu'à la fin
Faible nombre de personnes impliquées simultanément Utilisation rigide des ressources
Chacun intervient à une étape précise Développeurs inactifs pendant l’analyse ; analystes inactifs pendant le dev
- Risques postposés et concentrés en fin de projet

Cycle en V

Le modèle Cycle en V est une évolution du modèle Waterfall qui met l’accent sur la validation à chaque étape du cycle de développement. Chaque phase de spécification (côté gauche du "V") correspond à une phase de test ou de validation (côté droit du "V").

Il conserve une approche séquentielle, mais introduit une correspondance directe entre les étapes de conception et celles de test, améliorant la traçabilité et la qualité du logiciel.

3-s2.0-B9780124058798000015-f01-08-9780124058798.jpg

Avantages Désavantages
Nécessite une réflexion globale (planification rigoureuse) Incertitude toujours présente dès le début
Bonne documentation Utilisation rigide des ressources
Adaptée aux projets avec périmètre bien défini Effet tunnel
Gestion de projet assez simple avec des jalons de validation clairs Développeurs inactifs durant la phase d’analyse
Validation à chaque étape (meilleure maîtrise de la qualité) Analystes inactifs pendant le développement

Méthodologies Agiles

Les méthodes Agiles, dont SCRUM, KANBAN, eXtreme Programming, et LEAN, sont basées sur le Manifeste Agile (4 valeurs et 12 principes). Elles prônent l'intégration continue, le TDD, les équipes transverses, le pair programming, les user stories, et surtout les livraisons fréquentes par itérations.

Un MVP (Minimum Viable Product) est "la version d'un produit (par exemple un logiciel) qui permet de limiter le nombre de bugs avec un minimum d'effort."

SCRUM

Le framework SCRUM repose sur l'empirisme et trois piliers : Transparence, Inspection, Adaptation.

Rôles SCRUM :

Artéfacts SCRUM :

Événements SCRUM :