システムエンジニアとは?
システムエンジニアとはクライアントからの要求を聞き取り、システムに必要な機能を決定し、設計していく人のことを言います。
システムエンジニアに求められる能力はとても多く、非常に大変な職種です。
システムエンジニアはまずクライアントがどういったシステムを要求しているのか、精確に把握する必要があります。
そして、システムの機能や性能、開発期間、費用を定めます。
この工程の作業を基本計画と呼びます。
基本計画は、そのプロジェクトの行く末を左右します。
この基本計画の精度により、プログラマの休日が奪われるかそうでないかが決定します。
あまりにも稚拙な基本計画であった場合、プログラマの睡眠時間を失わせることになり、倒れる人も出てきます。
そして最悪、会社が飛びます。
しかし、クライアントの要求を精確に把握し、それを基に開発期間や費用を定めるといったことは非常に大変なことです。
クライアントはシステム開発に関してはまったくの素人であり、システムエンジニアはクライアントの業務に関してはまったくの素人なのです。
そんな両者が机上でいくら打ち合わせしたところで、どこかに認識のずれがあったり、考慮もれがあったりと、どうしても欠陥が生じます。
実際に出来上がったものをクライアントに見せて、これでいいかどうかを確かめてもらうしかそういった欠陥を失くす方法はないといっても過言ではないでしょう。
しかし欠陥を減らすことはできます。
システム開発途中で起こりえそうな問題をあらかじめ予測しておき、考慮しておけばその問題に対する補正作業をスムーズに行えます。
それを可能にするのはそのシステムエンジニアが長い時間を培ってきた経験だけだと思います。
システムエンジニアの作業はまだまだこれだけではありません。
システムエンジニアはクライアントからの要求をドキュメントにまとめてプログラマに伝えてやらなくてはなりません。
この伝言がまたとても難しいのです。
人から人に何かを伝えていくと途中で内容が変わってしまうことが多々あります。
これがシステム開発現場でも頻繁に起こってしまうのです。。
特に開発規模が大きく開発に加わる人数が多いプロジェクトでは本当によくあります。
どのようなシステムをどうやって作ろうとしているのか、その意識が共有できていないと意図するシステムは当然完成しません。
必ず、どこかで後戻りが発生し、発見が遅れると最悪、納期に間に合ないということになります。
このため、システムエンジニアは常に全体を把握できる能力が問われることになります。
クライアントとプログラマは通常、直接接点を持ちません。
システムエンジニアはクライアントからの要求を精確に聞きだし、それをプログラマに精確に伝えるという橋渡し的存在なのです。
プログラマ底辺思考トップへ戻る
|