Modèle Kanban en génie logiciel
Qu'est-ce que Kanban?
Kanban est un cadre de développement très populaire dans la méthodologie de développement logiciel agile. Il fournit un moyen transparent de visualiser les tâches et la capacité de travail d'une équipe. Il utilise principalement des tableaux physiques et numériques pour permettre aux membres de l'équipe de visualiser l'état actuel du projet sur lequel ils travaillent.
Kanban est né chez Toyota dans les années 1940. La signification de Kanban en japonais est « panneaux d'affichage ». Le tableau Kanban comporte des colonnes et des cartes d'histoire. Les colonnes ne sont rien, mais les états et les cartes du flux de travail ne sont rien d'autre qu'une démonstration de la tâche réelle qu'un membre de l'équipe effectue.
Quand utiliser Kanban ?
Voici les raisons d’utiliser la méthode de développement Kanban :
- Kanban peut être utilisé dans n’importe quel domaine et peut être utilisé très efficacement dans le développement de logiciels. La gestion de projet Kanban contribue à améliorer l'efficacité de l'équipe.
- Il s’agit d’un système basé sur le pull. Les tâches sont supprimées dès qu'un individu est libre.
- Kanban doit être utilisé lorsque vous souhaitez publier votre travail à tout moment. Cela nécessite un branchement git, mais c'est faisable.
- Kanban doit être utilisé lorsque vous souhaitez modifier les priorités à la volée. Pour cela, tout ce que vous avez à faire est de mettre cette histoire en tête de la liste des choses à faire.
- Il doit être utilisé lorsque vous souhaitez visualiser votre travail et que vous souhaitez voir visuellement la progression de vos tâches.
Cartes Kanban
Le système Kanban recommande la visualisation du travail. Il suggère l'utilisation du tableau physique et numérique.
Les cartes Kanban sont des éléments essentiels du tableau Kanban car elles représentent le travail sur lequel travaille l'équipe. Ces cartes auront
- Priorité
- Propriétaire
- Type
- Date d'échéance
Une colonne du tableau Kanban représente l'étape de travail et vous pouvez placer une limite WIP (Work in Progress) sur la colonne. La limite WIP signifie le nombre maximum de cartes pouvant rester sur cette colonne.
Étant donné que la gestion de projet Kanban utilise un système basé sur le pull, au fur et à mesure qu'un développeur est libre, il peut extraire une carte de la colonne des tâches vers la colonne de développement.
Conseil Kanban
Conseil Kanban est un outil de gestion de projet agile qui permet de mettre en œuvre Kanban pour gérer des projets à des fins personnelles et professionnelles. Il s'agit d'un tableau physique ou numérique (JIRA) conçu pour aider les équipes à visualiser leur travail à différentes étapes et processus. Cela permet également de représenter les étapes de travail avec des colonnes à l'aide de cartes.
Il comporte des colonnes qui représentent l'état du travail comme
- Faire,
- dev
- Contrôle de qualité
- Terminé.
Chacune de ces colonnes peut avoir des cartes <= la limite WIP. Les cartes représentent le travail réel.
Vous pouvez utiliser des nombres positifs pour limiter le travail en cours, et ce nombre limite peut être placé en haut des colonnes dans les tableaux Kanban physiques et numériques. N'importe quel membre de l'équipe peut gérer l'état de sa carte et toute l'équipe peut visualiser le flux de travail. Ensuite, dans ce didacticiel Kanban, nous découvrirons le workflow Kanban.
Flux de travail Kanban
Flux de travail Kanban est un ensemble d'étapes qui aident les équipes à définir des politiques et des principes explicites dans Kanban. Il représente les règles et procédures pendant que le travail se déroule à travers les différentes étapes des cycles de développement et de livraison. Le flux de travail Kanban consiste en des processus étape par étape entre le démarrage et la livraison d'une tâche particulière.
Le principe de base que Kanban suit est : « Arrêtez de commencer, commencez à finir ». Avec l’aide des limites WIP, cela permet d’effectuer plus de travail. Il existe des flux de travail et des états Kanban personnalisables disponibles dans n'importe quel outil moderne comme JIRA.
Vous trouverez ci-dessous les états de base que de nombreuses équipes logicielles suivent pour leur gestion des flux de travail.
États | Compréhension des tâches |
---|---|
Faire | Les tâches arrivent ici pour la première fois dans cet état. |
Prêt pour l'analyse | Analysez la tâche et ajoutez complètement les exigences. |
Prêt pour le développement | Analyse terminée et le développement peut commencer. |
Dans le développement | Des tâches sont en cours d'élaboration. |
Prêt pour les tests | Le développement est terminé et les tests peuvent maintenant commencer. |
Dans les tests | Les tâches sont en cours de test. |
Prêt pour la sortie | Tests terminés ; la libération peut arriver. |
Libéré/Terminé | Libéré. |
Les quatre principes du Kanban
Vous trouverez ci-dessous les quatre principes fondamentaux de Kanban :
- Commencez avec ce que vous avez maintenant: Le système Kanban suggère de travailler progressivement et de commencer avec ce que vous avez actuellement. Puisque l’une de ses pratiques consiste à s’améliorer continuellement, vous devez améliorer le système progressivement.
- Acceptez de poursuivre un changement progressif et évolutif : Kanban recommande un changement progressif dans le processus, et vous ne devez pas apporter de grands changements dans le processus d'un seul coup.
- Respectez le processus, les rôles et les responsabilités actuels : Encore une fois, commencez avec ce que vous avez actuellement et modifiez progressivement le processus, le rôle et les responsabilités.
- Encourager les actes de leadership à tous les niveaux: Chaque individu peut agir en tant que leader et proposer des idées pour améliorer l'efficacité du système Kanban global. Il ne faut pas penser qu'il s'agit d'une activité de niveau gestion, et même le plus jeune membre de l'équipe peut agir en tant que leader.
Les six pratiques de base Kanban
Voici les six principales pratiques de base de Kanban :
- Visualisez le flux de travail: Ce principe suggère de disposer d'un tableau Kanban (physique ou numérique) pour visualiser le workflow. Chaque individu d'une équipe doit voir sa carte et celles des autres membres de l'équipe. Vous pouvez déplacer vos cartes dans différentes colonnes selon l'image ci-dessus. Cela apporte beaucoup de transparence au sein de l’équipe et facilite également la résolution des bloqueurs.
- Limiter les travaux en cours: Kanban est un système basé sur le pull, et il améliore l'efficacité d'une équipe pour limiter les travaux en cours et avoir des tâches qui peuvent être accomplies dans les délais impartis par l'équipe. Cette limite WIP s'applique du début à la fin du workflow. Vous pouvez appliquer la limite en haut de la colonne en utilisant un entier positif.
- Concentrez-vous sur le flux: Ce principe se concentre sur le flux et sur les éventuelles interruptions. S'il y a des interruptions ou des bloqueurs, ils doivent être corrigés de manière permanente.
- Politiques explicites: Des politiques peuvent être établies en équipe pour réduire les retouches et se concentrer sur les domaines qui nécessitent une attention ou dans lesquels elle est plus efficace.
- Boucle de rétroaction: Les boucles de rétroaction sont très essentielles dans Kanban. Ce n'est pas seulement au sein de l'équipe mais entre plusieurs équipes, entraîneurs, etc. Cela contribue à améliorer la santé globale du système Kanban.
- AMÉLIORATION CONTINUE: C'est le principe de base du système Kanban. Il indique que vous pouvez toujours améliorer le processus, ce qui se traduira par une meilleure efficacité.
Système basé sur le tirage
Kanban est une méthode basée sur le pull dans laquelle les tâches sont extraites plutôt que poussées. Dès que vous avez complété votre carte actuelle, vous pouvez extraire une nouvelle carte de la colonne précédente du tableau Kanban.
Avec la limite WIP, Kanban contribue à l'amélioration du délai de livraison et du temps de cycle. Il doit y avoir le moins d'écart possible entre ces deux timings. Par exemple, nous avons 5 développeurs et seulement 1 testeur ; que va-t-il se passer dans ce cas ? Il y aura toujours de nombreuses cartes qui nécessiteront des tests, et elles resteront inactives et attendront.
Pour surmonter les problèmes mentionnés ci-dessus et améliorer l'efficacité, Kanban suit l'approche basée sur le pull avec des limites WIP, où il y aurait un nombre limité de cartes à tirer.
Ainsi, un testeur retirera une tâche de l’étape « prêt pour le test » lorsqu’il aura terminé sa tâche en cours. Avec la limite WIP dans les colonnes Kanban (étapes de développement), vous n'aurez pas beaucoup de cartes sans surveillance dans le flux de travail Kanban.
Le système basé sur le pull aide également à trouver la vitesse correcte pour l'équipe. Avec la bonne vitesse en place, l’équipe sera plus performante.
Délai de livraison et temps de cycle
Dans la méthode Kanban, le délai de livraison et le temps de cycle sont largement utilisés, il y a une différence entre les deux, et il est important de comprendre cela pour éviter toute confusion.
Délai De Mise En Œuvre | Temps de cycle |
---|---|
Le délai d'exécution est mesuré comme le temps entre l'arrivée de la tâche dans votre workflow et sa sortie du workflow, c'est-à-dire qu'elle a été libérée. | Le temps de cycle est mesuré comme le temps entre l'arrivée de la tâche à l'état « en cours » et l'arrivée de la tâche à l'état « prête à être publiée ». |
Ici, il est également important de comprendre qu'il ne faut pas inclure le temps nécessaire entre la préparation à la sortie et la sortie réelle.
Cycle Time = Work in Progress/Throughput
Dans le scénario idéal, l'écart entre le délai de livraison et le temps de cycle devrait être minime, et Kanban utilise un diagramme de flux cumulé (CFD) pour mesurer les données historiques sur le délai de livraison et le temps de cycle.
Diagramme de flux cumulatif (CFD)
CFD est un graphique disponible dans tous les principaux outils de gestion de flux de travail comme JIRA. Ce graphique mesure le nombre total de cartes/tâches de travail qui sont entrées dans le flux de travail et ont accumulé des cartes/tâches terminées au fil du temps.
Il vous aide à avoir une estimation du délai moyen et du temps de cycle pour une durée prédéfinie.
Le diagramme CFD vous donnera des indicateurs ou des problèmes à résoudre. Il vous fournira une image claire, basée sur ce schéma. Vous pouvez corriger le délai de livraison et le temps de cycle de votre équipe.
- Délai De Mise En Œuvre: C'est la durée entre l'arrivée d'une nouvelle carte dans votre workflow et sa sortie définitive du workflow.
- Temps de cycle: Il s'agit d'une durée entre l'arrivée de la carte en état de fonctionnement et le moment où la carte est prête à être libérée.
- WIP: Les travaux en cours (WIP) limitent la quantité maximale d'éléments de travail dans les différentes étapes du flux de travail.
- Cadence de production : Il s'agit de la performance réelle, et elle indique le nombre réel de cartes livrées dans un délai donné.
Débit = Encours/Durée de cycle
Limitation des en-cours (travaux en cours)
Dans la méthodologie de développement Kanban, WIP limite le nombre de tâches/cartes sur lesquelles un membre de l'équipe ou l'ensemble de l'équipe peut travailler en même temps.
Les limites WIP garantissent que l'équipe stabilise son travail et augmentent la nature prédictive, essentielle dans le système basé sur le pull. Habituellement, la décision concernant la limite des en-cours est prise par l'équipe elle-même.
Raison de définir les limites des en-cours
Voici les raisons de définir les limites WIP :
- Cela déplace l’attention sur l’accomplissement des tâches alors qu’un individu se concentre sur une seule tâche à la fois.
- Cela aide les équipes à comprendre leurs capacités.
- Il améliore la productivité et le temps de cycle.
- Cela permet d'éviter l'accumulation de tâches (en mode attente).
- Cela facilite le mouvement du flux de travail et les tâches continuent d'avancer.
- Cela aide également à résoudre les bloqueurs, car un individu ne passe pas d’une tâche à l’autre.
Scrum contre. Kanban
Voici les différences importantes entre Scrum contre. Kanban
Scrum | Kanban |
---|---|
Scrum stress sur la planification. Cela commence par la planification du sprint et se termine par une rétrospective du sprint. De nombreuses réunions sont organisées pour garantir que l'équipe est alignée sur les prochaines étapes, les priorités et les enseignements des sprints précédents. | Kanban est ouvert aux modifications en déplacement. Cela signifie qu'il y a moins de rigidité et les choses peuvent changer fréquemment. |
Il recommande la collecte de mesures du temps réalisé pendant les sprints | Kanban recommande des graphiques pour avoir un aperçu des progrès de l'équipe au fil du temps. |
Scrum pas plus demande un engagement des équipes. Il s’agit plutôt des objectifs et des prévisions du sprint. | Kanban s'appuie sur time-boxing et prévisions. |
Cela met l'accent sur la planification, et donc l’estimation a un rôle très important dans Scrum | Kanban a aucune exigence obligatoire pour estimation. |
Chaque l'individu a son rôle et responsabilités. | Non définir les rôles pour plus de flexibilité en termes de responsabilités individuelles. |
Les itérations/SprintLes s ont une durée fixe. Cette durée varie de 2 semaines à 1 mois. | Kanban est non basé sur la durée. Cette chose est mesurée en fonction des temps de cycle. |
Les équipes sont tenu de s'engager une quantité de travail spécifique. | Engagement non nécessaire c'est facultatif pour les équipes. |
Dans cette méthode, équipes inter-fonctionnelles sont importants car ils peuvent faire face à toute perturbation susceptible de provoquer un goulot d'étranglement dans le développement du logiciel. | Avoir équipe spécialisée est important. |
Il est impossible d'ajouter des éléments aux itérations en cours. | Équipement les éléments peuvent facilement être ajoutés si la capacité supplémentaire est disponible. |
Un backlog de sprint appartient uniquement à un seule équipe. | Équipe multipleLes utilisateurs peuvent partager le tableau Kanban. |
Les livrables sont déterminé par les sprints, pour lequel un ensemble de travaux doit être terminé et prêt à être examiné. | Les produits et les processus sont livré en continu sur une base nécessaire. Le processus de test et d’examen se déroule donc simultanément. |
Méthode de développement de logiciels Scrum se concentre sur l’arriéré. | Méthode Kanban entièrement se concentre sur le tableau de bord des processus. |
Chaque le membre de l'équipe a un rôle spécifique Dans Scrum Master, décidez des délais, le propriétaire du produit fixe les buts et les objectifs et les membres de l'équipe effectuent le travail de développement. | Il n’y a pas de rôles prédéfinis pour une équipe. Cependant, il peut toujours y avoir un chef de projet ; l'équipe est encouragée à collaborer et à travailler ensemble. |
Idéal pour les projets avec changer les priorités. | Idéal pour les équipes avec des priorités stables cela ne changera probablement pas avec le temps. |
Production de mesures utiliser la vitesse à travers des sprints. | Mesure la production à l’aide temps d'un cycle ou le temps exact qu'il faut pour terminer une partie complète d'un projet. |
Scrum nécessite un changement complet du modèle traditionnel au modèle Agile Scrum qui serait mis en œuvre dans le projet. | Kanban ne permet pas de changements drastiques dans le projet. |
C'est une méthode idéale pour les projets avec des priorités très variées. | Le mieux adapté pour des équipes avec des priorités stables. |
Dans Scrum, l'ensemble du tL'équipe se concentre sur la collaboration et l'accomplissement de la tâche. pour fournir un travail de développement de qualité. | Les équipes travaillent pour atteindre les objectifs et réduisez le temps nécessaire pour terminer l’ensemble du processus. Ainsi, la réduction du cycle de temps est ici le plus grand indicateur de succès. |
Scrum l'accent sur ses horaires; de nouveaux éléments ne peuvent pas être ajoutés aux itérations en cours. | Kanban est plus itératif par nature car il n'a pas de délais précis. Ainsi, de nouveaux éléments peuvent être continuellement ajoutés chaque fois que de la capacité supplémentaire est disponible. |
L'ensemble des travaux est réalisé en lots/Sprints. | L'ensemble du projet est réalisé sur le mouvement de élément de travail à thread unique les flux. |
Scrum master agit comme un résolveur de problèmes. | Kanban encourage chaque membre de l'équipe est un leader et partager la responsabilité entre eux tous. |
Scrum prescrit itérations temporelles. | Kanban se concentre sur planifier une durée différente pour une itération individuelle. |
Scrum aide les entreprises à gagner du temps et de l'argent. | Méthode Kanban se concentrer sur l'amélioration continue, la productivité et l'efficacité. |
atteindre communication stable et cohérente de performance à tous les niveaux. | Les membres de l'équipe sont plus susceptibles de atteindre leurs objectifs beaucoup plus facilement en raison de la nature visuelle des tableaux Kanban. |
Les projets sont codé et testé pendant le sprint évaluation | Les membres de l'équipe sont plus susceptibles de atteindre leurs objectifs beaucoup plus facilement en raison de la nature visuelle des tableaux Kanban. |
Il est plus facile à adapter aux changements constants en raison des sprints courts et des retours réguliers. | Il est conçu pour une production régulière et constante, des changements majeurs dans la demande des clients peuvent faire échouer Kanban. |
Le coût total du projet est minime, ce qui peut entraîner résultat plus rapide et moins cher. | Si une tâche n'est pas correctement estimée, le le coût total du projet ne sera jamais précis. Dans de tels cas, la tâche peut être répartie sur plusieurs sprints. |
Cette méthodologie nécessite des membres d’équipe expérimentés seulement. Ainsi, si l’équipe est composée de personnes qui ne sont pas des experts, le projet ne pourra pas être réalisé à temps. | Non délais précis sont alloués à chaque phase, de sorte que les membres de l'équipe n'ont jamais la moindre idée du temps qu'ils peuvent consacrer à chaque phase. |
Dans cette méthode Agile Scrum, il s'agit plus facile de livrer un produit de qualité à une heure programmée. | Il est conçu pour un sortie régulière et constante, des changements majeurs dans la demande des clients peuvent faire chuter Kanban. |
La le plan du projet ne dérangera jamais même si un membre de l'équipe quitte l'équipe. | Si l'un des membres de l'équipe quitte l'équipe pendant le développement, cela peut nuire au développement du projet. |
Des réunions quotidiennes parfois frustrer membres de l'équipe. | Tableau Kanban obsolète peut entraîner des problèmes dans le processus de développement. |
Les grands projets peuvent facilement être divisés en sprints faciles à gérer. |
Résumé
- Définition du Kanban : Kanban est défini comme une méthodologie de développement agile permettant de développer des logiciels, des automobiles, des biens, des médicaments, des chaussures ou tout autre travail de fabrication.
- Kanban utilise le tableau Kanban pour visualiser le travail. Il utilise des colonnes comme étapes (à faire, développement, tests, etc.) et des cartes comme élément de travail.
- La méthodologie Kanban prend en charge le tableau physique et numérique pour la visualisation.
- Kanban est un système basé sur le pull, et les cartes sont extraites de l'étape précédente vers les étapes actuelles par les membres de l'équipe.
- La méthode Kanban utilise le diagramme CFD pour comprendre le délai de livraison et le temps de cycle de l'équipe. Ce tableau aide les équipes à combler l'écart entre ces deux timings et à améliorer l'efficacité.
- Méthodologie de développement Kanban, WIP limite le nombre de tâches/cartes sur lesquelles un membre de l'équipe ou l'ensemble peut travailler en même temps.
- WIP limite les changements de concentration sur l'accomplissement des tâches, car un individu se concentre sur une seule tâche à la fois.