La différence entre SCRUM et KANBAN

La culture Agile et de nombreux termes qui lui sont associés – comme SCRUM et KANBAN – peuvent être difficiles à discerner.

Quelle est alors la différence entre SCRUM et KANBAN ?

Dans cet article, je vais décomposer ces notions pour vous aider à mieux comprendre ce qu’elles signifient.

Mais si le mode agile est nouveau pour vous, je vous recommande de commencer d’abord par ces articles:

Kit management de projet

Agile, SCRUM et KANBAN : 3 méthodologies différentes? 

Les méthodologies dans le monde du développement numérique sont des scripts détaillés à suivre.

Si une situation se présente, une méthodologie présentera une documentation décrivant étape par étape, les actions à réaliser de manière stricte

Mettre en application une méthodologie bride la créativité. L’autonomie et la réflexion sont remplacées par des tâches, des pratiques, des techniques et des outils indispensables. 

En effet, les méthodologies dépendent de la prévisibilité d’une situation. Si les événements sont imprévisibles alors, cela nous amène à nous détacher de la documentation existante pour réfléchir par nous-même et innover. 

De plus, les méthodologies traditionnelles sont fondées sur la planification et l’exécution des développements avec un haut degré de prévisibilité. Ce qui, en pratique, ne peut pas être appliqué puisque les développements ne peuvent être anticipés de manière précise.

C’est pour cela que la pensée Agile a été développée.

On entend beaucoup les termes “Méthodologies Agiles”, cependant, ce sont des termes génériques pour décrire une philosophie.

N’hésitez pas à lire mon article sur le Manifeste Agile

Scrum et Kanban, quant à eux, sont deux cadres de travail qui permettent d’appliquer la pensée Agile. 

Ce qui signifie que si vous vous voulez développer des produits avec une philosophie Agile, alors, Scrum et Kanban sont deux “façons de le faire”.

Qu’est ce que SCRUM et KANBAN ? 

Le terme « Agile » est donc un terme globale et non une méthodologie, mais qu’est ce qu’il en est de SCRUM et KANBAN ?

Définition de SCRUM

Le guide SCRUM le définit comme étant:

« Un cadre dans lequel les gens peuvent résoudre des problèmes adaptatifs complexes, tout en fournissant de manière productive et créative des produits de la plus haute valeur possible. »

C’est une manière d’appliquer la pensée agile en mettant l’accent sur le travail d’équipe et la progression itérative du produit. Son objectif est de fournir des nouvelles fonctionnalités toutes les deux à quatre semaines.

En utilisant Scrum, l’équipe de développement découpe facilement son produit en tâches. Elle devient plus agile et découvre comment réagir rapidement et répondre aux imprévus.

Scrum propose de suivre une routine durant chaque itération ou sprint: 

  • les daily scrum meetings ou DSM tous les jours;
  • une planification de sprint en début d’itération;
  • une rétrospective de sprint à la fin. 

Nous reviendrons sur la routine SCRUM dans un article dédié. 

La différence entre SCRUM et KANBAN

Définition de KANBAN

Kanban a été initialement développé par Taiichi Ohno, ingénieur industriel chez Toyota, pour créer un processus de fabrication plus efficace.

Il a ensuite été appliqué au développement de produits par David J. Anderson dans son livre de 2010 Kanban: Successful Evolutionary Change for Your Technology Business.

Comme Scrum, Kanban encourage le travail à être décomposé en petites tâches.

Mais plutôt que de planifier le travail dans une itération ou un Sprint, les membres de l’équipe récupèrent la tâche la plus prioritaire dans le backlog qui est prête à être développée.

Les équipes vont utiliser un tableau Kanban pour visualiser ce travail à mesure qu’il progresse dans le flux de travail.

Il permet d’illustrer à la fois un processus et chaque fonctionnalité passant par ce processus.

L’objectif principal de la mise en œuvre de Kanban est d’identifier les goulots d’étranglement potentiel dans le processus et de les corriger.

Les équipes mettent en place KANBAN pour que le flux de travail se déroule sans problème à une vitesse optimale.

Tableau Kanban

Dans ce tableau, le cadre Kanban limite la quantité de tâches autorisée dans chaque colonne. 

Imaginons que seulement trois tâches peuvent être dans la colonne “en cours” et une dans la catégorie “à tester.”

Généralement, les développeurs sont connus pour préférer développer que tester, ici, Kanban les oblige à tester les tâches dans la catégorie “à tester” avant de démarrer un nouveau développement. 

La méthodologie Kanban est conçue pour répondre à la problématique d’embouteillage dans une catégorie donnée.  

KANBAN propose un processus à suivre. 

1. Visualisez le travail

En créant un modèle visuel pour observer les tâches se déplaçant à travers les colonnes du tableau Kanban.

2. Limiter le travail en cours

Cela permet de réduire le temps que met une tâche à traverser entièrement le tableau en partant de la première colonne jusqu’à la colonne “terminé”. 

3. Se concentrer sur le flux

En utilisant des limites de travail en cours et en développant des politiques axées sur l’équipe, vous pouvez optimiser le système Kanban pour améliorer la fluidité du travail.

4. S’Améliorer en continue

Lorsque le système Kanban est en place, il sert de base à une amélioration continue. Il aide les équipes à mesurer leur efficacité en analysant le flux de suivi, les délais de qualification, etc.