ユーザーストーリーはソフトウェア開発に用いられる手法です。「誰が、何の目的で、何を実現したいか」を示し、内部メンバーなどに向けて、ソフトウェアの機能や利点を伝えることが目的です。
ユーザーストーリーでは、一連のシステム開発の過程における要求事項を順序立ててまとめます。ソフトウェア開発に用いられる手法はさまざまですが、この記事ではユーザーストーリーに焦点を当て、特徴や実際の作成に役立つポイントについて解説します。併せて、活用しやすい作成方法もご紹介します。
ユーザーストーリーとは
ユーザーストーリーとは、製品やサービスなどのプロダクトのシステムを開発する上で軸となる考え方です。ストーリーは「ペルソナ・結果・ソフトウェアの目標」という短い文章の形で示されることが大半です。また、エンドユーザーの観点に着目するため、専門用語はできるだけ使用せず、一般的な言葉で説明します。ユーザーストーリーを読むことで、「どのような意義で」「どのような仕事で」「どのような価値が得られるか」などを明確に理解できます。
さまざまなシステム開発領域がありますが、その中でもユーザーストーリーは「アジャイル開発」における工程の一つとして位置づけられています。アジャイル開発の特性として、要件定義が行われないケースもあります。。そのため、ユーザーストーリーが代わりとして使用されるのです。なお、アジャイル開発とは、開発過程の状況における変化に柔軟に対応しながら開発を進める開発手法です。
アジャイル開発の詳細やそのほかの開発手法、工程については以下の記事で解説しています。どれも関係性の深い内容なので、こちらも併せてぜひご覧ください。
アジャイル開発とは?特徴やウォーターフォールとの違いなど徹底解説
アジャイル開発とスクラム開発の違いとは?それぞれの開発手法について特徴やメリット、その関係性について解説
スプリントとは?アジャイル開発やスクラムとの関係性、メリットを解説
ユーザーストーリーを作るメリット
ユーザーストーリーの作成には、以下のようなメリットが挙げられます。
- エンドユーザーの課題に対し早期にプロダクトの価値を網羅的に提供できる
- 1つのユーザーストーリーは他のシステム開発にも汎用性がある
- バックログ(今後やりたいこと、やらなければいけないこと)の整理がスムーズで着手すべき課題の順序が明確になる
- 開発チーム内での認識齟齬が生まれにくい
- ユーザーニーズに最適な機能(量)のプロダクトを作れる
- 開発過程の状況変化に対応しやすく、時間や経費の節約になる
ユーザーストーリーの作成方法
ユーザーストーリーの作成には、「ユーザーストーリー・マッピング」という方法が用いられます。この方法は以下の3つの手順で行われ、付箋などに項目を書き出し整理していきます。
ペルソナの作成
まずは、プロダクトにおけるエンドユーザーのペルソナを設定します。適切なペルソナ設定には「誰のためのプロダクトか」「ユーザーが求める機能」「ユーザーの属性や心理特性」という視点が有効です。1つのユーザーストーリーに対し、複数のペルソナが設定されることもあります。
ユーザーニーズの把握
次に、チームがユーザーのニーズを把握するために、ユーザーがプロダクトの利用方法(条件)、または利用する意図(理由)を検討します。意図が明らかになるにつれ、プロダクトに求められる機能や効果、ユーザーのニーズとのすり合わせも明確にできるようになります。
実現したいユーザー体験の決定
仕上げのプロセスは、プロダクトによって実現したい目的を明らかにし、自社の達成したい目標やビジョンとの結びつきを考えます。目的にはユーザーの解決したい課題、得たい価値や成果などが該当します。目的が明らかになることで、プロダクトの品質向上が図れるため、自社との関連という視点からメンバーの帰属意識を高めることにつながります。
ユーザーストーリー作成のポイント
質の高いユーザーストーリーを作成する際に、おさえておきたいポイントとして「3C」と「INVEST」があります。ストーリーを作成する際に、チェックしておくとよいでしょう。
3C
3Cは、「Card」「Conversation」「Confirmation」の3つの要素で構成されています。
ユーザーストーリー・マッピングによってストーリーを作成する場合、ポイントとなる3つのC(3C)が定まっていることで、エンドユーザーと開発側の対話も行いやすくなるでしょう。
・Card(カード)
ユーザーの要求収集のスタートとして、付箋紙などのカードに項目を書き出します。
・Conversation(対話)
描くストーリーの背景像や詳細は、ユーザーとの対話(コミュニケーション)から引き出します。
・Confirmaton(確認)
作成した各ストーリーが実装に対して実現可能かどうかを確認することで、ユーザーストーリーが意義あるものであるかを検討します。
INVEST
「INVEST」は、作成するユーザーストーリーの精度や質を更に高める際に有効です。INVESTは、以下の6つのポイントから成り立ちます。それぞれの内容について確認してみましょう。
・Independent(独立している)
他のストーリーに依存せず、独立(自己完結型)している
・Negotiable(交渉可能である)
ストーリーの内容は議論の余地が残されており、状況に応じて交渉・書き換え・破棄も可能である
・Valuable(価値がある)
ストーリーはステークホルダー(利害関係者)に対して価値を提供できる
・Estimable(見積可能である)
ストーリーのサイズ(規模)は常時見積もり可能である
・Small(小さい)
ストーリーは正確さを担保しうる程度の、1つの反復期間に収まるサイズである
・Testable(テスト可能である)
ストーリーの説明は達成状況を確認(テスト)できるように情報提供する必要がある
まとめ
アジャイル開発における、ユーザーストーリーの意義やメリットについて理解いただけましたでしょうか。ユーザーストーリーは、エンドユーザーの観点を重要視し、ソフトウェアの価値を伝える際に有効な手法です。経済産業省が推進するDXも影響し、アジャイル開発の必要性やユーザーストーリーの手法は注目度を増しています。
なお、弊社が過去に実施した「アジャイル開発のプロジェクト管理手法」セミナー(講師:弊社会長梅田)の講演資料を公開していますので、こちらもぜひご覧ください。
- キーワード: