システム開発は規模に関わらず要件定義を行っています。要件定義は業務の問題点を洗い出したり、新機能をどの程度必要とするのかなど、利用者側の要望をまとめ上げる作業です。一般的にはシステムエンジニアと営業が利用者から聞き取りをしてまとめ上げることが多いですが、場合によっては営業がこの段階をすべてまとめ上げることもあるようです。要件定義は2つの過程に分けられます。
1つ目はシステム要件定義です。利用者から聞き取りをして機能化を図ります。また、新システムの提案もこの段階です。2つ目はソフトウエア要件定義です。
システム要件定義から得られた利用者の希望する機能を具体的にまとめ上げる作業です。外部設計とも言われます。希望する機能に加えてデータの流れ、合わせて利用するソフトウエアも踏まえて利用者が使う部分を設計します。この段階ではどのように実装するかなどは決めません。
要件定義は営業サイドで決めてしまうことも多いのですが、可能な限り、利用者からの聞き取りの段階からエンジニアが参加することが望ましいです。実現性を高めることもありますが、工程のチェックや納期の確定など具体的な開発スケジュールについてもこの段階である程度の指針が必要になるからです。開発スケジュールは利用者にとっても重要な問題ですし、ヒアリングが少なかったり、機能化を失敗すると納期の計算が狂ってしまい、開発サイドに負担を強いることになりますので注意が必要です