web-dev-qa-db-ja.com

依存しているストーリーをスクラムでどのように処理しますか?

私が現在取り組んでいる会社では、時々、いくつかの物語が互いに結び付いていることに気づきました(あまりに結合されているように)。これは、それらが同じ全体的な機能に属しているか、異なる機能である可能性がありますが、次の機能を続行するために最初に完了する必要があるものなどがあります。

イテレーションのワークフローを停止することなく、このケースをどのように処理しますか?私たちは何か間違ったことをしていますか?

9
Edgar Gonzalez

これは素晴らしい質問です。理論によると、ユーザーストーリーは独立している必要がありますが、それを完全に達成することはできませんでした。

私の意見では、最も重要なことは、依存関係を伝えて、チームと製品の所有者の両方がそれを認識できるようにすることです。これにより、製品の所有者は、依存関係が削除されるように(たとえば、ユーザーストーリーをマージすることによって)ユーザーストーリーを再定義するか、ビジネスプライオリティを定義して、主要なユーザーストーリーが最初に実装されるようにします。

優先順位とPOの決定に基づいて、同じスプリントに両方を実装するか、プリンシパルが既に完了しているため、依存するものを後で問題なく実装します。

最悪のケースは、AがBに依存し、BがAに依存している場合です。このような場合、ユーザーストーリーはおそらく正しく定義されておらず、おそらくAとB(ほとんど独立しているか、一方向の依存関係のみ)に書き直し、CはAとB.

7
Ladislav Mrnka

適宜計画してください。

それらを同じスプリントに入れると、ユーザーストーリーもスプリントバックログで優先されるため、問題は発生しません。

あなたのチームはこれに参加しているため、依存関係を認識しているので、心配する必要はありません。彼らは大人であり、依存関係について説明すると(通常は依存関係について説明します)、問題はスムーズに進みます。

ウォーターフォールのようなアジャイルでは、一度に1つのことしか実行できません。また、BがAを必要とする場合、通常Bの前にAを実行します。それは常識です。

2
user2567

依存関係は、システムを縦方向ではなく横方向にストーリーをスライスしているようなにおいかもしれません。特定の機能の開発には、データベース設計の変更からユーザーインターフェースに至るまでのすべてが含まれます。データベースルックアップ用のハンドラルーチンを作成するなど、システム構造のより低いレベルのユーザーストーリーにすべての労力を費やしていることがわかった場合は、ストーリー間の依存関係を作成している可能性が高くなります。そして、あなたはおそらくユーザーストーリーを間違って書いているのでしょう。

1
Dave

あなたの最善の策は、依存しているユーザーストーリーをできるだけ独立した小さなビットに分割することです。彼らはあなたが最初に最も依存している物語に取り組むべきです(あなたが言ったように:他のものを続けるために最初に終了する必要があるもの)。依存インデックスのようなものを作成します。ストーリー3がストーリー1よりも多くの被抑留者を持っている場合は、最初にストーリー3を追加する必要があります。

依存関係が原因で多くの停止が発生している場合は、作業を完全に停止し(現在のスプリントの真ん中です)、優先ユーザーのストーリーを再評価して、最初に対処することをお勧めします

0
DPD