システム開発において、顧客の要求を聞き、そこからシステムで実現出来る事を吸い上げ、実際の開発作業に落とし込む設計書を作成するITアーキテクト。所で、実際にITアーキテクトですと名乗っている方を、見たことがあるでしょうか?
現状、特に小規模な開発では、こういった役割をするのは開発を行うSEである場合が多いようです。しかしながら、この二つの職業、少し畑が違います。
(ちなみに要件定義や技術力等で、ずば抜けて才能があるSEの事をスーパーSEと呼ぶ事もあります!)
所で、どうしてSEが兼任する事が多いのでしょうか。
実はこのITアーキテクトという職業は、全く数が足りていないと言われています。それほど、高い能力が求められる職業なのです。
この高い能力とは、具体的にどのような能力でしょうか。
1:高い技術力
例えばプログラミングの技術にしても、どんな技術を使い、どれくらいの人数をどこに割当てれば効率が良いのか、どんな方法があり、どんな問題が起こりやすいのかといった事は、実際に開発を行っている人間でしか解らない事も多いはずです。また、ソフトウェアだけでなく、ハードウェアやネットワークの知識も必要となるかもしれません。そういった事から、大きなプロジェクトの経験や、高い技術力が求められます。
2:業務の知識について得意分野を持っている
しかし、長く開発現場にいたとしても、実際に開発作業を行うスタッフが、顧客と直接面談し、「どんな目標があり、どんな問題を解決したいのか?」といった、最上流工程から関わる機会を持っていたかどうかは解りません。
ITアーキテクトは、こうした顧客とのコミュニケーション能力は勿論のこと、顧客のビジネス戦略、競合会社など、広い範囲での顧客の業務に関する知識も持ち合わせていなくてはなりません。
3:実現可能なシステムを設計する力
その上、顧客はITのプロではないので、要求は「顧客満足度を上げる」等、抽象的である場合も多々あります。
また、顧客が完成したシステムを想像出来たとしても、それがどの程度実現可能なのかを把握するのは難しいでしょう。
そこで、費用対効果や、技術的な課題などを乗り越え、いかにコストを抑え、予算内で実現可能なシステムへと落とし込むのか、という能力も求められます。仮説検証を繰り返して顧客を納得させられるシステム提案が出来るかという、非常に高度な能力です。
以上3点のような難しい仕事を、ITアーキテクトがいない場合、SEが担う必要があるのです。
しかし、これを見てお解り頂けるように、ITアーキテクトとしての仕事と、SEとしての仕事とは全く別物です。それぞれ専門分野が違うのです。
例えば、オーケストラで考えてみると、
お客様を喜ばせる「音楽を作る」という能力、使用する全ての楽器の持つ音の特性、他の楽器との相性などの「豊富な知識」、イメージ通りの音楽であり、かつ、演奏者が困る事のない(実際に演奏出来ないと意味がありません)「楽譜を書く」能力、実際に演奏する際の指揮者の役割、これらを求められるのがITアーキテクト。
演奏者のリーダーである、コンサートマスターがプロジェクトマネージャ。
100%楽譜どおりに音楽を再現する事が出来る、プロの演奏者がSEやPGに当たると言えます。
SEに全てを任せるという事を考えてみると、演奏は勿論の事、指揮者であり、作曲家であり、楽譜が書けて、演奏者を取りまとめる人間を前提としている、という事になります。まさにスーパーSE!ですね。
ITアーキテクトが不足している、だからこそ、関係者全員(顧客、実際に使用するスタッフ、SE、PGなど)で、協力していかなくてはならない事態なのです。
実際に、今までSEが担っていた職種が、どんどん細分化されてきた様に、コンサルティングを含む要求定義から、開発現場のサポートに至るまで、ITアーキテクトが担う仕事もますます細分化されていくでしょう。
ひとつの職種に至るまでに成長したという観点から考えて、この上流工程を最重要視して頂きたいと思います。
そして、SEに全てを求めるのではなく、最大限の協力体制を作ることも、重要な事と認識して頂けたらと思います。
この記事を読んだ人におすすめの記事