技術営業とシステムエンジニアとプログラマー、それぞれの役割
システムの開発には、様々な役割の人が関係します。
・技術営業
・システムエンジニア
・プログラマー
これらの言葉は聞いたことがあるけれど、それぞれの違いや役割が
よくわからないという人も多いかもしれません。
仕事の役割や必要な技術が、どのように分かれているのかを理解することで、この業界に入ろうと考えている人の参考になるかもしれません。
今回は、この3つの仕事の違いについてまとめていきます。
技術営業
システム開発における技術営業の役割は、技術的な知識を持ちながら営業活動を行い、顧客と開発チームをつなぐ重要な橋渡し役を担います。
単に営業活動をするだけでなく、技術的な理解力を活かし、顧客の信頼を得ながらシステム開発を成功に導く重要な役回りです。
技術営業は、FAE(フィールドアプリケーションエンジニア)やセールスエンジニアとも呼ばれます。
技術営業の主な仕事は以下のようなものです。
1.顧客ニーズを理解して提案書・見積書の作成
顧客の潜在する要求・上手く言葉にできない要求を理解し
技術チームと連携して最適な解決策を考え適したソリューションを提案
技術的な知識で、システムの仕様やコスト構造を分かりやすく説明
提案書を作成しプレゼン、見積書を提出して受注につなげる
2.技術的なアドバイス:
システム開発のプロセスにおいて、顧客に技術的なアドバイスを提供
具体的な製品や技術のメリット・デメリットを説明し安心感につなげる
3.システム導入のサポート
システム導入時、技術営業は顧客と開発チームの間で進捗管理や
トラブルシューティングを行う
顧客の要望との合致を確認し、導入プロセスが円滑に進むよう支援
技術営業で最も重要なことは、
・顧客の要求を要求定義としてまとめること
・システムエンジニアにつなげて開発のための要件定義にまとめてもらう
ことです。
そして、その要件定義に沿って開発される過程で
・顧客のシステム導入のための事前準備を手伝う
(顧客台帳の整理、様々な運用の判断基準など...)
・開発チームの応援、(メンバーの人選、活動のフォローなど...)
・開発途中で発生する顧客の新しい要求の受止め
盛り込めない場合は次期のシステムへとする
顧客との調整・折衝も必要となってきます。
開発の成功に大きく影響する役回りです。
私の30数年前の体験ですが...
昔、勤めていたソフト会社で技術営業をやっていた時のことです。
当時、その会社では「係長」の名刺をもらって動いていました。
新潟に住んでいて、東京都内の会社へのシステム導入の提案営業をしていました。
顧客の要求を理解して、提案書を作成し導入となりました。
比較的簡単な販売管理のシステムでしたので、システムの大枠を図解で分かりやすい文書にし同じ会社の年上の「課長」の役職のシステムエンジニアに資料を元に説明して引き継ぎました。
彼が動き出してから少し経過してから電話が来ました。
「池田さんの言っていることと、お客さんの社長さんが言っていることが全然違う!」とのことです。
「何で?」と思いましたが、社長さんに翌日の午前中に時間を取ってもらい
引き継いだ課長と訪問しました。
よく話を聞くと...
何んのことはない、、同じことを言っているのですが..
背中合わせに「相手が間違っている!」と主張しています。
お客さんはともかく、SEなんだからしっかり聞いて整理してくれとよと思います。
9時から話を聞いて、10分ほどで解決しました。
すぐに帰るのももったいないので、お茶をごちそうになりながら
世間話をして9:30には会社を出ました。
しっかり聞いて理解すれば、整理は簡単なんですが...
新潟から東京までの新幹線の往復は約2万円ほどします。
この新幹線代は、どうしてくれるんだという感じです。
ちゃんと仕事のできるSEを選べれば良かったのですが、
その仕事は、私が東京でプログラマーをやっていた時の会社からの依頼で
人選に決定権が無かったんです。
まあ、その体験からSEも社長さんも相手の話を聞かないと面倒なことになると感じてもらったようで、その後のトラブルはありませんでした。
システム・エンジニア(SE)
システムエンジニアは、システム全体の設計や開発管理を行います。
開発規模が大きい時は、プロジェクトマネージャーが任命される場合もあります。プログラマーとは異なり、ソフトウェアだけでなく、ハードウェアやネットワークなども含むシステム全体を設計する仕事です。
複雑になった現在は、各専門家の力を借りる能力も必要です。
最も重要な仕事は要件定義
システムを実現するための開発要件を定義します。開発の要件「要件定義」と言います。要件定義がしっかりしていないと、後々システムに問題が発生します。ユーザーニーズを正しく掴んでいないので、導入してテストする段階で「違う!」と言われ修正を繰り返すことになります。
システム・エンジニア(SE)の主な仕事は以下のようなものです。
1.システムの設計
システムエンジニアの主な役割は、システムの設計です。
ハード構成は、ネットワークはデータベースは...と組立てます。
企業の業務システム化を実現する際には、
どのような業務運営をするのか作業レベルで具体化します。
ユーザーニーズを理解し、システムの機能や性能を組立てることです。
2.プロジェクト管理
システムエンジニアは、プロジェクトの進行管理も行います。
(開発規模が大きいとプロジェクト・マネージャーがつきます)
プロジェクトが計画通りに進むように作業を分配し、進捗を確認。
進捗の遅れらや、問題が発生した場合にはタスクの再配分を行います。
プロジェクトがスムーズに進行し、納期に間に合うかが重要です。
3.システムの統合とテスト
たくさんのプログラムが想定通りに動くかテストします。
全体として機能するかどうかをテストで確認することが重要です。
問題なのは、システムエンジニアの想定通りだったとしても
ユーザーの想定と違う大きな修正は必要となる場合もあります。
システム開発には炎上プロジェクトがありがちです。
私自身、そそ助っ人として参加したことがあります。
その炎上プロジェクトはバグ(プログラムのミス)が〇個修正完了
新しいバグが◇個発見された「だんだん減っています」
というような不毛な会議が進んでいました。
途中から参加したので状況が分からなかったので
システムの資料を読込んでいきましたが...
資料を読込んでもシステムの全体像が見えません。
プログラムの資料はあるのにです。
120本ほどのプログラムの機能分担が見えないんです。
これで「バグを〇個修正完了しました」と言う会議を続けても無理だなと思いました。そこで、そのシステムの作り直しを提案しました。
現状の炎上プロジェクトは、顧客への安心感を担保する方法として続けて
まったくの別部体を仕立ててシステムの設計から始めました。
作り直ししましょうと提案したのが私でしたので「お前がやれ!」と担当となりました。以前勤めていた会社の社長からの依頼ですから断れません。
「バグ〇個」と言って会議を続けている炎上プロジェクトは、
表の顔として期限まで続けてもらいました。
まったくの無駄な労力でしたが、仕方がありません。
この時に感じたことは、システムの開発要件をしっかり定義してシステムとして機能する設計ができないと苦労が無駄になると感じた体験でした。
プログラマーとは
プログラマーはソフトウェアやアプリケーションを作成する人です。
具体的には、プログラミング言語を使ってコードを書いて、コンピュータに指示を出すことで、ソフトウェアが正しく動くようにします。
私が、プログラマーになった、はるか昔は...
コーディングシートと言うA4版の紙に鉛筆で手書きしていました。
その紙をキーパンチャーに渡して入力してもらい
フロピィ・ディスク(FD)に入れてもらっていました。
こんなことを書いても若い人は理解できないですね。
プログラマーの主な仕事は以下のようなものです。
1.プログラムの作成
プログラマーの仕事は、コードの作成です。
プログラムは、システムの機能を実現する命令のコードの集まりです。
システムエンジニアの作成した仕様を実現するコードを作成する。
2.プログラムのテストと修正
プログラムにはミスがつきものです。
完璧だと思っていてもテストするとバグ(ミス)があります。
それを発見し、ミスを修正しプログラムを完成させます。
私が、プログラマーになったときは、プログラムの作成はカードに穴を開けてカードリーダーで読み込む時代でした。
少ししてから紙に鉛筆でコードを書いてキーパンチャーに入力してもらい
フロッピィディスク(FD)に入れてもらいます。
これを持ち込んで、1行単位にプログラムを修正していました。
それをライン・エディタ(1行ごとに修正する機能)と呼んでいました。
その後、フルスクリーン・エディタ(1画面全体で修正できる)という現状と同じになりました。
当時と比べると、今は開発環境が格段に良くなっています。
ですが、難しさも倍増どころか..
これからコンピュータ業界になる方には、頑張って欲しいと思います。
━━━━━━━━━━━━━━━━━━━━━━━━━━━
問題の原因「顧客の口で言っている言葉 ≠ 心で望む期待」
要求定義コンサルタント (図解の池田)
池田 秀敏
URL: https://www.teoria.co.jp/
━━━━━━━━━━━━━━━━━━━━━━━━━━━
顧客の上手くで言葉にできない潜在ニーズを掴むことで...
システム導入の満足度を高めるSE・技術営業を育てる
━━━━━━━━━━━━━━━━━━━━━━━━━━━