Dans cette article, je ne rentre pas dans le débat de la meilleur méthode. Ici, je vous donne une vue d’ensemble des méthodes de gestion de projets en expliquant les différences. Et avant de céder aux effets de mode, rappelez vous que la meilleure méthode sera celle qui marche pour vous car elle sera adaptée à votre équipe, aux spécificités de votre entreprise et aux contraintes du projet.

Waterfall

Cette méthode séquentielle consiste à diviser le projet en phases distinctes, chacune devant être terminée avant que la suivante puisse commencer. Chaque phase est rigoureusement planifiée et documentée, ce qui rend la méthode Waterfall adaptée aux projets complexes où les exigences sont clairement définies dès le départ.

C’est la méthode la plus classique, elle se visualise très bien dans un diagramme de Gantt.

Le processus en cascade se divise généralement en plusieurs phases clés, dont chacune a ses propres objectifs et livrables spécifiques. Ces phases typiques incluent la définition des exigences, la conception, la mise en œuvre, la vérification et la maintenance. Chaque phase est planifiée de manière exhaustive, avec une documentation détaillée décrivant les étapes à suivre, les ressources nécessaires, les délais et les critères de succès.

L’une des caractéristiques fondamentales de la méthode en cascade est son adéquation aux projets où les exigences sont clairement définies et peu susceptibles de changer au cours du projet. Cela convient particulièrement aux projets où la portée est bien comprise dès le départ et où les changements ne sont pas souhaitables ou sont difficiles à intégrer une fois le processus lancé.

Le modèle en cascade se visualise souvent sous la forme d’un diagramme de Gantt, un outil de gestion de projet qui illustre les différentes tâches et leur séquence dans le temps. Chaque phase est représentée par une barre horizontale, avec des dépendances claires entre elles. Cette visualisation offre une compréhension globale du calendrier du projet et permet une gestion efficace des ressources et des délais.

Cependant, la méthode en cascade présente des inconvénients potentiels, notamment son manque de flexibilité en cas de changements imprévus ou de besoins évolutifs du client. Si des ajustements significatifs sont nécessaires après le début du projet, cela peut entraîner des retards et des coûts supplémentaires. C’est pourquoi d’autres approches de gestion de projet, telles que les méthodologies agiles, ont gagné en popularité pour leur capacité à s’adapter plus facilement aux changements.

Le cycle en V

Elle est divisée en 2 phases : ascendante, descendante.

Au cours de la phase descendante, on collecte et analyse les besoins du client, puis on crée des spécifications et un prototype.

Durant la phase ascendante, on implémente et teste le produit, passant progressivement de tests unitaires à la maintenance qui assure la correction des erreurs et l’évolution future du produit.

L’approche en V souligne l’importance de la validation et de la qualité, offrant une traçabilité complète des exigences et une vision globale du cycle de vie du projet. Toutefois, elle peut être moins flexible face aux changements imprévus et nécessite une planification initiale stricte.

Pendant la phase descendante, l’accent est mis sur la compréhension des besoins du client. Cela commence par la collecte et l’analyse approfondies des exigences, permettant de définir clairement les spécifications du projet. Une fois les spécifications établies, un prototype du produit est créé. Ce prototype peut prendre différentes formes en fonction du type de projet, mais son objectif est de fournir une représentation visuelle ou fonctionnelle du produit final.

La phase ascendante, quant à elle, se concentre sur la mise en œuvre et les tests du produit. On commence par les tests unitaires pour chaque composant ou module, puis on progresse vers des tests d’intégration pour s’assurer que les différentes parties du système fonctionnent bien ensemble. Finalement, on effectue des tests de système pour vérifier que l’ensemble du produit répond aux spécifications initiales.

Un aspect important de la méthode en V est la traçabilité complète des exigences tout au long du processus. Chaque étape ascendante est associée à une étape descendante, créant ainsi une corrélation entre les exigences, les spécifications, le prototype, l’implémentation et les tests. Cela permet une meilleure gestion du cycle de vie du projet et une compréhension globale de son avancement.

