我流な要件定義概説(2)

さて二回目です。要件は実装しなければならない項目、と書きました。

じゃあそれを、何をよりどころにして紡ぎだすか。これはユーザが何をしたいかによります。何のために”やりたい”のでしょう。この”何のために”を目的と言います。

順繰りにつなげると「〜〜のために、〜〜をしたいから、〜〜を実装する」。すなわち、目的、要求、要件という構造がここで見えます。要件は要求に繋がり(例外がありますが後述)、要求は目的に依存します。僕らシステム屋が登場するのは最後の段です。すなわち、抽象的な「〜〜したい」をシステム屋の観点から具体的な実装項目に落とし込むのが要件定義です。

このような関係がゆえにシステム屋には要求仕様が渡されます。この構造を具体的にみてみましょう。下記では、とある会員制ショッピングサイトを作るという仮定で、簡易なものを書いてみます。

  • 当社商品の新たな販路を開拓するため(目的)
    • 信販売での会員制ショッピングサイトを構築したい(要求)
      • 会員登録ができること
      • 退会ができること
      • ショッピングカート機能が利用できること
      • ショッピングカートには複数の商品を登録できること
      • etc...

見通すと、目的を頂点としたツリー構造のようになっています。見てわかるとおり、システム屋が通常触れるのは要求からです。その下に紐づく三段目が要件となります。これが要件定義の構造です。目的・要求までがユーザの仕事の範囲で、要件・実装がシステム屋の範囲です。実際の仕事となるとそう綺麗にはいかない訳ですが(笑)、基本はそうなります。

上記は簡易なものなので、目的・要求ともに一つづつしか書かれていませんが普通は多数でてきます。各要求をそれぞれすべて満たす要件を洗い出さなければなりません。要件は、要求を満たしたと言える必要があります。

では次に必要になるのは、何をもって要求を満たしたと言えるかです。この部分は次回以降で。