進捗
JSTQB ALTAの学習ですが、ISTQBの講座を受講しています。今日は1章から6章までの小テストを実施していました。結果は正解率50%以下。これは非常によろしくないです。今週の試験を延期してよかったです。演習問題はまだ受けていないので、明日、挑戦してみます。
ユーザーストーリーの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体)を討伐すれば良いのかを明確にすることです。
そもそもユーザーストーリーとは?
ユーザーの視点で「何を実現したいか」をシンプルに表現した短い文章です。
一般的なフォーマットは
「○○として、△△ができるようにしたい。なぜなら□□だから。」
です。
○○ は「ユーザーの役割(誰が)」、△△ は「実現したい機能(何を)」、□□ は「その理由や目的(なぜ)」。
これを具体的に落とし込んでみましょう。
「私は、年末ジャンボに当選したい。なぜならお金が欲しいからだ」