Kanban
Comment la méthodologie kanban s'applique au développement logiciel
Parcourir les rubriques
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.
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
Passer de « À faire » à « Terminé » grâce aux tableaux Kanban dans Jira
Le tableau Kanban de Jira est conçu pour aider continuellement les équipes à raccourcir la durée de cycle tout en accroissant l'efficacité.
Télécharger gratuitementOptimisation 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.
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.
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.
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.
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.
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.
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 !
Related resources
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.
Prêt à vous lancer ?
Instructions détaillées pour mener un projet Kanban, prioriser vos tâches, visualiser votre workflow et réduire le nombre de tâches en cours avec Jira.
Lire ce tutorielConception Agile : processus et recommandations pour la conception collaborative
La conception collaborative travaille par itérations sur une conception de produit. Elle cherche pour cela à obtenir le point de vue des clients et des développeurs au début d'un projet. En savoir plus.
Lire cet article