web-dev-qa-db-fra.com

Quand l'équipe discute-t-elle des exigences lors de l'utilisation de Kanban?

J'ai lu un peu de kanban et je suis légèrement confondu sur le sujet des exigences.

Dans mon projet actuel, nous utilisons Scrum. Au début d'une sprint, nous avons une session où le BA fait une procédure à suivre de l'histoire et le décrit de mieux qu'elle le peut. Nous prenons ensuite l'histoire, examinons cela, discutez-le et préparons des questions pour la BA pour la prochaine session de planification de sprint. À la prochaine session, le BA répond à toutes les questions et la session se termine avec nous ayant compris les exigences (bien la plupart du temps).

La prochaine étape est que nous produisions ensuite une conception technique et développons la solution/l'histoire.

Avec Kanban, tout ce que j'ai lu suggère qu'il n'y a pas de planification de sprint à Kanban. Ma question est à quel point (en kanban) faire les techniciens et les entreprises s'assoient ensemble pour discuter de l'exigence de l'histoire? Le chef de produit ne fait-il pas partie de l'histoire à Kanban?

Avec Scrum, le BA est généralement disponible dans tout le sprint pour soutenir le développement et je suppose que c'est la même chose avec Kanban. Ce n'est pas clair pour moi même comment avec Kanban, les techniciens comprennent l'histoire s'il n'y a pas de planification de sprint.

8
ziggy

Vous avez raison que Kanban n'a pas le concept de sprints ou de planification sprint comme Scrum. C'est parce que c'est une méthodologie maigre . Plus de choses sont faites juste-la fois .

C'est à vous de décider de la manière de planifier des activités de planification, mais je vous recommanderais de les faire aussi près du début du travail que possible. Ceci est plus efficace lorsqu'il existe des représentants de toutes les principales parties prenantes intégrées à l'équipe (la même chose rend également Scrum plus efficace).

Je pense que ce diagramme, basé sur livraison agile disciplinée , donne une bonne représentation picturale d'un processus logiciel maigre:

Advanced/Lean DAD Lifecycle

Continuous Delivery DAD Lifecycle

Les événements de la planification quotidienne de STPTUP et SPRINT sont capturés dans toute la séance de modélisation de la coordination et de la réapprovisionnement. La réunion de coordination ressemble davantage à un débat quotidien de Scrum et d'une session de modélisation de réapprovisionnement ressemble davantage à la planification de l'arriéré et de la planification de Sprint. Cependant, il est correct de faire appel à certaines exigences dans la réunion de coordination si cela fonctionne pour votre équipe.

Comme la plupart des choses dans un processus maigre, cela arrive juste à temps. Il n'y a pas de fusil de trimestre et d'événements ne se produisent pas sur une cadence particulière comme dans Scrum. Vous faites le travail lorsqu'il ajoute la valeur de l'équipe et des parties prenantes.

Que vous pouvez comparer à une représentation picturale d'un processus basé sur Scrum modelé dans le contexte de la livraison agile disciplinée:

Basic/Agile DAD Lifecycle Extending Scrum

Au lieu de vous contraindre à des sprints de 2 à 4 semaines avec la planification au début, des stand-ups quotidiens et une révision et une rétrospective à la fin, des méthodologies maigres adopteront votre démonstration, votre coordination et vos réunions rétrospectives chaque fois que les parties prenantes pensent qu'elle est appropriée .

Kanban fournira des conseils pour la gestion de votre arriéré de travail et de votre travail en cours (WIP). Vous pouvez vous tourner vers d'autres techniques et méthodes pour la mise en œuvre exacte d'autres activités, car Kanban est généralement silencieuse sur ceux-ci.

15
Thomas Owens