Bien que la méthode en V offre une approche structurée et mette l’accent sur la qualité et la validation, elle peut être moins flexible face aux changements imprévus. En raison de sa nature séquentielle, des ajustements importants après le début du projet peuvent être difficiles à intégrer, nécessitant potentiellement des modifications substantielles dans les phases antérieures du processus. Une planification initiale stricte est donc essentielle pour minimiser les risques et les retards.

La famille des méthodes AGILE

Contrairement aux méthodes classiques, la méthode Agile met l’accent sur la collaboration continue entre l’équipe de développement et le client, ainsi que sur la livraison incrémentale de fonctionnalités. Le cycle de vie du projet est divisé en itérations courtes, appelées « sprints », durant lesquels l’équipe développe et teste une partie fonctionnelle du produit.

Scrum

Il s’agit d’une approche Agile spécifique qui implique une équipe auto-organisée travaillant en cycles courts de deux à quatre semaines. Une personne désignée comme « Scrum Master » coordonne l’ensemble du processus, tandis qu’un groupe de personnes appelé « Product Owners » priorise les tâches à accomplir.

En France, c’est la plus répandue et il y a souvent un amalgame entre Agile et Scrum. Agile est un ensemble de valeurs et de principes favorisant la flexibilité et la collaboration dans le développement de logiciels, tandis que Scrum est une méthodologie spécifique qui met en œuvre ces valeurs dans un cadre structuré.

L’équipe Scrum est auto-organisée, ce qui signifie qu’elle est responsable de la planification, de l’exécution et de l’ajustement de ses propres tâches. Un rôle essentiel dans Scrum est celui du Scrum Master, qui n’est pas un gestionnaire traditionnel, mais plutôt un facilitateur qui aide l’équipe à rester concentrée sur les principes et les objectifs de Scrum. Le Scrum Master élimine les obstacles, facilite les réunions et s’assure que l’équipe suit les pratiques et les valeurs Scrum.

Les Product Owners sont également un élément clé de Scrum. Ils sont responsables de la gestion du backlog du produit, qui est une liste hiérarchisée des fonctionnalités, des améliorations et des corrections de bogues à réaliser. Les Product Owners collaborent étroitement avec l’équipe pour définir les priorités du backlog, assurant ainsi que le travail le plus important est effectué en premier.

La popularité de Scrum en France peut être attribuée à sa capacité à s’adapter rapidement aux changements, à encourager la communication transparente au sein de l’équipe et à fournir des résultats tangibles à intervalles réguliers. Cependant, il est important de noter que d’autres approches Agile, telles que Kanban ou Extreme Programming (XP), peuvent également être adaptées en fonction des besoins spécifiques d’une équipe ou d’un projet.

Extreme Programming (XP)

XP est une méthode Agile qui met l’accent sur la flexibilité et l’adaptabilité. Elle encourage des techniques telles que le pair programming, le testing continu, la refactoring et l’intégration continue pour assurer une haute qualité du code et une grande rapidité de développement.

  • Pair programming : C’est une pratique où deux programmeurs travaillent ensemble sur le même morceau de code. L’un écrit le code, tandis que l’autre observe, suggère des améliorations, et les deux échangent régulièrement leurs rôles. Cette approche favorise la collaboration, la résolution rapide des problèmes et l’apprentissage mutuel au sein de l’équipe.
  • Testing continu : XP met un fort accent sur les tests automatisés. Les développeurs écrivent des tests unitaires avant même de commencer à coder. Ces tests sont exécutés régulièrement tout au long du processus de développement pour s’assurer que les modifications apportées au code n’ont pas d’effets indésirables.
  • Refactoring : Cette pratique consiste à améliorer continuellement la structure du code sans changer son comportement externe. Le but est de maintenir un code propre, lisible et évolutif. Le refactoring régulier garantit que le code reste flexible et peut s’adapter aux évolutions futures du projet.
  • Intégration continue : Les modifications apportées au code sont intégrées fréquemment dans une base de code partagée. Cela permet de détecter et de résoudre rapidement les conflits, assurant une cohésion constante entre les différentes parties du système.
  • Petites versions fréquentes : XP encourage la livraison de versions fonctionnelles du logiciel à des intervalles courts. Cela permet de recueillir rapidement les commentaires des utilisateurs, d’ajuster les fonctionnalités en conséquence et de s’adapter rapidement aux changements de priorités.
  • Client sur place : La présence régulière d’un représentant du client au sein de l’équipe de développement facilite la communication et la compréhension mutuelle des besoins. Cela favorise une collaboration étroite et une adaptation rapide aux changements dans les exigences du client.

En résumé, Extreme Programming (XP) est une méthodologie Agile qui met l’accent sur la collaboration, la qualité du code et la livraison rapide de fonctionnalités. Elle a été conçue pour s’adapter aux changements fréquents dans les besoins des clients et pour garantir que le logiciel évolue de manière fluide tout au long du processus de développement.

Feature-Driven Development (FDD) 

FDD est une méthode Agile qui se focalise sur la livraison rapide de fonctionnalités concrètes et opérationnelles. Elle suit un processus itératif composé de cinq étapes : develop an overall model, build a features list, plan by feature, design by feature and build by feature.

  • Développer un modèle global (Develop an overall model) : Au début du projet, l’équipe élabore un modèle global qui représente la structure générale du système. Ce modèle aide à comprendre les interactions entre les différentes parties du système et à définir une base solide pour le développement ultérieur.
  • Élaborer une liste de fonctionnalités (Build a features list) : L’équipe identifie et élabore une liste détaillée des fonctionnalités nécessaires pour le système. Ces fonctionnalités sont des éléments concrets et opérationnels du logiciel qui peuvent être développés et livrés de manière indépendante. Chaque fonctionnalité est conçue pour répondre à un besoin spécifique du client.
  • Planifier par fonctionnalité (Plan by feature) : À ce stade, l’équipe établit un plan de développement basé sur les fonctionnalités identifiées. Le but est de prioriser et de planifier les fonctionnalités à développer en fonction de leur importance et de leur interdépendance. Cette approche permet de s’assurer que les fonctionnalités cruciales sont développées en premier.
  • Concevoir par fonctionnalité (Design by feature) : Chaque fonctionnalité est ensuite conçue individuellement. Cette conception se concentre sur les détails techniques et fonctionnels nécessaires pour mettre en œuvre la fonctionnalité de manière efficace et de haute qualité. Les concepteurs travaillent en étroite collaboration avec les développeurs pour garantir une compréhension claire des exigences.
  • Construire par fonctionnalité (Build by feature) : L’étape finale consiste à mettre en œuvre et à construire chaque fonctionnalité individuelle. Les équipes travaillent de manière itérative pour achever les fonctionnalités, permettant des cycles de développement plus courts et une livraison fréquente de nouvelles fonctionnalités opérationnelles.

L’approche de FDD vise à fournir des résultats rapides et concrets, permettant aux clients de voir rapidement des fonctionnalités spécifiques en action. En structurant le développement autour de fonctionnalités clés, FDD offre une approche pragmatique pour la gestion de projets complexes tout en restant alignée sur les principes Agile de flexibilité et de collaboration.

Crystal

Crystal est une famille de méthodes Agiles qui privilégient l’adaptabilité et la communication informelle entre les membres de l’équipe. Elles varient en termes de formalisme et de documentation requis, allant de Crystal Clear (très flexible) à Crystal Orange (plus formel).

  • Crystal Clear : Il s’agit de la méthode Crystal la plus légère et la plus flexible. Crystal Clear convient particulièrement aux projets où l’équipe est petite (jusqu’à six personnes) et où la communication directe et informelle est facile à maintenir. Les principes clés de Crystal Clear incluent la priorisation des communications face à la documentation excessive, la confiance dans les compétences individuelles des membres de l’équipe et l’adaptation constante aux changements.
  • Crystal Orange : À l’opposé de Crystal Clear, Crystal Orange est plus formel et convient à des projets plus importants et complexes. Il introduit davantage de processus et de documentation tout en préservant l’agilité et l’adaptabilité. Crystal Orange est adapté lorsque l’équipe devient plus importante et nécessite une coordination plus structurée. Il vise à maintenir une balance entre la flexibilité nécessaire pour s’adapter aux changements et la nécessité de définir des processus plus formels pour garantir la cohérence et la qualité.

Quel que soit le sous-type de Crystal utilisé, la famille partage certaines caractéristiques communes :

  • Adaptabilité : Les méthodes Crystal sont conçues pour s’adapter aux particularités de chaque projet. Elles encouragent l’ajustement des processus en fonction des besoins spécifiques plutôt que l’adoption rigide d’un ensemble prédéfini de pratiques.
  • Communication informelle : L’importance de la communication informelle est soulignée, favorisant les échanges directs et ouverts entre les membres de l’équipe. Cela contribue à la création d’un environnement collaboratif et à la résolution rapide des problèmes.
  • Implication du client : Les méthodes Crystal encouragent une participation active du client tout au long du processus de développement. Cela permet une compréhension continue des besoins du client et une adaptation rapide aux évolutions éventuelles.

En résumé, Crystal propose une approche Agile flexible qui s’adapte aux différentes dimensions et complexités des projets, en privilégiant la communication informelle, l’adaptabilité et la participation continue du client.

Kanban

C’est une autre méthode inspirée de l’industrie manufacturière qui se concentre sur la limitation simultanée du nombre de tâches en cours. Elle utilise un système de visualisation de workflow pour afficher l’avancement des tâches et encourager la transparence et la responsabilité.

  • Visualisation du workflow : Kanban utilise un tableau Kanban, souvent sous forme de tableau blanc, de tableur ou d’outil en ligne, pour visualiser le workflow du projet. Ce tableau est divisé en colonnes représentant différentes étapes du processus, par exemple, « À faire », « En cours », et « Terminé ». Chaque tâche est représentée par une carte Kanban qui se déplace à travers ces colonnes à mesure qu’elle progresse dans le workflow.
  • Limitation du travail en cours (WIP) : Un aspect central de Kanban est la limitation du nombre de tâches en cours à chaque étape du processus. Cela évite la surcharge de travail, réduit les retards et met en évidence les blocages éventuels. Les équipes fixent des limites sur le nombre maximal de tâches autorisées dans chaque colonne, ce qui encourage la concentration sur l’achèvement avant de commencer de nouvelles tâches.
  • Gestion visuelle des priorités : Les cartes Kanban sur le tableau indiquent clairement quelles tâches sont en attente, en cours ou terminées. Cela offre une transparence totale sur l’état du projet, permettant à toute l’équipe de voir instantanément où se trouvent les goulets d’étranglement, les retards potentiels, et où l’effort doit être concentré.
  • Amélioration continue : Kanban encourage une culture d’amélioration continue. En s’appuyant sur les données visuelles du tableau Kanban, l’équipe peut analyser les tendances, identifier les points d’efficacité et les opportunités d’optimisation, et apporter des ajustements pour améliorer constamment le processus.
  • Flexibilité : Kanban offre une grande flexibilité en termes de processus, car il s’adapte facilement aux méthodologies existantes. Il peut être introduit progressivement dans une équipe sans perturber radicalement les processus existants.

En résumé, Kanban offre une approche visuelle et flexible de la gestion de projet, axée sur la transparence, la limitation du travail en cours et l’amélioration continue. Elle permet aux équipes de gérer efficacement les flux de travail, d’optimiser les processus et de maintenir une productivité soutenue.

PRINCE 2

