Close

Kanban

Comment la méthodologie kanban s'applique au développement logiciel

Parcourir les rubriques
Tableau Jira

Lancez-vous gratuitement avec le modèle Kanban de Jira

Maximisez l'efficacité en suivant et en faisant avancer le travail qui compte le plus.

Utiliser le modèle

Qu'est-ce que Kanban ?

Kanban est un framework populaire pour implémenter le développement logiciel Agile et DevOps. Il repose sur un travail effectué en toute transparence et une communication en temps réel de la capacité. Les tâches sont représentées visuellement sur un tableau Kanban. Ainsi, les membres de l'équipe peuvent voir l'état de chaque tâche à tout moment.

Articles sur Kanban

[SUITE]

Optimisation du développement logiciel grâce au flux Kanban

Le flux Kanban, pierre angulaire des méthodologies Agile et DevOps, améliore l'efficacité en orchestrant une progression fluide des tâches grâce à des flux de travail visualisés. Le flux Kanban reflète la gestion rationalisée des stocks des supermarchés, en veillant à ce que les tâches soient traitées avec précision dans les processus de développement en cas de besoin.

Visualisées sur des tableaux Kanban, les tâches représentées sous forme de cartes permettent de suivre l'avancement en toute transparence et d'identifier rapidement les goulots d'étranglement. En limitant les travaux en cours (WIP), les équipes optimisent l'allocation des ressources et maintiennent un flux de travail régulier. L'accent mis par Kanban sur l'amélioration continue est facilité par des métriques telles que les graphiques de contrôle et les diagrammes de flux cumulés, qui permettent aux équipes d'affiner les flux de travail de manière itérative.

Dans le cadre du développement de logiciels, le flux Kanban favorise une gestion dynamique des tâches, accélère les cycles de livraison et améliore la satisfaction des clients grâce à un travail ciblé et ininterrompu. Le flux Kanban incarne essentiellement l'efficacité, un mélange harmonieux de transparence, d'adaptabilité et d'amélioration continue, qui permet de libérer tout le potentiel des méthodologies Agile.

Structurer votre flux Kanban

La mise en place d'un flux Kanban structuré au sein de votre équipe de développement logiciel est essentielle pour mettre en œuvre le Kanban efficacement. Cela garantit une progression fluide des tâches et une gestion optimisée du flux de travail. Voici comment vous pouvez structurer votre flux Kanban :

Visualiser le flux de travail : commencez par visualiser le flux de travail de votre équipe sur un tableau Kanban. Qu'il soit physique ou virtuel, le tableau doit décrire chaque étape du processus de développement, du début à la fin de la tâche.

Standardiser le flux de travail : définissez et standardisez les étapes du flux de travail en fonction des processus et des exigences de votre équipe. Les étapes les plus courantes incluent « À faire », « En cours » et « Terminé », mais personnalisez-les selon les besoins pour refléter votre flux de travail unique.

Identifier les bloqueurs et les dépendances : veillez à ce que votre tableau Kanban permette d'identifier immédiatement les bloqueurs et les dépendances. Cette transparence permet une résolution rapide et évite d'interrompre le flux de travail.

Fixer des limites de travail en cours (WIP) : implémentez des limites WIP pour chaque étape du flux de travail afin d'éviter toute surcharge et de maintenir un flux de travail stable. Les limites WIP permettent d'optimiser l'allocation des ressources et de réduire le multitâche, favorisant ainsi une productivité accrue.

Encourager la collaboration : favorisez une culture de collaboration au sein de votre équipe, dans laquelle les membres remédient collectivement aux goulots d'étranglement et travaillent ensemble pour garantir une progression fluide du flux de travail. Cette approche collaborative favorise l'efficacité et accélère l'exécution des tâches.

Utiliser des cartes Kanban : représentez chaque tâche sous la forme d'une carte Kanban sur le tableau, contenant des informations essentielles telles que la description de la tâche, la personne responsable et la durée estimée de l'exécution. Les cartes Kanban facilitent le suivi visuel de l'avancement des tâches et favorisent la transparence au sein de l'équipe.

En structurant votre flux Kanban de cette manière, vous pouvez rationaliser vos processus de développement logiciel, améliorer la collaboration en équipe et optimiser l'efficacité de la gestion des tâches.

