多くの企業がソフト開発に力を入れている昨今、よりスピーディにプロジェクトを進めるためにアジャイル開発が導入されています。アジャイル開発のスクラムで主に利用されているユーザーストーリーの概要や書き方、おすすめのテンプレートなどを解説します。【開発チームを探すならテックユニット】月額契約で貴社専属の開発チームをご用意し、スプリントレトロスペクティブを含めてプロジェクトを推進します。従来の開発スタイル(一括請負)の課題を解決し、テック部門をすぐに設立できるテックユニットで、新しいプロジェクトから既存システムの改修まで対応できます。テックユニットは、下記のような方におすすめできるサービスです。お気軽にご相談ください。・開発リソースの確保に困っている方・企業の新規事業ご担当者様・保守運用を移管したい方・開発の引き継ぎを依頼したい方>>テックユニット(月額制アジャイル開発)の詳細はこちらユーザーストーリーの用語解説ユーザーストーリーについて、以下の2つの用語から解説します。ユーザーストーリーユーザーストーリーマッピングユーザーストーリーとはユーザーストーリーとは、開発においてソフトウェア機能が叶えるべき経験・体験を「誰が・どういう目的で・何をしたいのか」と簡潔に文章で表したものを指します。一般に1文で表されることが多く、ソフトウェアの機能をわかりやすく平易な言葉で説明し、ソフトウェアの機能が顧客にどのように価値を提供するかを示します。システム開発の中でも、とくに小さなサイクルで行程を繰り返すアジャイル開発は全体像が見えづらく、ユーザーストーリーが欠かせません。ユーザーストーリーとユースケースの違いユーザーストーリーと似たような言葉で、ユースケースがあります。ユースケースは、ユーザーとのシステムのやり取りの要件定義を指し、分析、設計といったプロセスが続きます。一方ユーザーストーリーは要件ではありませんから、ユーザーが何をしたいかに焦点を当てます。ユーザーストーリー作成後は、ユーザーとプログラマの会話というプロセスを経て、詳細が決まっていきます。ユーザーストーリーマッピングとはユーザーストーリーを時系列に、優先順位順に配置したものをユーザーストーリーマップといい、ユーザーストーリーマップを書く手法をユーザーストーリーマッピングと言います。ユーザーストーリーマッピングは、ユーザーストーリーを付箋紙などに書き出して、時系列と優先度に沿ってマッピングします。ユーザーストーリーマッピングの活用により、開発の優先順序を適切に定められ、開発メンバーにも情報を共有しやすくなるでしょう。ユーザーストーリーマッピングとカスタマージャーニーの違いユーザーストーリーマップと同じく、ユーザーの行動を視覚化する手法として、カスタマージャーニーマップも挙げられます。カスタマージャーニーマップは、ユーザーが商品やサービスを購入するプロセスを思考や感情も踏まえて分析するため、適切なアプローチには欠かせません。ユーザーストーリーマップは、提供する機能の価値や開発の優先順位を整理するのに使われるのに対し、カスタマージャーニーはユーザーの行動を想定したうえで、機能のポイントを洗い出します。ユーザーストーリーマッピングが必要な理由ユーザーストーリーマッピングが必要な理由として、以下4つが挙げられます。開発スタッフの認識齟齬を回避できるプロダクトの目的・価値が可視化できる必要な機能・要件を判断できる開発の優先順位を定めやすくなるcvcv開発スタッフの認識齟齬を回避できる通常、システムの開発には複数名がかかわっており、開発を適切に進めるためには、明確な目標への共同理解が欠かせません。ユーザーストーリーマッピングは、ユーザーの行動を軸に、プロダクトが実現したい・実現すべき価値を時系列・優先順位順にわかりやすく可視化します。そのため、ユーザーストーリーでの目標の可視化で、お互いに目的や開発内容を理解していれば、開発スタッフの認識齟齬を回避できるでしょう。プロダクトの目的・価値が可視化できるユーザーストーリーマッピングでは、プロダクトの目的・価値が可視化できます。ユーザーの行動とプロダクトの価値を視覚的に整理することで、開発スタッフの方向性も定まり、ユーザーにプロダクトの価値をよりわかりやすく伝えられるでしょう。必要な機能・要件を判断できるユーザーストーリーマッピングによりプロダクトの可視化をすることで、顧客が本当に求めている機能や要件を判断しやすくなります。仕様変更に対応しやすいアジャイル開発では、度重なる変更・追加などで、完成品がユーザーの求めるものと異なってしまう場合も少なくありません。ユーザーストーリーを作成することで、変更・追加する機能の必要性の判断に大いに役立つでしょう。開発の優先順位を定めやすくなるまた、ユーザーストーリーマップは、プロダクトの可視化をし、提供すべきプロダクトの開発優先順位を定めやすくします。開発の全体像が把握しやすくなるため、何が最低限必要なのかを見極めやすくなるでしょう。特にユーザーストーリーが必要なシーン特にユーザーストーリーが必要なシーンとして、以下の3つの場合が挙げられます。アジャイル開発をする場合作業や課題が多くプロダクトバックログが必要な場合エンジニアとステークホルダーの認識に齟齬がある場合アジャイル開発をする場合アジャイル開発において、多くは詳細なスケジュールを決めません。そのため、短い開発サイクルを繰り返している間に全体像が見えづらくなり、開発の軸がずれたり、スケジュールのコントロールが難しくなることが多々あります。ユーザーストーリーは、スケジュールを明確にし、開発側の都合に引きずられず、顧客の視点を維持しながら開発を進めるために必要です。作業や課題が多くプロダクトバックログが必要な場合また、開発に携わっていると手数が多く、プロダクトバックログを必要とすることも多いです。しかし、作業や課題に優先順位がつけられず、工数が少ない・売上インパクトの高い・人件費が削れるものから着手し、ユーザー目線から逸れることも少なくありません。その場合、ユーザーストーリーを使用し、ユーザーが求めているものを常に追求することで、着手すべき優先順位を明確にできます。1か月や3か月など、固定の期間を設けてユーザーストーリーの見直しを行い、常に優先順位の把握に努めるのがおすすめです。【関連記事】プロダクトバックログとは|アジャイル開発に欠かせない役割や作成方法を解説エンジニアとステークホルダーの認識に齟齬がある場合要件定義書などをきちんと書いていても、開発サイクルを繰り返しているエンジニアは、プロダクト・サービスのゴールや機能の目的などが不明瞭になることが少なくありません。エンジニアとステークホルダーの認識に齟齬を生まないために、目的やゴールの共有を小さい単位でできるユーザーストーリーを使いましょう。プロダクトの可視化がされれば、開発チームのベクトルが同じ向きになり、メンバーそれぞれが課題を理解し、実装と検証ができます。ユーザーストーリーマッピングに必要な事前知識ユーザーストーリーマッピングに必要な事前知識として、以下の3つが挙げられます。3Cテンプレート原則3Cユーザーストーリーは、以下の3つの「C」に注意して作成します。・Card(カード):ユーザーの要求内容などのユーザーストーリーの要素を、カードまたは付箋などに書く・Conversation(会話):ストーリーの背景などの詳細は、顧客との会話を通じて引き出す・Confirmation(確認):ストーリーごとにテストし、顧客との認識に違いがないか、正しく実装されているかを確認するテンプレート上記のCardに記載されるテンプレートとして、次のものが提唱されています。“As a <who>, I want <what> so that <why>”この文章を日本語訳すると、以下のようになります。「<だれ>として、<何か>を達成したい。それは<理由>だからだ」例として言葉をあてはめてみると、「顧客として、オンライン上で服を購入したい。それは店に行く時間がないからだ」というユーザーストーリーが生まれます。原則ユーザーストーリーを記述する際のガイドラインとして、Bill Wake氏によって作成されたアジャイルソフトウェア開発プロジェクトの原則があります。頭文字をとって、「INVEST」と呼ばれています。・Independent(独立している):それぞれ独立して重複しないものであること・Negotiable(交渉可能なものである):ユーザーと開発者によって話し合い交渉しながら作成すること・Valuable(価値がある):ユーザーにとって価値が記されていること・Estimable(見積もりができる):ユーザーがスケジュールを立てたり、優先順位をつけられること・Small(小さい):把握がしやすく、正確な見積もりができるサイズ感であること・Testable(テストできる):ユーザーストーリーが達成できているのか、確認できることユーザーストーリーマッピングの書き方ユーザーストーリーマッピングの書き方として、以下の流れが一般的です。ペルソナを決定する必要な機能・プロダクトを検討するMVP・開発の優先順位を決めるペルソナ(ターゲット)を決定するまずは、ペルソナを設定します。ペルソナとは、製品やサービスを実際に利用する顧客をイメージしたユーザー像です。より効果的にユーザーストーリーマッピングを進めたい場合は、顧客となるユーザーの性別や年齢・趣味・行動・生活スタイル・思考など細かく洗い出し、より具体的な人物像の設定をしておきましょう。ペルソナとして設定したユーザーの大まかな行動・詳細の行動、そのときの感情などを時系列に書き出して並べていきます。必要な機能・プロダクトを検討するユーザーの行動の中から、必要な機能やプロダクトをマッピングしていきます。ユーザーの各行動に対してのプロダクトの価値や提供したい価値などを、自由に書き出しましょう。ピックアップした機能を近い内容でグループ分けし、深掘りすることでより品質が向上します。MVP・開発の優先順位を決めるユーザーの行動・必要な機能をリストアップしたら、最後に実装する機能の優先順位をつけるため、ユーザーにもたらすべき価値をあらためて議論します。実際にリストアップした機能をすべて実現しようとしても、スケジュールや予算を考えると現実的ではありません。「顧客や市場の反応を得るために最低限必要なものはなにか」という視点で、開発の優先順位や初回リリース時点で最低限必要な機能(MVP)を決めましょう。たとえば、顧客が商品を購入するシステムであれば、「選ぶ」「購入する」「情報を入力する」といった行動ベースでとらえるのがポイントです。ユーザーストーリーマッピングは、詳細な要件定義やタスク設計までをカバーできるものではないため、それをベースに要件定義や設計を行っていきます。ユーザーストーリーマッピングにおすすめのテンプレートユーザーストーリーマッピングにおすすめのテンプレートを、以下の表にまとめました。Lucidspark無制限のキャンバスが活用できるため、アイデアやタスクの書きとめ、要件のレビュー、実装可能な機能のブレインストーミングなどを一元的に実行可能miroオンラインホワイトボード1つでリアルタイムのコラボレーションがいつでもどこでも可能smartsheetExcelのユーザーストーリーマッピングテンプレートまとめユーザーストーリーはニーズを把握することで、機能過多や開発の行き詰まりを防止し、適切に開発を進める重要なツールです。また、開発に関わる人の共通認識を構築する上でも欠かせません。ユーザーストーリーマッピングを有効活用して、開発をより効果的に進めましょう。なお、開発チームの用意が間に合わない、アジャイル開発で構築したいものがあるといったご相談はぜひお気軽にお問い合わせください。