PRINCE 2 (Projects IN Controlled Environments) est une méthodologie structurée de gestion de projets axée sur la gouvernance et la gestion des risques. Elle définit sept thèmes de gestion de projet, dont la business case, l’organisation, la qualité, les risques, les changements, le planning et la progression.

  • Principes fondamentaux : PRINCE2 repose sur sept principes fondamentaux qui orientent la gestion de projet. Ces principes incluent la justification continue du projet, la définition des rôles et responsabilités clairs, la gestion par étapes, la gestion par exception, l’orientation sur les produits, l’adaptation au contexte du projet et l’apprentissage continu.
  • Thèmes de gestion : PRINCE2 définit sept thèmes de gestion qui couvrent différents aspects d’un projet. Ces thèmes sont des domaines de focalisation qui guident l’équipe de projet tout au long du cycle de vie du projet. Les thèmes comprennent :
    • Business Case (Cas d’affaires) : Justifie économiquement le projet et assure la viabilité continue.
    • Organization (Organisation) : Définit les rôles et responsabilités des membres de l’équipe de projet.
    • Quality (Qualité) : Établit des normes de qualité pour les produits livrables du projet.
    • Risk (Risques) : Identifie, évalue et gère les risques potentiels du projet.
    • Change (Changements) : Gère les modifications apportées aux exigences et aux plans.
    • Progress (Progression) : Surveille et rapporte l’avancement du projet par rapport au plan.
  • Processus : PRINCE2 organise la gestion de projet en plusieurs processus, chacun associé à une phase spécifique du cycle de vie du projet. Ces processus incluent le démarrage (Starting Up a Project), la planification (Initiating a Project), l’exécution (Directing a Project), la gestion de la livraison (Controlling a Stage), la gestion des limites (Managing Product Delivery), la clôture (Closing a Project) et le suivi (Managing a Stage Boundary).
  • Adaptabilité : PRINCE2 est adaptatif et peut être ajusté en fonction des caractéristiques spécifiques de chaque projet. Cette flexibilité permet à PRINCE2 d’être utilisé dans différents secteurs d’activité et pour des projets de tailles variées.
  • Documentation : PRINCE2 met l’accent sur la documentation appropriée tout au long du projet. Cela inclut des documents tels que le Business Case, le Plan de Projet, le Journal des Risques, et d’autres, qui fournissent une base solide pour la prise de décision et la communication.

PRINCE2 offre un cadre robuste pour la gestion de projet, avec une attention particulière portée à la gouvernance, la gestion des risques et la livraison efficace des résultats. Sa structure bien définie et ses principes directeurs en font un choix populaire pour de nombreux types de projets, en particulier ceux nécessitant une approche formelle et axée sur la gouvernance.

PMI PMBOK 

Le PMBOK (Project Management Body of Knowledge) est une norme internationale publiée par le Project Management Institute (PMI) qui définit les meilleures pratiques en matière de gestion de projets. Elle comprend 10 domaines de connaissance, notamment l’intégration, le management du périmètre, du coût, du temps, de la qualité, des ressources humaines, des communications, des risques, des acquisitions et des parties prenantes.

Ce référentiel est très exhaustif, je dirai même trop. Si vous savez en utiliser 10%, vous aurez déjà une gestion de projet de grande qualité.

Voici quelques points clés sur le PMBOK :

  • Domaines de connaissance : Le PMBOK identifie dix domaines de connaissance, chacun représentant une facette spécifique de la gestion de projet. Ces domaines comprennent :
    • Intégration : Coordination des différentes phases et activités du projet.
    • Management du périmètre : Définition et contrôle du périmètre du projet.
    • Management du coût : Estimation, budgétisation et contrôle des coûts du projet.
    • Management du temps : Planification, programmation et contrôle du temps du projet.
    • Management de la qualité : Assurer la qualité des livrables du projet.
    • Ressources humaines : Gestion des personnes impliquées dans le projet.
    • Communications : Planification, distribution et gestion des communications du projet.
    • Risques : Identification, évaluation et gestion des risques du projet.
    • Acquisitions : Achats ou acquisitions externes nécessaires au projet.
    • Parties prenantes : Identification et gestion des parties prenantes du projet.
  • Processus : Le PMBOK définit 49 processus de gestion de projet répartis dans les dix domaines de connaissance. Ces processus sont organisés en cinq groupes de processus : le démarrage, la planification, l’exécution, le contrôle et la clôture. Chaque processus a ses entrées, ses outils et techniques, et ses sorties.
  • Cycle de vie du projet : Le PMBOK reconnaît différentes approches de cycle de vie de projet, y compris le prédictif (en cascade) et l’adaptatif (Agile). Cela permet au guide d’être applicable à une variété de projets, indépendamment de leur nature.
  • Orienté résultat : Le PMBOK met l’accent sur la réalisation de résultats mesurables et significatifs. Il encourage la définition claire des objectifs du projet, la mesure de la performance et l’amélioration continue.
  • Évolutivité : Le PMBOK est conçu pour être évolutif et adaptable. Les organisations et les professionnels de la gestion de projet peuvent le personnaliser en fonction de la taille, de la complexité et de la nature de leurs projets.

