目次
ITシステムの開発が炎上するわけ
ある日あなたは、素晴らしいビジネスプランが頭にひらめきました、
そのビジネスプランを実現するためにはITシステムが必要です。
しかし調べてみたところ、そのビジネスプランの実現にピッタリなITシステムは世間では販売されていませんでした。
ITシステムがなければ実現しないのならあきらめる?
といってあきらめきれないほど素晴らしいビジネスプラン。。。

その場合、あなたのビジネスを実現するためのITシステムをあらたに開発する。または類似する機能をもつITシステムをカスタマイズする。といったITシステムの開発が必要となります。
しかし、ここに大きな問題がありました。
あなたはITシステム開発については何もしらない、いわばド素人です。どうすればよいでしょうか?
本来ならあなたは自分の本業ビジネスに注力して、ITシステムなどの別分野は専門家に任せて、あなたは最終チェックをするだけというのが一番スムーズです。
しかし、システム開発にお金だけだして放っておいたら、
要件とは全く違うシステムが納品された
バグだらけで使い物にならないシステムが納品された
実際の業務では全然役に立たないシステムが納品された
といった話をよく聞きます。
なぜ、そうなるのでしょうか?
原因や犯人探しをすれば
あの人が悪い。プログラマーの力が足りない。プロジェクトマネージャの力が足りない。そもそもシステムの考え方が悪い。時間が足りない。予算が。。。
と理由はさまざまでしょう。
しかし、システム開発で予定と大きく異なるものができあがる最も大きな要因として、「システム要件が固まっていない」があります。
発注者のあいまいな要件キーワードだけが先行して、関係者がなんとなくこういうものだろう、とだろう意識でシステム要件の話がすすむことです。
システム要件を食事でたとえてみる

システムだと分かりずらいかもしれません。食事で例えてみましょう
発注者の要件:あなたとご飯が食べたい
この発注者が会社の同僚だとしましょう。
多分、この要件を聞いたあなたは、同僚がランチあるいは飲み会のお誘いをしていると想像することでしょう。
実はこれ、普段の生活シーンを想像したあなたが無意識にご飯を同僚とご飯を食べるシーンを想像しているのです。
これをあなたとご飯がたべたい要件定義の視点にあてはめてみましょう
システムの要件定義は想定されるあらゆる条件を抽出して、どのようなシーンでも対応できるように全てカッチリ固めなくてはいけません
例えばこのような形です。
要件1:あなたとご飯を食べる目的は?
栄養摂取、快楽、ミーティング、接待、会合
要件2:あなたとご飯を食べる人数は?
2人、3人、5人、10人以上
要件3:あなたとご飯を食べる人の世代は?
20代~40代
要件4:あなたとご飯を食べる人の性別は?
男・女・その他
要件5:あなたとご飯を食べる時間帯は?
朝食、ランチ、夕飯、深夜
要件6:あなたと食べるご飯のジャンルは?
手料理、ファミレス、和食、中華、イタリアン、フレンチ
要件7:あなたと食べるご飯の価格帯は?
庶民、高級
要件8:あなたとご飯を食べる場所は?
東京、大阪、ニューヨーク、パリ
要件9:条件にはまらない場合は?
リスケジュール、中止
要件を固めることはコストを減らすこと

お気づきですか?
発注者の要件:あなたとご飯が食べたい
このなにげないふわっとした要件にはとてつもない選択肢の幅が含まれているのです。
人間なら、普段の生活シーンを想像してなにげに近所のファミレスでランチミーティングとか選択肢を絞ります。
しかし、要件定義がまとまっていないシステムなら
「栄養摂取の為に10人以上の男女でパリの高級フレンチレストランでランチ」
といった提案をすることも普通に起こるということです。
冗談みたいな話ですが、真面目に実行したら1回のランチミーティングコストは移動時間も24時間くらいかかり、航空券代ホテル代、諸々300万越えでしょう。
時間コストも含めればへたすれば500万以上かもしれません。
食事という分かりやすい例なので、笑い話みたいに聞こえますが実際のシステム開発のプロジェクト現場で、要件がふわっとしているために業務でこのようなことが発生している可能性もありえるのです。
システム要件定義をあやふやにすすめると、本来なら近所ファミレスで2人のランチ代\2,000のコストに達成できる業務に、10人でパリの高級フレンチに行く500万以上のコストをかけている可能性があるのです。
ITシステム開発のプロジェクトが炎上しているとはよく聞く話ですが、炎上の主要な要因とは要件定義をあやふやにしていること、そして炎上とはお金がだだもれになることを強く認識する必要があります。