Epics、Stories、Featuresの使用方法は次のとおりです。
プロジェクトサイクルの初期に、Epicsを作成します。これらは非常に高レベルで、ほとんどマーケティング中心の機能の弾丸です。次のようなエグゼクティブサマリーで使用できるもの
新しいWebサイトにより、顧客は製品を閲覧したり、在庫状況や価格を表示したり、注文したり、過去の注文履歴を確認したりできます。
これは次のようなエピックにつながります
- 製品カタログを閲覧する
- 可用性を表示
- 価格を見る
- 注文する
- 注文履歴を見る
これらはユーザーストーリーとして書かれています(たとえば、顧客として製品カタログを参照して、情報に基づいて購入を決定できるようにします)が、実際に開発およびリリースされる10のスターターとしてのみ機能します。
これらのエピックは、さらにユーザーストーリーに分解されます。これらは実際のエンドツーエンドのユーザージャーニーであり、範囲が非常に限定され、1つのリリースサイクルで独立して推定および計画でき、開発、テスト、およびリリースできる方法で定義されます。
ユーザーストーリーは配信の単位です。ユーザーストーリーは、完全であるか完全ではないか、公開されるか、公開されないかです。
Epicは、多数のユーザーストーリーをもたらす可能性がありますが、すべてが同時に開発またはリリースされるわけではありません。
例として、製品カタログの閲覧の叙事詩は、
- カテゴリ階層をナビゲートする
- キーワードで探す
- 製品属性によるフィルタリング(価格帯、ブランド、色、サイズなど)
繰り返しになりますが、これらはそれぞれ、たとえば顧客としてカテゴリ階層をナビゲートし、製品を参照して、自分のニーズに最も適した製品にドリルダウンできる形式で作成されます。
一般的に、ほとんどのプロジェクトでは、数十の叙事詩と数百の物語があります。
次に、ストーリーのライフサイクルを進めながら、これらのストーリーにFeatureのタグを付けます。たとえば、すべての参照と検索、在庫と価格設定のストーリーには、たとえば「製品カタログ」のタグが付けられます。クレジットカードによる支払いに関連するプレイスストーリーには「クレジットカード」ラベルが付けられ、PayPalによる支払いに関連するストーリーには「ペイパル」ラベルが付けられます。
これらのラベルは、同じアクティビティを実行する異なるタイプであるためではなく、一緒にリリースする必要があるため、一緒に属するストーリーをグループ化するのに役立ちます。
たとえば、「クレジットカードによる注文の支払い」ストーリーは「PayPalによる注文の支払い」ストーリーと同じ叙事詩に属しますが、一緒にリリースする必要はありません。
一方、「クレジットカードによる注文の支払い」ストーリー、「クレジットカードへの返品返金の処理」ストーリー、および「顧客が自分のアカウントで保存したクレジットカードを管理できるようにする」ストーリーは、互いに属しているようです。 。それらはすべて、「クレジットカード」機能ラベルでタグ付けされていました。つまり、それらはすべて「クレジットカード」機能に属します。PayPalへの返品払い戻しを処理できない場合、またはアカウントで保存したクレジットカードを管理できない場合は、クレジットカードで支払いを行う機能をリリースすることはあまり役に立ちません。
注:一般的なルールとして、つまり。これは、最終的にはビジネス上の決定です。市場投入までの時間が重要な場合は、これらのいずれかを使用してライブを開始する正当な理由があるかもしれません。
したがって、Epicsは、独立して開発できる(関連するが別々の)ストーリーに分解するのに役立ち、Featuresは一緒にリリースする必要があるストーリーをグループ化するのに役立ちます。
Epicsはユーザーストーリーに分解され、ユーザーストーリーはフィーチャーに合成されると言えます。機能に属するストーリーは通常、Epics全体にあります。したがって、エピックと機能は、厳密な階層ではなく、直交しています。
私たちの働き方では、エピックスがストーリーに分解されると、目的が失われます。Epicsを推定または計画しません。Epicsの進行状況を追跡しません。Epicsはリリースしません。ユーザーストーリーを推定、計画、追跡します。そして、機能をリリースします。