スクラム:一度に1つのストーリーに取り組む方法


12

私は、新しく形成されたスクラムチームのスクラムマスターにノミネートされました。すでにいくつかのスプリントを行っています。最初は、チームが一度に1つのストーリーに取り組むようにしようとしました。しかし、うまくいきませんでした。私のチームは、1つのストーリーで同時に作業できるようにタスクを分散するのが困難でした。たぶん私たちは何か間違ったことをしているのでしょうか?

たとえば、新しいダイアログを作成するストーリーがあります。次のタスクを作成します。

  • モデルクラスを作成する
  • データベースからモデルデータを読み取る
  • モデルクラスをビューに接続する
  • ダイアログ処理を実装する
  • 閉じるときにデータを保存する
  • テスト文書
  • ソリューションの説明

一度に複数の人がこれらのタスクを実行できますか?タスク-多かれ少なかれ-は互いに構築されます。または、間違った方法でタスクを設計していますか?

回答:


19

すべてのチームが単一のストーリーで作業する必要があるのはなぜですか?

ストーリーを十分に小さく(そして十分に独立させて)、1人の人(またはペアプログラミングを行う1つのペア)が1つのストーリーで作業できるようにしてください。また、このプロセスは、要件をより適切に定義し、問題と実装の両方についてより深く考えるのに役立ちます。見積もりもより正確になる可能性がありますが、ここでは保証しません。


6

これはユーザーストーリーのサイズに大きく依存しますが、多くの場合、開発者がお互いの足指を踏まないようにするために、1人の開発者のみをストーリーに割り当てる必要があります。より大きなまたは非常に複雑なストーリーにはより多くの開発者が必要になる場合がありますが、それらのストーリーを個別に割り当てることができる多くの小さなストーリーに分割することも可能です。


「...開発者がお互いにつま先を踏まないようにする」:このアイデアはペアプログラミングにどのように適合しますか(適合できると仮定した場合)?
ジョルジオ

1
ペアプログラミングの@Giorgioでは、1人のプログラマが「運転」しているため、変更を行うのは1人だけです。複数の開発者がそれぞれ同じエリアで突っ走り始めると問題が発生します。
リャサル

2

私たちが通常行うことは、ストーリーを開発/インフラ/アナリストのサブタスクに分解することです。

  1. 一般に、1日以上の仕事であるものはすべて物語です。

  2. タスクが分解されると、手元のタスクの数に応じて、1人または最大2人の開発者がストーリーを作成します。通常その1つ。

  3. 費やした時間をログに記録し、出発前または毎日の立ち上がりの前に1日の終わりに残りの見積もりを更新します。

  4. サブタスクは、作業中に発生する新しい問題に対して作成されます。

  5. 2週間以上の作業があるストーリーは、叙事詩と見なされます。

  6. エピックは多くのストーリーで構成できます


2

あなたがチームにしたいことは群れと呼ばれますが、すべてのバックログ項目がチーム全体で群がることはできません。一般的な考えは、群れがいくつかの前提条件を必要とすることです:

  • クロスファンクショナルな共同チーム
  • 些細な話ではない
  • チーム全体の関与を意味する「完了」の定義

ストーリーをタスクに分割するとき、生成されたタスクがスウォームと互換性があり、チーム全体に関与できるように、チームはすでにスウォームモードになっている必要があります。

ただし、同じアイテムで作業しているチームメンバーが多すぎるため、チームメンバー間で競合が発生する可能性があるため、過度に頻繁に、または一度に多すぎる人数で使用する場合は注意してください。

Mike CohnのShould a Team Swarm on on 1 Backlog Item on a timeを読みたいと思うかもしれませんまたは、私が書いたこの記事(昨日)は、バグをより具体的に扱っています。


1

SCRUMの大きな部分は、チームがこのような決定を下すことです。バックログには、タスクが生成されるのに十分な情報を含むユーザーストーリーが含まれている必要があります。

チーム全体が同時に作業できるアイテムにユーザーストーリーを強制することも可能ですが、より重要なことは、チームが作業するアイテムを選択し、ユーザーストーリーを完了するためのタスクを定義し、デイリースタンドを使用することです約束された作業を順調に進んでいるかどうかを確認します。

一度に1つのストーリーだけで作業しようとする際に感じる痛みは、チームによって認識される必要があります。あなたが正しいことをしていて、改善が必要なものを見つけてください。

同時に処理できるタスクを配布するのが難しいという例を使用すると、考えられる解決策の1つは、スプリントで複数のストーリーと3つまたは4つのアイテムを解放することです。このユーザーストーリーのタスクは互いの上に構築されるため、作業を配布することは困難です。だから、それを受け入れる戦いをするのではなく。


0

示されているように、タスクは分散するには十分に「小さい」ように見えますが、データのモデリングとデータベースからのデータ取得に関するタスクなど、タスク間にはいくつかのカップリングがあります。

可能性のあることは、人々が同時に作業できる3つの主なものに分割し、いくつかの追加の作業/セットアップを行うことです。

  • バックエンド(データベース、モデルなど)
  • フロントエンド(モックデータを使用)
  • テスト(期待値、シナリオなどの設定)

分割できないタスクは、ペアで実行できます。そしてもちろん、ある時点で複数のストーリーが進行していても、本質的に問題はありません。チームのすべてのメンバーが他のメンバーが何をしているのかを知っていて、必要に応じて(「共有コードの所有権」など)いつでも支援できます。

はい、チームの集中力を維持する必要がありますが、同時にすべての人を忙しくし、全員を関与させる必要があります。

また、あなたのチームの大きさは?これも要因です。1人のストーリーで10人で作業することはかなり困難です。できれば、あなたのストーリーは遠すぎますし、大きすぎて(チームのように)分割する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.