bekkou68 の日記

Gogengo! や IT 技術など。

松竹梅の要件定義

『松竹梅の要件定義』とは

『松竹梅の要件定義』とは、要件がふわっとしていてブレ幅が大きそうな時に、いい感じに調整して合意したい時によく使っているプロセスです。プロセスの全体像をざっと説明すると、ストーリーを細分化して、実現案を複数パターン考えて、ビジネスレイヤーと開発レイヤーとの期待値を調整して決定へとたどり着くものとなっています。

次に、具体的に三つのステップで流れを書きます。

ステップ 1. ストーリーを細分化する

たとえば「ユーザーがチャットをできる」というストーリーを実現したいとします。このストーリーは漠然としています。なぜなら、ただ単に「ユーザーがチャットをできる」といっても具体的な内容がわからないからです。文章だけでチャットができればいいのか、絵文字も使いたいのか、写真や音声も共有したいのかがわかりません。ですのでもう少しストーリーを細分化してみましょう。機能とデザインの観点を分けて洗い出してみます。できればチームで話し合って洗い出すと、潜在する要件が出てきたりしてよいかと思います。チームで話し合って洗い出すのが難しそうなら、まずは一人で洗い出したものをベースに話し合ってみるとよさそうです。

機能の観点:

  • ユーザーがチャットで文章を共有できる。
  • ユーザーがチャットで絵文字を共有できる。
  • ユーザーがチャットで写真を共有できる。
  • ユーザーがチャットで音声を共有できる。

デザインの観点:

  • ユーザーがチャット中に最低限のデザインを体験できる。
  • ユーザーがチャット中にそこそこ洗練されたデザインを体験できる。
  • ユーザーがチャット中に洗練されたデザインを体験できる。

話し合った結果、上記のように、機能の観点で 4 点とデザインの観点で 2 点が考え出されました。先ほどの「ユーザーがチャットをできる」というストーリーとだけと比べると、多少なり詳しくイメージができるようになりました。次のステップでそれぞれを組み合わせて、実現できることや見積もりを考えます。

※要件によっては、アニメーションの観点など別の観点が出てくるかもしれません。

ステップ 2. 松竹梅の実現案を考える

それぞれの観点を組み合わせて、松竹梅の実現案を考えます。梅は小さめの実現案で、松は大きめの実現案です。ワイヤーフレームを描きながら話し合うとイメージがわきやすいです。

梅: 5 ポイント

実現できること: ベータ版として公開できるチャットを実現できる。

  • ユーザーがチャットで文章を共有できる。
  • ユーザーがチャット中に最低限のデザインを体験できる。

竹: 10 ポイント

実現できること: 一般公開できるチャットを実現できる。

  • ユーザーがチャットで文章を共有できる。
  • ユーザーがチャットで絵文字を共有できる。
  • ユーザーがチャット中にそこそこ洗練されたデザインを体験できる。

松: 50 ポイント

実現できること: 一般公開でき、かつ、プレスリリースを打てるチャットを実現できる。

  • ユーザーがチャットで文章を共有できる。
  • ユーザーがチャットで絵文字を使える。
  • ユーザーがチャットで写真を共有できる。
  • ユーザーがチャットで音声を共有できる。
  • ユーザーがチャット中に洗練されたデザインを体験できる。

※ここでは見積もりは相対的なポイントにしていますが、議論がしやすいのであれば絶対的な日数でもかまいません。

次のステップへ

松竹梅、三つの実現案が出てきました。これをもとに次のステップでどの実現案にするかを話し合います。なお、必ずしも三つの実現案を考える必要はありません。二つの時があれば、五つの時があってもいいです。極端に大きい実現案と、極端に小さい実現案を考え出して比較してみると、意外な発見があるかもしれません。

蛇足ですが、お店によっては松が小さく梅が大きいといったような、逆の場合もあります。お好みで順序は変えてください。また、松竹梅という表現がしっくりこない時はてきぎ変えてください。レベルやランクといった表現でもよさそうです。ステップ 2 で大事なことは、実現する方法はいくつかあることを洗い出して比較できる土台をつくることです。

ステップ 3. どの実現案にするかを決める

三つの実現案を考えることができました。ここから先は、予算、スコープ、時間、質などの兼ね合いを考慮してチームで話し合いましょう。チャットが補助的な機能で、雑でもいいからまずは試しに使ってもらいたいのであれば「梅」でよいのかもしれません。予算がふんだんにあり、チャットがメインとなるサービスなら「松」がよいのかもしれません。時間軸で考えると、一か月後までに「梅」、二ヶ月後までに「竹」、半年後までにはメンバーを増やして「松」まで公開しよう、という決め方もあるかもしれません。話し合いの流れによっては、「竹」と「松」の中間の実現案が生まれるかもしれません。

チームとして納得のいく実現案にたどり着くまで話し合います。話し合いの流れや合意した事項は Wiki などの情報共有ツールなどに残します。そうすることで、「言った言わない」や「あれどうなってたっけ」を減らします。文書はなるべく一元化してどこにあったかわからなくならないようにします。ビジネスや仕様などの状況が変わったら、文書は随時更新します。