JSTQB ALTA – ユーザーストーリーのINVEST基準とは?

サムネイル_肉球緑 学習履歴 🧪 ソフトウェアテスト

ユーザーストーリーのINVEST

JSTQBのシラバスでいうところの「ユーザーストーリーレビュー」に該当する内容です。

INVESTとは何か?復習を兼ねてまとめます。

INVESTとは?

良いユーザーストーリーを作成するための基準です。以下の頭文字を組み合わせた言葉です。

  • I: Independent(独立した)
  • N: Negotiable(交渉可能な)
  • V: Valuable(価値がある)
  • E: Estimable(見積もり可能な)
  • S: Small(小さな)
  • T: Testable(テスト可能な)

それぞれについてみてみます。

Independent

ユーザーストーリーは他のストーリーに依存しないべきです。

例えば、「村を襲うモンスターを倒すクエスト」と「町で薬草を探すクエスト」は、どちらからでも始められるし、一つをクリアしなくてももう一つをクリアできます。これが依存せずに独立している状態です。ポイントは、自由に選べると、プレイヤーにとっても進めやすいことです。

Negotiable

ユーザーストーリーは柔軟であり、開発者とステークホルダーの間で交渉可能です。

例えば、クエストをクリアする方法が一つだけではなく、いろんなアプローチができます。「土管に潜ってショートカットをしてゴールまで進める」か「キノコを1つも取らないでゴールまで進める」など、自分に合った方法を選べるので、目的を達成しやすくなります。

Valuable

ユーザーストーリーは、顧客やユーザーにとって価値があるものであるべきです。

クエストの報酬がプレイヤーにとって価値のあるものであること。「経験値がたくさんもらえる」とか「SSRの武器が手に入る」など、クリアする意味がしっかりあるので、挑戦したくなります。

報酬がいいとやる気がアップします。

Estimable

ユーザーストーリーは、どれくらいの作業量がかかるかを見積もることができるものであるべきです。

クエストの難易度やクリアにかかる時間が分かりやすく、何レベルのキャラならクリアできるか予想できます。例えば、「推奨レベル70以上。30分でクリアできるクエスト。」と表示があると、どれくらい大変か想像しやすいです。

クリアまでの時間がわかると、計画を立てやすくなります。

Small

ユーザーストーリーは、小さくあるべきです。

例えば、ゲームのステージが大きく8つに別れており、さらに各ステージが4つの小さなステージに分かれています。この場合、最小単位のステージを10分でクリアできたとします。しかし、ステージが分かれてない場合、10分 * 4 * 8 = 320分となってしまい、ゲームをクリアまでの難易度が上がります。

チェックポイントを設けることにより、達成感も上がります。

Testable

ユーザーストーリーは、テスト可能な形で記述されているべきです。

これは、「クエストの達成条件が具体的で、誰がやってもクリアがわかるようにする」ということです。曖昧な目標だと達成したかどうかがわかりにくくなり、テストが難しくなるのです。

例えば、クエストのクリア条件が「敵をたくさん倒す」だと、どのモンスターを何体倒せば良いのかわかりません。スライムを100体倒すのか、カメを10匹踏みつけるのか、雄のドラゴン1体と雌のドラゴン1体(計2体)を討伐すれば良いのかを明確にすることです。

そもそもユーザーストーリーとは?

ユーザーの視点で「何を実現したいか」をシンプルに表現した短い文章です。

一般的なフォーマットは

「○○として、△△ができるようにしたい。なぜなら□□だから。」

です。

○○ は「ユーザーの役割(誰が)」、△△ は「実現したい機能(何を)」、□□ は「その理由や目的(なぜ)」。

これを具体的に落とし込んでみましょう。

「私は、年末ジャンボに当選したい。なぜならお金が欲しいからだ」

タイトルとURLをコピーしました