情報システム開発の成否は要件定義の成否にかかっているといわれます。要件定義は、構築する情報システムの仕様書になるものですから、要件定義が不適切だと、開発した情報システムが不適切なものになるのは当然です。
要件定義が不適切になる原因には、次のようなものがあります。
- 重要な要件が欠けている。「気づかない」のではなく、利用者は「あまりにも当然」なのであえて明記しなかったことを、業務知識がない開発者にとっては「当然」ではないことが多いのです。また、利用者と開発者の間で、用語や概念に誤解がある場合もあります。(参照:「用語定義の重要性」)
- 逆に、たいして重要ではないことを要求して、開発するシステムが大規模化、複雑化して、費用や納期に影響を与え、費用対効果を減ずることもあります。(参照:「過剰要求の危険」)。これを回避するには、要求に優先順位をつけることが求められます。
- 情報システムは、経営戦略や情報化戦略に合致している必要があります。しかし、それが現場の状況を無視した非現実的なものでは困ります(参照:「要件定義でのトップダウンとボトムアップ」)。また、現場利用者が自部門の都合ばかりを主張して、全社的最適から離れた要求をするのも困ります(参照:「全体最適化と部分最適化」)。
要点定義は開発プロセスの最初のプロセスですから、このプロセスが遅れると、全体のプロジェクトが遅れてしまいます。しかも、開発途中や開発終了の頃になって、要件が変更になると、大きな手戻りが生じて、開発費用や納期に大きな影響を与えることになります。「人により要求が異なる」「いつになっても要件が確定しない」「後になってから要件変更が起こる」などが多いのです。
よく、「計画した2倍の費用と2倍の期間がかかり、1/2の機能しか実現できない」という222の法則がいわれますが、要件定義がその主原因になっていることが多いのです。