2013/04/22

[アジャイル]ユーザーストーリーを集める

アジャイルサムライ(要約) その6

1.文書化の難しさ

ソフトウェアプロジェクトにおいて重厚な文書化が要求を捉える手段として機能する事はない。ものすごい時間とエネルギーが文書化のために費やされるが、何を成し遂げるかではなく、何を文書に書くべきかということに費やされてしまう。 また文書に頼りすぎる弊害はこれだけに留まらず以下の例にも当てはまる。
  • 変化に対処できない
  • 顧客の欲しいものに合わせるのではなく仕様に合わせて作る事になる
  • 下手な憶測や誤った前提を招き寄せる
  • 多くの時間を無駄にする
アジャイル開発の原則として、文書に頼りすぎてはならず、最も効果的な方法はフェイストゥフェイスで話をすること。

2.ユーザーストーリー

ユーザーストーリーは、顧客が実現したい事項をインデックスカード等に簡潔に記述する。 これらは後で顧客と話をするために思い出すためのキーワードなど必要最低限に留める。まだ思いついたばかりの時点では本当に必要かわからない為、時間とエネルギーを節約する。 ユーザーストーリーは会話の約束だと考える。

3.ユーザーストーリーの書き方

よく書けているユーザーストーリーは、顧客にとって何かしらの価値(Valuable)がかかれており、ビジネスの観点から評価できるようにする(技術用語は避ける)
またエンドツーエンドを意識し(解決策を土台から3分の1だけ渡されても嬉しくない)、アーキテクチャのすべてのレイヤを貫いて顧客にとって価値のある成果を届けるようにする。
これら以外でも以下の事項を意識して作成を心がける
独立している(Independent
他のユーザーストーリーと密接に絡み合わず、できる限り独立するよう心がける(必要に応じてスコープを柔軟に調整できるようにするため)
交渉の余地がある(Negotiable
ストーリーの実現手段はさまざまである。車で例えればホンダのアコードか。やろうと思えばポルシェ911級に仕上げる事もできる。予算の範囲内に収まるよう融通が利くようにできる。
テストできる(Testable
ストーリー毎にテストできることで開発チームの完了基準が明確となる
小さい、見積もれる(SmallEstimatable
ストーリーを小さくしておけば、1週間といったイテレーションの範囲に収まりそうか確実に分かる。またそれくらいのサイズならば自信を持って見積もることもできる。
以上の6つの特徴を表す便利な略語として、英単語の頭文字を取ってINVESTと呼ぶ。

ユーザーストーリーの中には「サクサク表示」とか「デザインをかっこよく」とか抽象的なストーリーもある。これらの類は「制約」と見なして通常のストーリーとは区別しておくと良い。

ユーザーストーリーのテンプレートとして、
誰のためのストーリーで何をしたいのかなぜそうしたいのか
3つの大事な疑問に答えることで、コンテキストを明確にしビジネス視点に集中できる

4.ストーリー収集ワークショップの開催

ゴールとしてはユーザーストーリーを幅広く集める事。なるべく多くの事柄を議論の俎上にのせて全体像を掴む。
インセプションデッキのやらないことリストを確認しながら、以下のステップを踏む事で有意義なワークショップにすることができる。
1.大きくて見通しの良い部屋を用意する
部屋には描いた図を張り出せる壁や、カードを並べておける大きなテーブルもあると良い。
2.図をたくさん描く
ペルソナ、フローチャート、シナリオ、システム概要図、プロセスフロー、コンセプトデザイン、絵コンテ、ペーパープロトタイプ、独自の絵など粗い粒度であまり詳細に立ち入らないように注意する。 システムがどんな風に動かねばならないかを理解する事目的とする
3.ユーザーストーリーをたくさん書く
顧客と一緒にユーザーストーリーを抽出する。小さくて具体的なエンドツーエンドの機能にすることを心がける。ただし大きなストーリー(エピック)も他のストーリーとし同じように扱う。
4.その他ブレスト
図では描けないようなデータ移行、負荷テストトレーニング教材などプロジェクトに必要なすべてをカードに書きとめておく。いずれも他のストーリーと同じように優先順位をつける。インセプションデッキのご近所さんを探すなどこのタイミングで見返す。
5.リストを磨き上げる
漏れなくダブりなくストーリーを収集できているか。グループ分けできそうなストーリーはないか。顧客に価値のあるシンプルでわかりやすいToDoリストになっているか確認する。
・INDEX
アジャイルサムライ(要約)その1「ざっくり分かるアジャイル開発」
アジャイルサムライ(要約)その2「アジャイルチームのあり方」
アジャイルサムライ(要約)その3「プロジェクトの方向づけ(開始時に実施すること①)」
アジャイルサムライ(要約)その4「全体像をとらえる(開始時に実施すること②)」
アジャイルサムライ(要約)その5「具現化させる(開始時に実施すること③)」
アジャイルサムライ(要約)その6「ユーザーストーリーを集める」
アジャイルサムライ(要約)その7「見積り:当てずっぽうの奥義」
アジャイルサムライ(要約)その8「アジャイルな計画作り:現実と向き合う」
アジャイルサムライ(要約)その9「イテレーションの運営:実現させる」
アジャイルサムライ(要約)その10「アジャイルな意思疎通の作戦」
アジャイルサムライ(要約)その11「現場の状況を目に見えるようにする」

2 件のコメント:

  1. とてもわかりやすかったです!
    どうでもいいことですが、「3.ユーザーストーリーの書き方」のValueableはValuableだと思います!
    ありがとうございました!

    返信削除
    返信
    1. ご指摘、ありがとうございます!こちら修正させて頂きました!

      削除