Vous êtes légèrement représentatif/malentendu de la réunion de planification de sprint dans Scrum, ce qui, à mon avis, est la cause de votre confusion. Une réunion de planification de sprint est généralement le mauvais endroit pour déterminer les détails des histoires. Outre certains modifications finales et une course rapide pour s'assurer qu'il n'y a aucune préoccupation remarquable qui aurait une incidence significative sur les estimations, les histoires considérées devraient être prêtes à être prêtes. De là, la planification du sprint fait ce qu'elle dit sur l'étain: il prévoit de savoir ce qui sera dans le sprint à venir. Si vous n'avez pas de sprint, il n'y a pas besoin de planification de Sprint.

Alors, quand les détails des histoires sont-ils enfui? En règle générale via Toilettage en arriéré ou en communications en cours pendant les sprints antérieurs. L'objectif ici est d'obtenir suffisamment de clarté afin d'obtenir une estimation raisonnablement confiante. Cela n'exige pas tous Détail à élaborer à l'avance. Peu importe combien vous essayez, il y aura toujours des questions qui se posent pendant la mise en œuvre. L'objectif de Scrum est que les questions qui se produisent lors de la mise en œuvre soient relativement mineures (essentiellement suffisamment petites qu'elles n'ont pas d'incidence sur ce que l'estimation aurait été).

Dans Kanban, l'estimation est facultative. Si vous estimez, alors vous êtes susceptible de faire quelque chose de similaire à Scrum dans le sens où avant L'histoire est prise sur elle est discutée pour élaborer une estimation. Si vous n'êtes pas d'estimation, le comportement réel est similaire, sauf que vous ne discute peut-être pas d'une histoire tant que cela ne sera pas démarré.

D'après mon expérience, j'ai généralement travaillé sur des équipes qui utilisaient une approche de type Scrum pour le développement principal, puis passés à une approche plus kanban pour la phase de maintenance. Les travaux dans la phase de maintenance ont tendance à être plus sporadiques et les histoires sont plus clairement définies à AB Initioio et plus petite échelle. Dans la phase de développement principale, des histoires commencent souvent à un niveau élevé et doivent être raffinées et décomposées pour atteindre un point où ils seraient acceptables pour un sprint. Démarrer de telles histoires dans un contexte kanban a peu de sens et enfoncerait absolument vos métriques.

