アジャイル開発の要件定義どうやって進める?(2)

アジャイル開発の要件定義では、各工程を区切る開発手法(例:ウォーターフォール)とは異なるアプローチが必要です。本記事は、アジャイル開発における効果的な要件定義のプロセスの2番目について解説します。

要件の具体化

プロダクトが提供する価値の全体像(どんなユーザーに、どんな機能を使ってもらうのか)がイメージしたのち、要件をより具体的に定義していきます。

ユーザーストーリー

ユーザーストーリーは、エンドユーザーの視点から機能や要件を簡潔に記述したものです。一般的に以下の形式で書かれます。

[ユーザー]として、[何]を実現したい。それは[こんな理由]のためだ。
 ‐ “As a [type of user], I want [to be able to perform an action] so that [a goal is achieved].”

例えば、アスリート向けの健康管理アプリなら、このようなアウトプットになります。

  • アスリートとして、身長と体重の情報を記録したい。それは、健康状態を分析・トラックしたいからだ。
  • アスリートとして、身長の体重遷移を参照したい。それは、改善結果を確認したいからだ。
  • アスリートとして、運動目標を登録したい。それは、達成すべきゴールをアプリで確認したいからだ。

※ユーザーストーリーについてさらに詳しく知りたい方は、こちらの記事を参照下さい。

ユーザーストーリー作成のゴール

私たちはすでに「プロダクトが提供する価値の全体像」を事前に把握しているので、ここでユーザーストーリーを記述するゴールは、対象範囲をもれなくユーザーストーリーに落とし込むこと。になります。

具体的な例として、対象のユースケースがこれだとします。

まずは上記の楕円オブジェクトで記載されている「動作」9つをユーザーストーリーに落とします。顧客は~、CS担当者は~、発送担当者は~、という具合です。

それと同時に、その「動作」前後でユーザーに提供できる価値が無いか?も確認します。

例えば、「商品について質問する」という動作について、質問する前にFAQがあれば参照したいでしょうし、質問した内容にCS担当者から返信があったら通知が欲しいですよね。

繰り返しになりますが、前工程で行ったのはあくまで”ざっくり”とした要件定義でしたので、そこで明示されていなくても具体的な要件に挙がってきそうなものは洗い出しておきましょう。

対象範囲を漏れなく、というのはこのように、メインストリームに対して脇役になるような要件もふくめて漏れなく、というのをゴールに置くことを意識しましょう。

ストーリーマップ

ストーリーマップは、ユーザーストーリーを全体像が把握できるよう配置し、優先度を定義するためのツールです。(ストーリーマップを作成する作業のことをストーリーマッピング、と言います。)

横軸は左から右にユーザー行動の流れ(プロセス)通りに並べ、縦軸は上から下に優先度順に、ユーザーストーリーを配置します。

アウトプットは以下のような形式になります。

上記、黄色カードで記載したユーザーストーリーより上に、いくつかカードが追加されています。バックボーン、エビック、ユーザーアクティビティ、ときにはタスク、と言った呼び名がありますが、これらは

ユーザー行動を軸に、ユーザーストーリーをカテゴライズする見出し

です。見出し1、見出し2を、必要に応じて使いましょう。

ストーリーマップ作成のゴール

丁寧にやろうとすると、ユーザーマッピングから適切にスライスしたり(開発チームのタスクに落とし込むということもあります)、リリース戦略を作成したり、というのも考えられますが。

MVP(Minimum Viable Product)を合意する

ことをゴールとするのはどうでしょうか。これを目指してソフトウェア開発する、というゴールはステークホルダー間で合意すべき最も重要なことですし、ここから先はステークホルダー無しでもある程度意思決定できる状態、が目指せるとよいです。

(途中の要件変更、優先順位の変更は当然受け入れますので、あくまでこの時点での、という位置づけ)

まとめ

アジャイル開発における要件定義のステップ2、要件の具体化について、その方法をご紹介しました。

本記事では、おそらく最も苦労するユーザーストーリーの書き出しについては割愛させて頂きました(すみません)が、要件を具体化するステップとそのゴールについて理解を深めて頂けるとうれしいです。

続きはこちら👇️

PVアクセスランキング にほんブログ村