「入力」はあとで見直す必要がある

これで要件定義の基礎となる入力・出力・演算の3点セットが出来上がり……と言いたいところですが、実際に行なってみると、演算を考えるうちに、もっと入力項目が必要なことに気づいた、などということが頻繁にあります。

冒頭の業務フロー図を見ると、この業務への入力は「納期検討指示」であり、当然、製品名と個数は必要だということは最初からわかっています。しかし、演算の中を見ると、「部品の在庫数/不足数」や生産ラインの空き状況、そして生産するのに必要な日数が不足していることに気づきます。

これらは「出力」や「演算」でも起き得ることですが、特に「入力」については、「演算」を考えるうちに思いつくことが多いため、しっかりと見直す必要があるのです。

よく考えると、先ほどの「納期検討の指示」「製品名」「個数」だけでは不十分だとわかります。
たとえば、「どの製品がいくつ必要なのか?」についても検討が必要でしょう。
それ以外にも、「部品の在庫がいくつあるのか?」「部品がいくつ足りないのか?」という情報も必要です。
そして、「足りない部品を発注したとき、入荷までにどれくらい日数がかかるか?」も必要でしょう。
さらには、「部品がそろったあとで組み立てるのに何日かかるのか?」も把握しておく必要がありそうです。

以上を反映した業務要件定義は、おおよそ次のような形になります。

【入力】
・納期検討の指示
・製品名
・個数
・必要部品
・部品ごとの必要数量
・部品ごとの在庫数/不足数
・部品ごとの入荷までの日数
・ラインの空き状況


【演算】
1:入力情報である「製品名」と「数量」から必要な部品名と数量を計算する
2:必要な部品の在庫数を調べて不足部品数を計算する
3:(1) もし不足部品がなければ「4」へ
  (2) 不足部品があれば部品入荷の日付を調べる
4:部品が揃う日付の後で、生産ラインが最も早く使用できる日付を調べる
5:生産に必要な日数を調べる
6:「4」の結果に「5」の結果を足して納期とする
7:製品名(1より)と数量(1より)、納期(6より)を出力する


【出力】
・製品名
・個数
・納期

          
今回は、業務要件定義の「幹」となる入力、出力、演算についてご説明しました。

業務要件定義には、これ以外にも、いくつか決めなければならないことが残っていますので、次回以降、順次お話ししていきたいと思います。

※本連載は、誰も教えてくれない「システム開発における発注者側の役割」と「成功のポイント」をストーリー形式でまとめた『システムを「外注」するときに読む本』と一緒にお読みいただくことで、学習効果が倍増する構成になっています。ITベンダーに発注する前に、最低限の知識を得て、トラブルを回避してプロジェクトを成功させるために、是非ご一読されることをおすすめします。