システム開発の工程を企画、要件定義、外部設計、内部設計、詳細設計、製造、テストに分類した際、企画から内部設計までを行うのが上流工程を担うSEだ。
システム開発の際は、まずはクライアントと面談を重ね、どのような目的でシステムを導入するのか、そのためにはどのような機能を付ける必要があるのかといったことを決めていく。
言われた物をただ作るのではなくどのようなものを作るのかという構想の段階から関わるため、要求されるスキルは高い。
特に企画と要件定義の仕事は上流工程の中でも花形の仕事であり、豊富な知識と対人折衝能力を必要とする。
上流工程SEの仕事は、大きく分けて2つある。
1つ目は、クライアントとシステムの要件のすり合わせを行うことだ。
機能を増やせば納期は長引き、納期が長引けば予算も増えるため、クライアントの予算の範囲内で目的を達成するために本当に必要な機能を取捨選択していく必要がある。
システム開発はクライアントの現状の課題を把握していなければ行えないので、高い対人折衝能力とコンサルティング能力が必要になる。
2つ目は、詳細設計以下の工程を担当するSEおよびプログラマーに対し、誤解なく上流で決定した内容を伝えることだ。
上流で決まった内容とは違うものを作ってしまった場合かなりのタイムロスになり、会社に大損害を与えるためその責任は重大になる。
また、ある程度経験を積むことでプロジェクトマネージャーとしてプロジェクトの進行を管理する上流工程SEになる人もいるため、なおさら高い対人折衝能力が必要になる。