# Kanban (développement)

Kanban (カンバン, 看板) est une méthode de gestion des connaissances relatives au travail, qui met l’accent sur une organisation de type juste-à-temps en fournissant l'information ponctuellement aux membres de l'équipe afin de ne pas les surcharger. Dans cette approche, le processus complet, de l'analyse des tâches jusqu’à leur livraison au client, est consultable par tous les participants, chacun prenant ses tâches depuis une file d'attente.
Dans le cadre du développement logiciel, kanban peut être un système visuel de gestion des processus qui indique quoi produire, quand le produire et en quelle quantité ; cette approche est directement inspirée du système de production de Toyota et des méthodes lean (voir l'article homonyme : kanban).

## Méthode kanban

Dans le développement de logiciel, un système kanban virtuel est utilisé afin de limiter les tâches en cours. Bien que le nom kanban provienne du japonais, qu’il puisse être traduit par « pancarte, affiche, étiquette », et que l’on utilise des cartes dans la plupart des mises en application de kanban au développement de logiciel, ces cartes ne fonctionnent pas comme des signalisations dont on se servirait pour tirer plus de travail. Elles représentent des éléments de travail.
La méthode kanban telle qu’énoncée par David J. Anderson$^,$, est une approche augmentée et évolutive des changements de processus et de systèmes au sein des organisations. Elle emploie un système de tirage limité de tâches en cours comme mécanisme central afin de déterminer les processus du système et de stimuler la collaboration dans le but d’une amélioration continue du système.

### Principes

La méthode kanban est fondée sur quatre principes de base :

#### Commencer par ce que vous faites actuellement

    La méthode kanban commence avec les rôles et processus déjà définis et stimule des changements continus, augmentés et évolutifs.

#### Accepter d’appliquer les changements évolutifs et augmentés

    L’équipe doit accepter que les changements continus, augmentés et évolutifs sont le moyen d'améliorer le système. Les changements par vagues peuvent sembler plus efficaces, mais ils ont un taux d’échec plus grand en raison de la résistance et de la peur de l’organisation. La méthode kanban encourage à faire des changements de petite envergure, continus, augmentés et évolutifs.

#### Respecter le processus actuel, les rôles, les responsabilités et les titres

    Les changements futurs doivent être facilités et le respect des rôles, des responsabilités, et des titres professionnels actuels permettent d'éliminer les peurs initiales.

#### Leadership à tous les niveaux

    Les actes de leadership à tous les niveaux au sein de l’organisation, qu’il s’agisse de collaborateurs indépendants ou de cadres supérieurs, doivent être encouragés.

### Six pratiques centrales de la méthode kanban

Anderson a identifié six bonnes pratiques.

#### Visualiser

    La visualisation du workflow (flux de travaux) et sa matérialisation permettent de comprendre comment fonctionnent les processus. Un moyen courant de visualiser le workflow est d'utiliser un tableau avec des colonnes. Les colonnes représentent différents stades et étapes.

#### Limiter le nombre de tâches en cours

    La limitation des tâches suppose que le système de tirage est mis en application sur une partie ou sur l'ensemble du workflow. Le système de tirage servira de stimulus principal pour les changements continus, augmentés et évolutifs du système.

#### Gestion du flux

    Le déroulement du travail à travers chaque stade du workflow doit être suivi, mesuré et rapporté. En gérant activement le workflow, les changements continus, augmentés et évolutifs apportés au système peuvent être évalués.

#### Rendre les normes de processus explicites

    Établir les règles et recommandations par la compréhension des besoins et le suivi des règles. Les normes détermineront quand et pourquoi un ticket est déplacé d’une colonne à une autre.

#### Mettre en place des boucles de rétrospection

    Lorsque les équipes réalisent leurs travaux, elles effectuent à intervalles réguliers des actions pour mesurer et inspecter les résultats de ce qui est livré.

#### S'améliorer en continu

    Lorsque les équipes partagent une compréhension des théories sur le workflow, le processus et le risque, elles pourront comprendre les problèmes et proposer des actions d’amélioration continuellement.
La méthode kanban suggère qu'une approche scientifique soit employée pour appliquer les changements continus, augmentés et évolutifs. La méthode ne prescrit aucune méthode scientifique spécifique à employer.

### Comportements découlant de la méthode kanban

Il y a une liste grandissante de comportements qui ont tendance à naître lors de la mise en application de kanban. Il s’agit de :
* processus conçus sur mesure pour chaque flux de valeur ;
* cadences découplées ;
* planification du travail en fonction des coûts des délais ;
* valeur optimisée avec des classes de services ;
* gestion des risques avec allocation des ressources ;
* tolérance vis-à-vis de l'expérimentation de processus ;
* gestion quantitative ;
* déploiement de kanban à travers l’organisation ;
* fusion de petites équipes en pools de travail flexibles.

## Application de la méthode kanban

Des feuillets adhésifs sur un tableau peuvent être employés. Un logiciel spécifique de suivi du travail peut être utilisé comme par exemple Agile SAP, Kanban Tool, Jira Agile, Kanboard ou encore Taiga.
* Un kanban avec des feuillets adhésifs sur un tableau blanc.
* Un kanban avec Jira Agile.
Remarque : ce type de tableau est très semblable au burndown chart de la méthode scrum.