Scrum, Kanban, Safe, Cascade… Le point sur les méthodes de gestion de projets IT en ESN
C’est une problématique commune à de nombreuses ESN : délai et budget sont des impératifs que l’on maîtrise difficilement. De nombreuses méthodes de gestion de projet existent mais encore faut-il identifier la bonne méthode ? Scrum, Kanban, Waterfall, SAFe …. La liste est non exhaustive car évoluant sans cesse ! On fait le point pour vous !
La méthode Scrum
Scrum est un framework (cadre de travail) ayant pour but de simplifier la production de produits informatiques complexes. Cette approche de la gestion de projet agile a été créée en 1996 par Ken Schwaber. Aujourd’hui, il s’agit de la méthodologie agile la plus utilisée.
L’objectif de la méthodologie Scrum est de permettre aux équipes de livrer des produits de la plus grande qualité possible en un minimum de temps. Scrum permet de hiérarchiser les priorités.
Une équipe Scrum travaille en sprints. Ces cycles durent généralement entre deux et quatre semaines.
Il existe 3 rôles clés dans l’organisation : Scrum master, product owner et équipe de développement. La méthode Scrum est une excellente solution quand il s’agit d’améliorer la productivité d’une équipe, son engagement et la scalabilité des projets.
Le bémol de la méthode Scrum, c’est qu’un changement de périmètre ne peut se faire qu’une fois un sprint terminé. Il faut donc attendre entre 1 et 4 semaines pour effectuer des modifications. Lorsque l’on est en phase de production, cela peut sembler rigide.
La méthode Kanban
Kanban pour l’IT a pour but de faire diminuer les coûts et les délais de production en se concentrant sur les demandes et la satisfaction du client et en recherchant l’amélioration continue. Kanban est une méthode pull au sens où elle est basée sur les flux entrants et non sur une volonté de pousser (push) vers les marchés.
Cette méthode de gestion de production repose sur une visualisation des flux de développement qui permet de suivre l’avancement, la planification, de prioriser les tâches et de repérer les goulots d’étranglement. L’objectif est de permettre à tous les membres de l’organisation de connaître l’ensemble du processus et de savoir ce que chaque développeur doit produire et à quel moment.
La méthode Kanban est surtout appliquée dans des projets de maintenance corrective ou d’applications en flux. On y trouve par exemple la gestion de tickets ou le support. Le concept de Kanban est en effet basé sur une amélioration continue évolutive.
Dans la méthode Kanban, il n’existe pas de rôles attitrés, ces derniers évoluent en fonction des besoins du projet et de l’organisation. Il est cependant courant de voir des équipes emprunter les rôles et les pratiques de Scrum, on parle alors de méthode Scrumban.
La méthode Kanban s’adresse principalement à une production répétitive, aux projets de support ou de maintenance qui requièrent un flux continu d’éléments et une charge de travail dynamique.
La méthode SAFe
SAFe® (Scaled Agile Framework) est un cadre de travail agile créé en 2011 ayant pour but de permettre aux organisations de grande taille de passer les méthodologies agiles à leur échelle, dans le cas de projets de grandes envergures.
SAFe® permet de coordonner les différentes équipes de façon à ce qu’elles travaillent ensemble au même rythme. Chaque équipe agile représente un wagon de train tracté par la locomotive. On parle alors d’Agile Release Train (ART).
Cette méthode permet de coordonner les efforts des équipes agiles pour éliminer les causes d’inefficacité, comme une équipe bloquée par le fait qu’une autre n’ait pas livré ce qu’elle doit, par exemple.
L’agilité avec SAFe® s’organise en quatre niveaux :
- le niveau Dev Team
- le niveau Program
- le niveau Value Stream
- le niveau Portfolio
La méthode Cascade (waterfall)
Le modèle en cascade, comme son nom l’indique, suit la logique d’une chute d’eau. Une fois que l’eau a dévalé le flanc de la montagne, elle ne peut plus remonter, mais seulement continuer son chemin. Ainsi, dès qu’une étape du projet est terminée, l’équipe passe à l’étape suivante ; il n’y a pas (ou peu) de retour en arrière. L’idée est d’avancer naturellement, étape par étape, jusqu’à atteindre l’objectif final en suivant une direction claire et précise. De cette façon, on limite le risque d’erreur et l’incertitude.
En appliquant cette méthode, l’équipe suit le cahier des charges à la lettre et travaille sur la totalité du projet jusqu’à sa livraison. Il n’y a pas d’interaction avec le client qui recevra son projet une fois que celui-ci est terminé.
Avec cette méthodologie, il est très complexe de prendre en compte des changements car ceux-ci auront un impact sur toutes les phases en cours et à venir du projet, mais également sur les phases déjà validées. Comme chaque acteur suit des spécifications héritées d’autres intervenants, et qu’il n’y a pas de feedback tout au long du processus, il est courant que le produit livré ne corresponde pas totalement aux attentes du client.
La méthode Extreme Programming
L’eXtreme Programming est une méthodologie agile et sa mise en œuvre la plus poussée dans le cadre du développement de logiciels, d’où sa qualification d’«extrême».
Partant d’une approche centrée sur le client, cette méthode offre un cadre qui vise à produire une écriture de code simple mais de haute qualité, pour toute l’équipe impliquée dans le projet.
Développée par Kent Beck, un informaticien américain également connu pour la conception du développement piloté par les tests (Test-Driven Development), l’eXtreme Programming a joué un rôle important dans le succès des méthodes agiles.
L’eXtreme Programming se concentre sur les activités de développement, notamment sur la systématisation du test automatisé. La méthode se fonde sur des cycles courts impliquant des livraisons continues. Les erreurs peuvent ainsi être détectées et éliminées rapidement.