Découvrir les origines de Kanban

Jouissant d'une renommée auprès des équipes de développement Agile et DevOps actuelles, la méthodologie Kanban remonte pourtant à plus de 50 ans. À la fin des années 1940, Toyota a commencé à optimiser ses processus d'ingénierie en se basant sur le modèle de gestion des inventaires utilisé par les supermarchés.

Les supermarchés stockent juste ce qu'il faut afin de répondre à la demande des consommateurs. Cette pratique optimise le flux entre le supermarché et le client. Comme son stock correspond aux schémas de consommation, le supermarché réalise d'importants gains d'efficacité dans la gestion des stocks en réduisant les stocks en excès qu'il doit maintenir à tout moment. En attendant, le supermarché peut toujours s'assurer que les produits essentiels sont toujours en stock.

Lorsque Toyota a appliqué ce même système à ses usines, l'objectif était de mieux aligner ses énormes stocks sur la consommation réelle de matériaux. Pour communiquer les niveaux de capacité en temps réel à l'usine (et aux fournisseurs), les employés transmettaient une carte, ou « Kanban » entre les équipes.

Quand quelqu'un vidait un bac contenant des matériaux utilisés sur la chaîne de production, une carte Kanban était transmise à l'entrepôt indiquant le matériel nécessaire, la quantité exacte de matériau, etc. L'entrepôt disposait alors d'un nouvel emplacement de ce matériel, qu'il envoyait à l'usine qui, à son tour, envoyait son propre Kanban au fournisseur. Bien que ce processus ait évolué depuis les années 1940, le même processus de fabrication « juste-à-temps » (JAT) reste au cœur de la méthodologie Kanban.

Kanban pour les équipes de développement

Les équipes de développement Agile d'aujourd'hui peuvent exploiter les principes JAT en adaptant la quantité de travail en cours (WIP) à leur capacité. Ainsi, les équipes disposent d'options de planification plus flexibles, la production s'accélère, les objectifs sont plus clairs sur l'amélioration continue et la transparence est renforcée tout au long du cycle de développement.

Tableau Kanban | Atlassian – Le coach Agile

Si les principes fondamentaux du framework Kanban sont intemporels et s'appliquent à presque tous les secteurs, les pratiques Agile sont très appréciées des équipes de développement logiciel. Contrairement à la mise en œuvre de Kanban dans une usine, qui impliquait d'apporter des changements aux processus physiques et d'ajouter des quantités importantes de matériaux, les seuls éléments physiques dont les équipes de développement ont besoin sont un tableau et des cartes de tâches, et même ceux-ci peuvent être virtuels.

Tableaux Kanban

Le travail de toute équipe Kanban s'articule autour d'un tableau Kanban, un outil utilisé pour visualiser et optimiser le flux de travail au sein des équipes. Si les tableaux physiques sont populaires auprès de certaines équipes, les tableaux virtuels sont essentiels au sein de tout outil de développement de logiciel Agile, non seulement en raison de leur traçabilité, mais aussi pour leur collaboration et leur accessibilité depuis plusieurs emplacements.

Qu'une équipe utilise un tableau Kanban numérique ou physique, cela lui permet de visualiser son travail, de standardiser son flux de travail et d'identifier et de résoudre immédiatement tous les bloqueurs et dépendances. Un tableau Kanban de base a un flux de travail en trois phases : À faire, En cours et Terminé. Cependant, en fonction de la taille, de la structure et des objectifs de l'équipe, celle-ci peut adapter le flux de travail à ses processus uniques.

La méthodologie Kanban reposant sur une transparence totale du travail et une communication en temps réel, le tableau Kanban est la source de référence unique pour le travail de l'équipe.

Tableau Kanban Agile | Atlassian – Le coach Agile

Les cartes Kanban

En japonais, Kanban signifie littéralement « panneau d'affichage ». Les équipes Kanban représentent chaque tâche sous la forme d'une carte distincte sur le tableau. L'objectif principal de la représentation du travail sous forme de carte sur le tableau Kanban est de permettre aux membres de l'équipe de suivre l'avancement de son flux de travail de manière très visuelle.