Cependant, comme vous l’avez mentionné, le PMBOK peut sembler très exhaustif, et son utilisation complète peut être intimidante. Certains praticiens estiment que même en appliquant une fraction des connaissances et des processus du PMBOK, on peut déjà améliorer significativement la gestion de projet. Il est donc souvent recommandé aux praticiens de sélectionner et d’adapter les éléments du PMBOK en fonction des besoins spécifiques de leur projet et de leur organisation.

Lean

Inspirée de l’industrie manufacturière, la méthode Lean cherche à minimiser les gaspillages et maximiser la valeur ajoutée pour le client. Elle repose sur cinq principes fondamentaux : identifier la valeur perçue par le client, cartographier le flux de valeur, créer un flux continu, tirer parti du juste-à-temps et perfectionner en permanence.

La méthode Lean, également connue sous le nom de pensée Lean, repose sur la philosophie de minimiser les gaspillages (muda), maximiser la valeur ajoutée pour le client, et créer des processus plus efficients. Elle vise à atteindre ces objectifs en appliquant cinq principes fondamentaux :

  • Identifier la valeur perçue par le client : Le premier principe de la méthode Lean consiste à comprendre ce que le client considère comme de la valeur. Il s’agit d’identifier les aspects du produit ou du service qui répondent directement aux besoins du client. Cela permet de concentrer les efforts sur la création de valeur réelle plutôt que sur des fonctionnalités ou des processus superflus.
  • Cartographier le flux de valeur : Une fois que la valeur perçue par le client est identifiée, le processus de création de cette valeur est cartographié. On visualise le flux de valeur du début à la fin, en identifiant chaque étape et en éliminant les activités qui n’ajoutent pas de valeur significative. Cette cartographie du flux permet d’identifier les opportunités d’optimisation et de simplification.
  • Créer un flux continu : Le troisième principe vise à établir un flux de travail continu et sans interruptions. On cherche à minimiser les temps d’attente et les délais entre les différentes étapes du processus. Cela permet de réduire le gaspillage de temps et d’énergie, en maintenant une progression constante vers la réalisation du produit ou du service final.
  • Tirer parti du juste-à-temps (Just-In-Time) : Le principe du Juste-à-Temps consiste à fournir les matériaux, les ressources et l’information exactement au moment où ils sont nécessaires pour éviter tout stockage inutile et minimiser le gaspillage. Cela permet d’optimiser l’utilisation des ressources et de réduire les coûts associés à la surproduction.
  • Perfectionner en permanence : Le dernier principe de la méthode Lean consiste à instaurer une culture d’amélioration continue. Les équipes sont encouragées à rechercher constamment des moyens d’optimiser les processus, de réduire les gaspillages et d’améliorer la qualité. Cette approche itérative favorise une évolution constante vers des opérations plus efficientes.

La méthode Lean n’est pas seulement applicable à la fabrication physique, mais peut également être adaptée à la gestion de projet, au développement de logiciels, à la prestation de services et à d’autres domaines. Elle repose sur une approche systémique visant à maximiser la valeur tout en minimisant les inefficacités, favorisant ainsi une utilisation optimale des ressources et une satisfaction accrue du client.


Pour conclure, choisir la bonne méthodologie dépend de nombreux facteurs tels que la taille de l’équipe, la nature du projet, les objectifs commerciaux, les contraintes budgétaires et temporelles, et la culture organisationnelle.

Après 15 ans dans le domaine, je me rend compte qu’un peu partout les méthodes ne sont pas respectées à la lettre mais c’est plutôt une version aménagée qui vit dans l’entreprise. C’est très bien comme ça. Je pense que la meilleure vertu est de se challenger régulièrement pour voir ce qui peut être amélioré dans votre gestion de projet et d’aller chercher les bonnes idées dans ces méthodes.