ユースケースとXPのストーリーの違いは?

これはよくある質問だが、なかなか答えがまとまらない質問でもある。XPコミュニティの人々は、ストーリーはユースケースを簡単にしたものだと捉えている。私も以前はそう思っていたが、今は別の見方をしている。

ユースケースとストーリーは、どちらも要求をまとめる(organize)方法という意味で一致している。違うのは、まとめる「目的」である。 ユースケースでは、ユーザーがシステムにどう携わるか、システムをどう使うかといった物語(narrative)を作るために要求をまとめる。したがって、ユーザーのゴールと、システムとの相互作用がどのようにゴールを満たすかに焦点を当てる。 一方、XPのストーリー(同じようなものにフィーチャーと呼ばれるものがある)では、計画を作るために要求を分割する。XPのリリース計画プロセスの一部として、見積もることができるまで明確に分割する。 このように要求の使い方が違うために、ユースケースとストーリーの発見はまったく違ったものとなる。

この2つには複雑な相関関係がある。 ストーリーのほうが粒度が小さい。なぜなら、1回のイテレーション(XPでは1,2週間)の中で作り上げられなければならないからだ。小さなユースケースだとストーリーとまったく同じ大きさになることもあるが、ストーリーはユースケースの中の1つ以上のシナリオ、もしくは1つ以上のステップに相当する。 あるいは、ポップアップリストに新しい資産減価償却方法を追加するなどのように、ストーリーはユースケースのナラティブにさえ登場しないこともある1

ユースケースとストーリー両方を使う必要はあるだろうか? 理論的には可能であっても、実際に両方使うことはほとんどない。チームによっては、初期の段階でユースケースを利用して物語のイメージ(narrative picture)を構築し、その後ストーリーに分解して計画を立てることもある。また、直接ストーリーを作るチームもある。さらに、ユースケースを作成し、ユースケーステキストに注釈をつけて、どのような機能がいつ実行されるかを示すチームもある。


  1. 例えばポップアップリストのちょっとした変更のようなケースなんかではないでしょうか?(ユーザーにとっては見た目などは関心ごとだが、ユースケースのシナリオには普通そんなことを書かないから)–うしお