Les cartes Kanban contiennent des informations essentielles sur les tâches du projet, permettant aux équipes de savoir qui est responsable de quelles tâches, une brève description du travail et la durée estimée des tâches. Les cartes figurant sur des tableaux Kanban virtuels comportent souvent des captures d'écran et d'autres informations techniques utiles à la personne responsable.

Permettre aux membres de l'équipe de consulter l'état de chaque tâche à tout moment, ainsi que les informations pertinentes, favorise une concentration accrue, une traçabilité complète et une identification rapide des bloqueurs et des dépendances.

Les avantages du framework Kanban

Kanban est l'une des méthodologies de développement logiciel les plus populaires utilisées par les équipes Agile aujourd'hui. Elle présente des avantages supplémentaires par rapport à la planification de tâches et au débit pour des équipes de toute taille.

Planification flexible

L'équipe Kanban se concentre uniquement sur le travail activement en cours. Une fois que l'équipe a terminé une tâche, elle sélectionne la tâche suivante dans le backlog. Le Product Owner a donc tout le loisir de hiérarchiser à nouveau les tâches du backlog sans perturber l'équipe. En effet, les changements apportés aux tâches qui ne sont pas en cours n'ont aucun impact sur l'équipe.

Tant que le Product Owner conserve les tâches les plus importantes en tête du backlog, l'équipe de développement peut être assurée de rapporter à l'entreprise une valeur ajoutée maximale.

Conseil de pro :

S'il est efficace, le Product Owner implique l'équipe de développement avant d'apporter des changements au backlog. Par exemple, si celui-ci contient les user stories 1 à 6, l'estimation de la user story 6 dépendra peut-être de l'achèvement des user stories 1 à 5. Il est toujours recommandé de valider les changements auprès de l'équipe d'ingénierie afin d'éviter toute surprise.

Durées de cycle raccourcies

La durée de cycle est une métrique clé pour les équipes Kanban. Elle représente le laps de temps nécessaire à une unité de travail pour parcourir le flux de travail de l'équipe, à partir du moment où le travail est amorcé jusqu'à la livraison. En optimisant la durée de cycle, l'équipe peut prévoir ses futures livraisons en toute confiance.

Le chevauchement des compétences permet de réduire la durée des cycles. Lorsqu'une seule personne détient une compétence en particulier, elle devient le goulot d'étranglement du flux de travail. C'est pourquoi les équipes appliquent donc les bonnes pratiques de base, telles que la revue de code et le mentorat pour favoriser la diffusion des connaissances. En partageant les compétences, les membres de l'équipe peuvent assumer des tâches hétérogènes, ce qui optimise encore davantage la durée de cycle.

En outre, cette approche permet à l'ensemble de l'équipe de traiter collectivement les goulots d'étranglement, ce qui facilite une résolution rapide et garantit un flux de travail fluide. Par exemple, les responsabilités en matière de tests vont au-delà des ingénieurs d'assurance qualité pour inclure les développeurs, ce qui favorise un effort de collaboration pour maintenir l'efficacité. Dans un système Kanban, toute l'équipe veille à ce que le travail se déroule sans heurts tout au long du processus.

Réduction des goulots d'étranglement

Le multitasking met à mal l'efficacité. L'augmentation de la charge de travail entraîne simultanément des changements de contexte plus fréquents, ce qui entrave l'avancement des tâches vers leur achèvement. C'est pourquoi l'un des principes essentiels du processus Kanban est de limiter le travail en cours (WIP). Les limites du volume de travail en cours mettent en évidence les goulots d'étranglement dans le processus de l'équipe, qu'ils soient dus à un manque de concentration, de personnel ou de compétences.

Par exemple, une équipe de développement classique peut utiliser quatre états de flux de travail : « À faire », « En cours », « Revue de code » et « Terminé ». Elle peut décider de fixer une limite WIP à 2 pour l'état « revue de code ». Cela peut sembler faible, mais il y a une bonne raison à cela.

Les développeurs préfèrent souvent écrire du nouveau code plutôt que de passer du temps à revoir le travail de quelqu'un d'autre. Une limite faible encourage l'équipe à porter une attention particulière aux tickets en cours de révision et à revoir le travail des autres avant de passer à leurs revues de code, réduisant ainsi la durée globale du cycle.

