システムエンジニアは、システム構築や開発を手掛けるIT業界の花形的な存在です。要件定義や構成管理、計画立案といったシステム構築の初期段階の作業は上流工程と呼ばれますが、システムエンジニアが担当するのがこの上流工程です。下流工程では、上流工程で決められた仕様やプログラミング言語などを元に、システムを形にする作業が行われます。そのため、良質な情報システムを作り上げるためには、システムエンジニアが上流工程でしっかりと方向性を決めることが欠かせません。
システムエンジニアが担当する上流工程のうち、特に重要なのが要件定義で、要件定義の内容が結果に直結すると言われるほどです。要件定義は、クライアントの要望に応えるためのシステムの概要を決める工程で、システムの設計図を作る工程とも言い換えられます。
できあがったシステムを評価するのはクライアントなので、クライアントの意向をしっかりヒアリングした上で、細かい仕様を決めていくことが必要です。そのためには、どのような機能が欲しいというような要望の奥にある、本質的な悩みを把握することが欠かせません。クライアントが新たなシステムを求めるのは、何かしら業務で困っていたり、不便を感じたりしているからです。そのため、クライアントがどのようなところに困っているのか、その原因は何か、などの詳細な情報をできる限りヒアリングで引き出すことが、良質なシステムを設計する上で役立ってくれます。