システム開発において、要件定義からシステム設計までの工程を上流工程と呼び、一般的にはSEがこの工程を担います。その後のプログラム開発からテスト工程に至る下流工程は、上流工程で作成された設計書をもとに進められます。そのため、上流工程の良し悪しがシステム開発全体に与える影響は大きいと言えます。
上流工程において、SEが想定しておかなければならないリスクはいくつかあげられます。上流工程にて顧客からのヒアリング不足により、要望が十分にシステムに反映されていないことがあります。これでは、下流工程や運用開始後に問題や要望が多発し、上流工程のやり直しということも考えられます。その結果、納期遅延の発生や開発コストが予算を大幅に超えてしまうというリスクが想定できます。
また、見積りの甘さでも同様なリスクが発生してしまいます。過去に同様なシステム開発事例があれば見積りの参考になります。SEは必要な機能にモレがないかもしっかりと確認する必要があります。そのためには、顧客としっかりとコミュニケーションを取ることが重要です。
システム運用後も業務の変更やさらなる要望が発生するものです。可能な限りそのようなことが発生しても容易に対応できるように、保守性を確保しておくと良いでしょう。ちょっとした変更でも多額の開発コストがかかるようであれば、顧客とのトラブルにもなりかねません。上流工程においてもシステム運用後を想定しておくことは大切です。