Métriques visuelles

L'une des valeurs fondamentales est de mettre l'accent sur l'amélioration continue de l'efficience et de l'efficacité de l'équipe à chaque itération de travail. Les graphiques fournissent un mécanisme visuel permettant aux équipes de s'assurer qu'elles continuent de s'améliorer.

Lorsque l'équipe peut visualiser les données, elle peut plus facilement localiser les goulots d'étranglement dans le processus (et les éliminer). Les graphiques de contrôle et les diagrammes de flux cumulés sont deux des rapports fréquemment utilisés par les équipes Kanban. Le graphique de contrôle montre la durée de cycle de chaque ticket et une moyenne mobile de l'équipe.

Conseil de pro :

L'objectif de l'équipe est de réduire le temps nécessaire à un ticket pour parcourir l'intégralité du processus. La baisse de la durée de cycle moyenne dans le graphique de contrôle est un indicateur de succès.

Graphique de contrôle Agile | Atlassian – Le coach Agile

Le diagramme de flux cumulé montre le nombre de tickets présents dans chaque état. L'équipe peut facilement localiser les bloqueurs lorsque le nombre de tickets augmente dans un état donné. Les tickets concernant des états intermédiaires tels que « En cours » ou « En revue » ne sont pas encore envoyés aux clients, et un bloqueur dans ces états peut augmenter le risque de conflits d'intégration massifs lorsque les travaux sont fusionnés en amont.

Diagramme de flux cumulatif

Livraison continue

La livraison continue (CD) consiste à livrer des tâches aux clients à intervalles réguliers. L'intégration continue (CI) est une pratique qui préconise les builds automatisés et les tests incrémentiels du code tout au long de la journée. Ensemble, ils forment un pipeline CI/CD essentiel aux équipes DevOps pour livrer des logiciels plus rapidement en assurant une qualité élevée.

Kanban et la livraison continue se complètent à la perfection, car ces deux techniques sont axées sur la création de valeur « juste à temps » (et échelonnée). Plus vite une équipe est en mesure de procurer des innovations à ses clients, plus son produit sera compétitif. Les équipes Kanban se concentrent précisément sur l'optimisation des livraisons aux clients.

Scrum ou Kanban ?

Kanban et Scrum ont plusieurs concepts en commun, mais avec des approches très différentes. Il ne faut en aucun cas les confondre.

 

Scrum

Kanban

Méthodologie de livraison

Scrum

Sprints réguliers et à durée déterminée (à savoir, deux semaines)

Kanban

Flux continu

Rôles

Scrum

Product Owner, Scrum Master, équipe de développement

Kanban

Livraison continue ou lorsque l'équipe le décide

Métriques clés

Scrum

Vélocité

Kanban

Durée du cycle

Philosophie en matière de changement

Scrum

Les équipes doivent s'efforcer de ne pas modifier la prévision du sprint pendant ce dernier. Cela entraverait l'apprentissage concernant les estimations.

Kanban

Des modifications peuvent être apportées à tout moment

Certaines équipes marient les idéaux de la méthodologie Kanban et de Scrum en une technique intitulée « Scrumban ». Elles prennent les sprints à durée déterminée et les rôles de Scrum, et les associent à la concentration sur les limites du volume de travail en cours et à la durée de cycle de Kanban.

Pour les équipes qui débutent avec Agile, nous recommandons vivement de choisir une méthodologie et de l'expérimenter pendant un moment. Si votre équipe est prête à utiliser la méthodologie Kanban, utilisez notre modèle de tableau Kanban gratuit sans plus attendre !

Tableau Jira

Lancez-vous gratuitement avec le modèle Kanban pour Jira

Maximisez l'efficacité en suivant et en faisant avancer le travail qui compte le plus.

Dan Radigan
Dan Radigan

Agile a eu un impact considérable sur moi, à la fois personnellement et professionnellement. J'ai appris que les meilleures expériences étaient agiles, dans le code comme dans la vie. Vous me trouverez souvent au carrefour entre la technologie, la photographie et la moto. 

suivant
Tableaux