Il n'y a pas de rôle officiel de "Analyste Business" dans Scrum ou Kanban. C'est le équipe qui analyse et estime des histoires. Si la planification Sprint est la première fois que l'équipe de développement entend les détails des histoires, alors quelque chose ne va pas. Je ne dis pas que vous ne pouvez pas utiliser un BA ou que chaque développeur doit être dans toutes les exigences de collecte de la réunion, mais Certaines La représentation des développeurs devrait avoir lieu à un moment donné pendant la collecte des exigences avant la collecte des exigences avant la collecte des exigences avant la collecte des exigences avant la collecte des exigences avant la collecte des exigences la planification du sprint. Un BA n'est généralement pas assez compétent pour savoir les détails de la mise en œuvre pour connaître le coût des choses ou quelles questions pourraient avoir un impact significatif sur le coût. Cela signifie que des détails pouvant affecter considérablement les estimations qui ne seront reconnues que lorsque l'équipe de développement les voit. En outre, les développeurs peuvent être en mesure de fournir des orientations vers des approches plus rentables ou suggérer des fonctionnalités relativement faciles à mettre en œuvre, mais peuvent ajouter beaucoup de valeur pour l'utilisateur. Ce que je soupçonne peut se produire dans votre cas, est que les développeurs qui aident le BA à mesure que le BA est en train de rassembler des exigences (par exemple, répondre aux questions de BA ou à fournir des estimations de l'ordre de magnitude) et que cela remplace grossièrement le toilettage. Sinon, vous travaillez (par exemple, les travaux de maintenance) qui arrive naturellement dans des paquets relativement petits, auquel cas Kanban pourrait bien être un processus plus approprié.

5

Pour personnaliser spécifiquement vos questions ...

quel point (en kanban) font-ils les techniciens et le folk professionnel s'assoient ensemble pour discuter de l'exigence de l'histoire? Le gestionnaire de produit ou BA n'entraînent-ils pas à pas l'histoire de Kanban?

La méthode kanban comme le pionnier de David Anderson ne contient pas de pratique ou de recommandation spécifique sur lorsque ces activités se produisent. La réponse que tout pratiquant kanban fournirait est que initialement lorsque vous adoptez la méthode kanban, vous devez effectuer cette activité de la même manière que vous l'exécutez avant de décider de l'évolution de la gestion de votre travail. . Si vous le suivez toutes les 2 semaines, vous devriez continuer à le réaliser toutes les 2 semaines.

Votre équipe découvrira s'il y a une opportunité et une valeur dans la modification du calendrier. N'oubliez pas que le calendrier de 1 mois est plus agile 5 ans, un horaire de 2 semaines est plus agile 4 mois, 1 semaines est Plus agile 5 semaines. Cette pensée nous amène finalement à juste à temps comme étant le plus agile. Être Le plus agile ne devrait pas être la condition cible avant même de commencer.

Avec Scrum, le BA est généralement disponible dans tout le sprint pour soutenir le développement et je suppose que c'est la même chose avec Kanban. Ce n'est pas clair pour moi même comment avec Kanban, les techniciens comprennent l'histoire s'il n'y a pas de planification de sprint.

La méthode kanban En tant que mentalité et un ensemble de pratiques ne placent aucune condition ni contrainte sur l'existence d'une sprint, d'une réunion de planification de sprint ou d'autres pratiques. Il est totalement respectueux d'une équipe de scrum et de leurs pratiques. Si vous avez une réunion aujourd'hui, où des techniciens discutent de l'histoire, vous continuerez à avoir cette réunion, en utilisant le même horaire.

Je ne pouvais pas en bonne conscience vous dire quel serait l'horaire/devrait être/pourrait être sans comprendre votre équipe et l'organisation qui l'entoure. Si vous n'effectuez pas ces activités aujourd'hui, de nombreuses autres sources d'information pour vous apprendre à faire ces activités. La méthode Kanban Peut fournir des conseils sur l'enseignement de vous découvrir si vos choix sont bons.

Veuillez prendre une lecture des articles de blog dans ces deux séries. Un de moi-même, et un de Steve Porter, membre de l'équipe de Scrum.org.

rien dans Kanban n'empêche Scrum - Dave Blanc - WesternDevs.com

Scrum et Kanban - plus fort ensemble - Steve Porter - Scrum.org

2
Dave White

Je modifie ma réponse basée sur les commentaires que j'ai reçus pour aider davantage à comprendre comment et quand devriez-vous travailler sur les exigences et le stade de planification de votre sprint de votre sprint; Comme sur l'application de la méthode Kanban à vos processus actuels. Aux fins de ma réponse, j'utilise les termes "kanban" et "méthode kanban" de manière interchangeable, par les deux, je veux dire les recommandations de la méthode kanban. J'espère que ça aide.


Premièrement, vous ne devriez rien changer de votre processus de développement/d'élaboration de vos exigences "pour Kanban" - car Kanban ne fait aucune recommandation. Tout Kanban recommande que vous visualisez vos processus actuels, y compris autour de la gestion des exigences et de la planification de Sprint, mettez en œuvre des limites WIP et gérer les flux. Par la suite, apportez des modifications à votre processus en fonction des goulots d'étranglement et des opportunités d'amélioration observées.

[Je suggère fortement que si vous ne l'avez pas encore fait, s'il vous plaît lire le livre - " Kanban: changement évolutif réussi pour votre entreprise de technologie " par David Anderson, la méthode Kanban Pioneer. (Clause de non-responsabilité complète - Je suis co-fondateur dans une société de produits Kanban. Je suis également un entraîneur de Kanban et un entraîneur de l'Université Kanban Lean Kanban.)

Kanban en soi n'est pas une méthodologie de développement logiciel/de gestion de projet. Sans processus existant, vous ne pouvez pas appliquer/mettre en œuvre Kanban. C'est une méthode pour vous aider à améliorer de manière évolutive (progressive, non perturbatrice) quels que soient vos processus actuels. Dans votre cas, c'est Scrum. Donc, vous devriez vraiment appliquer Kanban sur vos processus de Scrum pour aider votre équipe à améliorer sa livraison de logiciels. La combinaison de ceci est communément appelée Scrumban.

Vous commenceriez en suivant les 3 principes de base de Kanban -

  1. Commencez avec ce que vous faites maintenant
  2. Accepter de poursuivre des changements incrémentaux évolutifs
  3. Respectez les processus actuels, les rôles, les titres et les responsabilités

En utilisant ces principes directeurs, vous mettez ensuite en œuvre les pratiques standard de la méthode Kanban - qui sont -

  1. Visualisez votre processus actuel (et le travail en cours)
  2. Limiter la WIP (travail en cours)
  3. Gérer le flux
  4. Faire des politiques de processus explicites

Commencez avec ces 4 pratiques. Il existe 2 autres pratiques définies dans la méthode Kanban que vous pouvez examiner une fois que vous avez commencé et avoir une poignée. Celles-ci sont (5) Mettre en œuvre des boucles de rétroaction et (6) s'améliorent et évoluent en collaboration, en utilisant la méthode scientifique.

C'est un résumé rapide - le livre vous aidera vraiment à mieux comprendre ceux-ci. Il existe également un fichier complet guide kanban disponible sur notre site Web.]

La chose importante à se concentrer sur votre situation est de visualiser (sur un conseil kanban) ce que vous faites aujourd'hui. Votre processus d'exigences actuelles doit être suivi pendant le processus de planification de sprint ou certaines sous-étapes que vous pourriez choisir de visualiser. Votre conseil d'administration de Kanban devrait en fait refléter la planification de Sprint comme une étape spécifique du processus de développement global, suivie d'une conception technique, d'un développement et d'un test, selon le cas.

Bien que les histoires d'utilisateurs se trouvent dans la phase de planification de Sprint, vous suivriez les étapes dans lesquelles telles que les BA vous fournissant des détails, les développeurs préparant des questions et les obtenir de répondre avant que l'histoire ne se déplace à la phase de conception technique et au-delà.

(BTW, si votre processus de vos exigences a des aspects en amont qui pourraient être considérés comme faisant partie de la planification de la feuille de route ou du toilettage en arriéré, il existe un sujet de "Kanban en amont" qui vous aide à mieux gérer des activités en amont dans autant de détails qu'ils pourraient exister. Aujourd'hui. Vous ou votre BA/PIC pourriez-vous envisager d'utiliser une carte Kanban en amont distincte pour gérer toute cette activité.)

Votre flux de conseil de Dev Kanban pourrait ressembler à celui ci-dessous -

Backlog -> Planification Sprint -> Tech Design -> Dev -> Test -> Intégration -> FAIT

Chacune des étapes pourrait avoir leurs propres sous-colonnes "en cours" et "faites" - bien que si un seul développeur le prend à travers toutes les étapes, vous n'avez peut-être pas besoin de ces sous-colonnes à chaque étape. Si vous estimez que c'est important, vous pourriez rompre la planification de Sprint en 3 sous-étapes - détails de l'histoire, clarifications et faites, ainsi que vous pourriez potentiellement étudier les goulots d'étranglement dans chaque aspect du travail. Par exemple, dans notre propre équipe de dev, la revue de code peut être souvent un goulot d'étranglement!

À la fin de votre cycle de sprint de 2 ou 3 semaines, toutes les histoires d'utilisateurs terminées peuvent s'éteindre collectivement - et vous commencez avec le prochain ensemble d'histoires de l'arriéré.

Sur une période donnée, vous pourriez décider que certains des défis de la mêlée (fuite d'histoire, des délais de sprint manqués, etc.) pourraient être traités en supprimant certaines des contraintes/règles de Scrum - ce qui pourrait sembler être sacrilège à certains. Nous faisons nous-mêmes des versions de 4 à 6 semaines - et ne faites pas de sprints. Mais aussi bien, vous pourriez simplement continuer à travailler avec des sprints et des rejets. Dans notre expès, c'est là que Kanban vous aide à décider de ce qui convient à votre entreprise ou à votre équipe et à adopter ou à modifier vos processus qui vous aident à livrer votre travail de la meilleure manière possible, ce qui maximise le débit, le débit/la vitesse et réduit les délais de livraison ( temps de commercialisation).

Si vous décidez de supprimer des sprints et de faire des rejets comme et quand un nombre suffisant de fonctionnalités ont été construits (ou des défauts fixes ou une combinaison de la fois) - ou si vous gardez Sprint - Kanban devrait aider votre équipe à travailler plus facilement, éliminez goulets d'étranglement et améliorer la performance du temps de cycle. Si cela vous aide à faire des rejets plus fréquents, ce qui vous aide à obtenir des commentaires plus rapides des clients, vous passez maintenant à ce que vous pourriez faire appel à une situation "plus agile", mais qui ne correspondent pas nécessairement à la définition classique de la méthode de Scrum.

Toutefois, si des objectifs commerciaux sont mieux satisfaits, les clients sont plus heureux et votre équipe peut fonctionner de manière optimale, vous auriez obtenu vos objectifs de la mise en œuvre de Kanban.

J'espère que cela t'aides. Si vous avez des questions, je serais heureux de leur répondre.

2
Mahesh Singh

La plupart de ce que Mahesh Singh dit sur le dessus est du matériel de formation publié de Lean Kanban Inc., vraiment ... il n'y a rien à argumenter ici. Parlez à n'importe quel AKT ou KCP et il/elle dira la même chose.

À la question initiale sur l'endroit où vous pourriez faire des éclaircissements d'exigence, il existe différentes options:

  1. Vous pouvez faire ce que vous faites aujourd'hui, mais en visualisant et en mettant ces étapes sur un flux de valeur, identifiez vos obstacles. Ensuite, faites un changement et voyez comment cela fonctionne. La communauté de Toyota Kata appelle cela comme des expériences de facteur unique.

  2. Faire une carte amont pour le raffinage des exigences, la décomposition, la conception UX/interaction, etc. Dans notre propre équipe, nous cassons des thèmes aux épopées, effectuez le cycle de conception UX complète et ne le brisez que dans des histoires. Ensuite, les histoires sont prioritaires en obtenant toutes les parties prenantes lors d'une réunion. La fin de ce flux de valeur aboutit à des histoires affinées et prioritaires. Qui constitue notre arriéré pour l'équipe de développement. En fait, ce flux prend beaucoup de temps de cycle, principalement parce qu'il faut du temps pour passer d'une exigence de niveau épique aux caractères filaires à Sketch ou à Zeppelin pour l'équipe de Dev.

  3. Si vous n'avez pas de flux de valeur significatif ou de temps de cycle pour convertir quelque chose des exigences à des histoires raffinées, vous pourriez simplement avoir une scène dans votre flux de valeur de développement (comme une clarification des exigences). Cependant, Scrum s'attend à ce que le niveau de clarté est élevé pour l'estimation et la rupture des tâches. Ainsi, si vous faites une rencontre avec la réunion de planification de la sprint ou une réunion de planification de sprint prolongée, cela dépendra de votre équipe et de votre organisation.

Si nous nous souvenons des principes et sommes ouverts sur les pratiques définies, le cycle d'inspection et d'adaptation devient beaucoup plus facile.

1
Sudipta Lahiri