Scrum: comment travailler sur une histoire à la fois

12

J'ai été nommé Scrum Master dans une nouvelle équipe de Scrum formée. Nous avons déjà fait quelques sprints. Au début, j'ai essayé de faire travailler mon équipe sur une histoire à la fois. Mais ça n'a pas marché. Mon équipe a eu du mal à répartir les tâches de manière à pouvoir travailler simultanément sur une même histoire. Peut-être que nous faisons quelque chose de mal?

Par exemple: nous avons une histoire pour créer une nouvelle boîte de dialogue. Nous créons les tâches suivantes:

  • Créer des classes de modèle
  • Lire les données du modèle à partir de la base de données
  • Connecter des classes de modèles avec vue
  • Implémenter la gestion des dialogues
  • Enregistrer les données à la fermeture
  • Documentation de test
  • Description de la solution

Ces tâches peuvent-elles être effectuées par plusieurs personnes à la fois? Les tâches - plus ou moins - s'appuient les unes sur les autres. Ou concevons-nous les tâches de manière incorrecte?

Juergen
la source

Réponses:

19

Pourquoi toute l'équipe devrait-elle travailler sur une seule histoire?

Pourquoi ne pas créer des histoires suffisamment petites (et suffisamment indépendantes) pour qu'une seule personne (ou mieux, une paire faisant de la programmation par paires) puisse travailler sur une seule histoire. Ce processus permet également de mieux définir les exigences et de réfléchir davantage au problème et à la mise en œuvre. Les estimations peuvent également devenir plus précises, mais aucune garantie ici.

Patkos Csaba
la source
6

Bien que cela dépende fortement de la taille de la user story, dans de nombreux cas, un seul développeur doit être affecté à une story pour éviter que vos développeurs ne se mettent les pieds sur les pieds. Bien que les histoires plus grandes ou très complexes puissent nécessiter plus de développeurs, mais il peut également être possible de diviser ces histoires en de nombreuses histoires plus petites qui peuvent être attribuées individuellement.

Ryathal
la source
"... évitez que vos développeurs ne se mettent les pieds sur les pieds": Comment cette idée cadre-t-elle avec la programmation par paires (en supposant qu'elle puisse s'adapter)?
Giorgio
1
@Giorgio dans la programmation par paire, vous n'avez qu'un seul programmeur à "conduire", donc une seule personne apporte des modifications. Des problèmes surviennent lorsque plusieurs développeurs commencent chacun à fouiller dans la même zone.
Ryathal
2

Ce que nous faisons généralement, c'est de décomposer les histoires en sous-tâches de développement / infra / analyste.

  1. Généralement, tout ce qui dépasse une journée de travail est une histoire.

  2. Une fois les tâches décomposées, un ou deux développeurs au maximum travaillent sur une histoire, selon le nombre de tâches à accomplir. Habituellement, c'est l'un.

  3. Nous enregistrons le temps passé et mettons à jour l'estimation restante à la fin de la journée avant notre départ ou avant le stand up quotidien.

  4. Des sous-tâches sont créées pour tous les nouveaux problèmes qui surviennent pendant le travail.

  5. Une histoire qui fait plus de 2 semaines de travail est considérée comme une épopée.

  6. Une épopée peut être composée de nombreuses histoires

JVXR
la source
2

Ce que vous voulez que votre équipe fasse s'appelle essaimage , mais tous les éléments du backlog ne peuvent pas être essaimés par toute l'équipe. La pensée commune est que l'essaimage nécessite certaines conditions préalables:

  • une équipe interfonctionnelle et colocalisée
  • une histoire non triviale
  • une définition du «fait» qui implique l'implication de toute l'équipe

Lorsque vous divisez une histoire en tâches, l'équipe doit déjà être en mode d'essaimage afin que les tâches générées soient compatibles avec l'essaimage et puissent impliquer toute l'équipe.

Mais soyez prudent lorsque vous utilisez l'essaimage trop souvent ou avec trop de personnes à la fois, car vous pourriez rencontrer un problème de surchauffe, lorsque certains conflits peuvent apparaître entre les membres de l'équipe car ils sont trop nombreux à travailler sur le même élément.

Vous voudrez peut-être lire Mike Cohn's Should a Team Swarm on to One Backlog Item at a Time? ou cet article que j'ai écrit (hier) qui traite plus spécifiquement des bugs: Swarm or not swarm

Matthias Jouan
la source
1

Une grande partie de SCRUM est que l'équipe devrait prendre ce genre de décisions. Le backlog devrait avoir les user stories avec, espérons-le, suffisamment d'informations pour que les tâches soient générées.

Bien qu'il soit possible de contraindre une user story en un élément sur lequel toute l'équipe peut travailler simultanément, ce qui est plus important, c'est que l'équipe sélectionne les éléments sur lesquels travailler, définit les tâches pour terminer la user story et utilise le stand quotidien pour voir si vous êtes sur la bonne voie avec le travail promis.

La douleur que vous ressentez en essayant de travailler sur une seule histoire à la fois doit être reconnue par l'équipe et, dans le sprint, des solutions potentielles rétrospectives doivent être évoquées. Déterminez ce que vous faites correctement et ce qui doit être amélioré.

En utilisant votre exemple de la difficulté de distribuer des tâches qui peuvent être travaillées simultanément, une solution possible est de prendre en charge plusieurs histoires et de livrer 3 ou 4 éléments dans un sprint. Étant donné que les tâches de cette user story se superposent, il sera difficile de distribuer le travail. Alors plutôt que de lutter contre cela, l'embrasser.

Phil Patterson
la source
0

Vos tâches, comme indiqué, semblent suffisamment «petites» pour être distribuées, mais il existe un certain couplage entre des tâches telles que celle de modélisation des données et de leur récupération dans la base de données.

Ce qui serait possible serait de le diviser en trois choses principales sur lesquelles les gens peuvent travailler simultanément, avec un travail / une configuration supplémentaire:

  • Back-end (base de données, modèle, etc.)
  • Front-end (en utilisant des données fictives)
  • Tests (mise en place des attentes, scénario, etc.)

Les tâches qui ne peuvent pas être divisées peuvent être effectuées par paires. Et bien sûr, il n'y a rien de mal en soi avec plus d'une histoire en cours à un moment donné; aussi longtemps que chaque membre de l'équipe sait ce que font les autres et qu'ils peuvent aider à tout moment (comme dans «propriété de code partagée»).

Vous devez garder votre équipe concentrée, oui, mais en même temps, vous devez garder tout le monde occupé et tout le monde impliqué.

De plus, quelle est la taille de votre équipe? C'est aussi un facteur; il est assez difficile de faire travailler dix personnes sur une seule histoire, et si vous le pouvez, votre histoire est beaucoup, beaucoup trop grande et devrait être divisée (tout comme votre équipe).

Cthulhu
la source