システム開発の上流工程では、まずはじめに要件分析を行う。システムの利用者であるクライアント側は、どのようにしたいのかという要望は持っていても、それを実現するにはどのようなシステムで、どのような機能が必要なのかわかっていないことが多い。
また、要望を実現するためにはほかにも必要なことはあるが、それを把握しきれていない場合もある。そこで、上流工程を担当するSEは、クライアントと打ち合わせを重ねることでもれなく要望を引き出し、そのために必要なシステム上の機能をまとめていかなければならないのだ。この時重要になるのが、コミュニケーション力である。

さらに、上流工程を担当するSEは、開発側であるプロジェクトメンバーに要件定義から基本設計、機能定義の結果を伝え、その後の工程がスムーズに進むようマネジメントしていかなければならない。システム開発は、大規模なシステムになればなるほど関わるプロジェクトメンバーの数も多くなる。そのメンバーが共通の認識の下で業務を進めていかなければ、うまく進められないのだ。
プロジェクトメンバー全員に、システム像とそのうえで求められる機能を正確に伝え、開発自体が納期に間に合うようにスケジュールを組む必要がある。どの程度の人員や時間を、どの段階で割り当てれば良いのかも考えることが求められる。この時にも、やはり欠かせないのがコミュニケーション力だ。また、プロジェクト全体のマネジメント力も重要だろう。