ユーザーストーリーとは
ユーザーストーリーとは、システム開発の際にエンドユーザーの視点で要件を定義することです。ソフトウェアの一機能において、ユーザーが何を求めているか、それによりどのような目的を果たせるか、できるだけわかりやすい言葉でまとめます。また、ユーザーストーリーは、プロダクトオーナーやマネージャーによって作成されるのが一般的です。
ユーザーストーリーのテンプレートと具体例は以下のとおりです。
ユーザーストーリーは、「誰の立場に立って、目的を達成したいのか」、また「それはどのような課題があり、どのような目的のために必要なのか」をできるだけ細分化して作成します。例えば、ペルソナ(ターゲット)を店の顧客に設定した場合、次のようなユーザーストーリーが考えられます。
- ■誰が:購入頻度の高いA店の顧客
- ■何をしたいか:スマホ決済したい
- ■理由:手ぶらで立ち寄ったときに気軽に商品を購入できない
- ■効果:財布を持ち歩かなくて済む
ユーザーストーリーを作成するメリット
ユーザーストーリーを作成するとどのような効果が得られるでしょうか。詳しく解説します。
開発の共同作業を推進できる
明確なユーザーストーリーは、共同作業を円滑にします。通常、システムの開発にはクライアント・ステークホルダー・プログラマーなど、複数名が参加しています。開発を適切に進めるためには、システム開発に参加しているメンバー全員が、ひとつのゴールに向かって足並みを揃える必要があるでしょう。
またユーザーストーリーでは、情報を「知っていること」ではなく「理解していること」が重視されます。お互いが目的や開発内容を理解していれば、チームワークを活かした開発ができるでしょう。この共通理解ができていないと、システム開発の方向性がバラバラになるため、団結した開発を進めるのは困難です。
機能の過剰搭載や開発の行き詰まりを防止できる
ユーザーストーリーの大きな役割に、「リスク管理」があります。仕様変更に対応しやすいアジャイル開発では、度重なる変更により機能が増え過ぎたり、全体のデザインが決まらなかったりすることがあるでしょう。そのため、ユーザーが求めているものとはかけ離れたものを作成する恐れがあります。
しかし、ユーザーストーリーを作成しておけば、変更・追加する機能の必要性を判断するときに役立ちます。一方で適切なユーザーストーリーがない場合や、無視して開発してしまった場合は、ユーザーが求めるものから離れる可能性もあるでしょう。
ユーザーストーリーにおける書き方のポイント
ここからはユーザーストーリーの書き方について、注意点を紹介します。
3Cを意識して作成する
ユーザーストーリーの特徴として、3つのCがあげられます。それは「Card(カード)」「Conversation(対話)」「Confirmation(確認)」です。
- Card
- ユーザーの要求内容など、ストーリーの要素を付箋紙やカードに書く
- Conversation
- ストーリーの背景など、カードに書かれていない部分は対話して引き出す
- Confirmation
- ストーリーごとにテストし、正しく実装されているかを確認する
ユーザーストーリーの原則に従ってストーリーを書き出す
ストーリーを記述する際のガイドラインとして、「INVEST」と呼ばれるものがあります。これは、Bill Wake氏によって作成されたアジャイルソフトウェア開発プロジェクトの原則です。
- 【Independent】独立している
- それぞれが重複のないよう独立したものであること
- 【Negotiable】交渉可能なものである
- ユーザーと開発者間で、話し合い交渉しながら作成すること
- 【Valuable】価値を見いだせるものである
- ユーザーにとって価値あるものが記されていること
- 【Estimable】見積可能なものである
- ユーザーがスケジュールを立てたり、優先順位を付けたりできるものであること
- 【Small】小さいものである
- 把握しやすく正確な見積もりできるサイズ感であること
- 【Testable】テストできるものである
- ユーザーストーリーが達成されているかどうか、チェックすること
ユーザーの視点を意識して、ITの専門用語を多用せず、シンプルでわかりやすい文章を書くように心がけましょう。
参考:INVEST in Good Stories, and SMART Tasks - XP123
\ 開発ツール の製品を調べて比較 /
製品をまとめて資料請求!
資料請求フォームはこちら
ユーザーストーリーマッピングとは
より効率よくシステム開発を進めるためには、ユーザーストーリーマッピングの活用が有効です。ユーザーストーリーマッピングとは、ユーザーストーリーを付箋紙などに書き出して、時系列と優先度に沿ってマッピングする手法です。
ユーザーストーリーマッピングの活用により、開発順序を適切に定められ、メンバーにも情報を共有しやすくなります。また、ユーザーストーリーの全体像を把握するのに役立つほか、機能の改善箇所の特定にも便利です。さらに二次元の表に落とし込むことで、計画の正確性がアップするでしょう。
ユーザーストーリーマッピングの流れ
最後に、どのようにしてユーザーストーリーをマッピングしていくのか、流れを見ていきましょう。
1.ユーザーの行動をピックアップする
まずはユーザーストーリーを元に、必要な情報を付箋などに書き込みます。また、同時にユーザーがどのような行動を取るかを明確にしてください。クライアントの行動を分析することで、より正確なニーズを把握できるでしょう。
さらにユーザーの行動も「大まかな行動」と「詳細の行動」に分類し、付箋の色を変えるのがおすすめです。また、分類することによって、ユーザーの行動の流れを把握できるようにしてください。
2.行動を整理して機能案をリストアップする
ピックアップしたユーザーの行動の中から、プロジェクトに必要な機能をリストアップします。あらかじめユーザーの行動を把握しておけば、必須の機能と実用的な機能を開発できるでしょう。
さらにピックアップした機能を近い内容でグループ分けし、深掘りすることでより品質が向上します。
3.機能案の優先順位づけをする
ユーザーの行動・必要な機能をリストアップしたら、最後に実装する機能の優先順位をつけます。
実際にリストアップした機能をすべて実現しようとしても、スケジュールや予算を考えると現実的ではありません。このときのポイントは、ユーザーの行動を「動詞」で表現することです。
動詞でシンプルに表現すれば、整理しやすいだけでなく必要な機能を決めやすいでしょう。例えば顧客が商品を購入するシステムであれば、「選ぶ」「購入する」「情報を入力する」といった行動ベースで考えるのがポイントです。
最終的に、時系列と優先度をまとめてユーザーストーリーマッピングは完成します。
ユーザーストーリーを活用して開発を成功させよう
ユーザーストーリーはニーズを把握し、適切に開発を進めるために必要なものです。またユーザーストーリーは、開発の共同作業を円滑に進められるため、機能過多や開発の行き詰まりを防止できます。さらにユーザーストーリーマッピングを作成することで、全体像を把握し情報共有しやすくなります。ユーザーストーリーマッピングを有効活用して、開発を効果的に進めましょう。