さまざまな困難をどう乗り切ればいいのか
ITエンジニアとしての道を究めるには
第3回 エンジニアの将来と課題
萩本順三(豆蔵取締役)
2003/12/26
エンジニアの価値は、時代とともに徐々に変化している。これからのエンジニアは、その変化を敏感に感じ取りながら自分のキャリアを蓄積する能力が必要になるだろう。前回(「第2回 エンジニアとして生き残るには」)お話ししたように、私の予想するソフトウェア技術の将来は、ビジネスにフォーカスしつつ技術がシンプル化していく、というものだ。今回は、この仮説をベースに、エンジニアの課題と将来について述べてみよう。
■ライトウエイトの風
「ビジネスにフォーカスしつつ技術がシンプル化していく」とは、ソフトウェア技術の必要性が現在よりさらに問われる時代が来る、ということである。つまり、ソフトウェア開発の必要性や、その中で使われる手法・プロセス・ツールなどについて、ビジネス的に短期・中期における投資対効果があるかどうかが、現在より厳しく問われる時代に突入するだろう。
その中で、太るだけ太ったヘビー級ソフトウェア(OS、ミドルウェア、言語)などは、本当にビジネスに役立っているのかが問われるようになり、ぜい肉をそぎ落としてライトウエイトなソフトウェアに再構築されるだろう。Java言語などは、このような流れの中で誕生した技術なのである。
ソフトウェア開発で使われる手法・プロセス・ツールなどについても、本当に必要な方法とモノによって再構築されるだろう。XPやアジャイル開発などは、まさにこの流れを組むものと考えている。
この仮説で重要なことは、単純なシンプル化ではなく、ビジネスにフォーカスしている、という点である。つまりソフトウェア技術の将来は、ビジネスに完全にフォーカスされた形で洗練されていくのである。その洗練の過程で、ライトウエイトな構成へと進化する。
この仮説の根拠は、以下のようなユーザーの環境の変化によってもたらされるものである。
■ユーザーの環境の変化
企業経営は、経済の停滞などにより非常に厳しくなっており、経営者が以前よりも窮地に立たされ、いままで以上に頭を使った経営を求められている。単にシステムを投入してビジネスで優位性を保つ、といった決まり文句は通じない。
だからといって、投資をやめるとビジネスの競争に負けてしまう。ビジネスに勝つための最善の戦略を見つけ出すために、投資に対する効果を短期・中期・長期に分類し、まずは短期的な勝利を得ることを前提として、中期・長期戦略を練ることが強いられる。このような中、情報システムへの投資についても厳しく投資対効果が問われるようになる。
では、このように徐々に技術が変化しているいま、エンジニアに与えられた課題とは何だろうか。
■作成したプログラムの説明責任
ダウンサイジングの波により、ソフトウェア開発は、ホストからワークステーションやPCで行う環境に徐々に移行している。PCでは、多くの開発環境のソフトウェアが標準化されオープン化されてきた。
PCでの開発は、以前は個人で行う小規模な開発が多かったため、実装(プログラミング)能力だけが問われる傾向にあった。しかし最近のオープン化された開発環境では、対象となるソフトウェア開発の規模は徐々に大きくなり、開発者としても、作成したシステムの説明責任が問われる時代となっている。
大規模ソフトウェアを一度作ると、できるだけ長く使えるように保守/運用を行うフェイズに移る。その保守/運用コストが膨大になることが分かってきたのである。オープン系の開発において、どのようなコンセプトでプログラムが作成されているか、そのプログラム構造がどうなっているか、といったことにはあまり関心を持たずに開発してきた。それを打破する(説明責任を果たす)ために、オブジェクト指向技術やUMLによるモデリング技術が注目を浴びているのである。
そして、実装したプログラムの説明責任を果たすための武器として、オブジェクト指向技術やUMLを使うべきなのである。
■言語学習の延長だけでオブジェクト指向技術を見ない
Javaや.NETがオブジェクト指向技術をベースとするから、オブジェクト指向技術やUMLを学ぶのは間違いである。このようなアプローチは、言語の延長線上でオブジェクト指向技術を学ぼうとするので問題なのである。オブジェクト指向技術の本質は、ソフトウェアという仮想世界で作り出し、複数人で認知するためのものなのである。つまりはプログラムのコンセプトや実装を説明するために、これらの技術を使うようにしなければならない。作成した、または作成するソフトウェアの構造をモデルとして形作り、人に説明できるエンジニアの価値は急上昇しつつあるのだ。
次に乗り越えるべき課題として、ビジネスを加味した形でシステム要求を整理することである。これは、UMLのユースケースモデルを作成する、という単純なことではない。しっかりとユーザーのビジネス課題を読み取り、その課題をITでいかに実現するかというアイデアをユーザーに提示する能力をいう。
■必須となるビジネス知識
これは、私がコンサルタントという職種にいるからこのようなことをいうのではない。優秀なデベロッパーであっても、研究者であっても、自分の技術を明確な売り物として、ターゲットに提示できない限り、今後はエンジニアとしての価値がゼロに近いという見方をされるだろう。
自分の技術の使い方(価値)はユーザーや他人が見つけてくれるもので、だからこそ自分は技術に専念するべきだ、という考えは古い。だからといって、実装のスペシャリストではなく、ゼネラリストを目指せ、といいたいわけではない。次世代のスペシャリストを目指したければ、ビジネスから見た技術の使い方を世に示すことが必須になるのである。
ソフトウェア技術がライトウエイトの風に乗ってビジネスの流れに後れを取られないように進化しており、そのうえで技術を追求するエンジニア自身もビジネスにフォーカスしながら洗練される必要に迫られているのである。
■エンジニアの将来
最近、エンジニアという仕事がつまらなくなった、という話をよく耳にする。また、優秀なエンジニアを低コストで供給できる中国・インドが台頭し、日本のエンジニアという職種は、今後危ういのではという話もよく聞かれる。実際はどうだろうか。
私は、エンジニアが現在やっている仕事の殻に閉じこもっているのであれば、上記の予測は正しいだろうと考えている。
ここで、ちょっとしたお遊びを思いついたので書いてみよう。私自身の約5年後の元旦(2010年元旦)の“未来日記”を、2つ書いてみよう。
未来日記パターンA |
私もついにXX歳を迎えた。残念ながら私の後継者として期待していた豆男さんと豆子さんは、エンジニアという職種に愛想を尽かして会社を辞めてしまった。いまやソフトウェア開発は、モバイルパーソナルメディアを使い、フレキシブルコンポーネントを組み合わせて誰でも作れる時代になった。 フレキシブルコンポーネント環境とは、オブジェクト技術にダイナミックなソフトウェア言語を組み合わせて開発された先進的な開発環境である。この開発環境によってビジネスマンでも開発ができるようになったのだ。しかし、いまだにビジネスとITとの間にはギャップが生じており、そのギャップを埋めるために「ITビジネスクリエイター」という新たな職種がもてはやされている。 この職種は以前、ビジネスコンサルタントと呼ばれていた人たちが、フレキシブルコンポーネント環境を武器として、ビジネスに密着した利用手法を開拓したものである。しかし、われわれエンジニアはこのビジネスに介入できなかった。いや、介入しようともしなかったというのが事実だろう。おそらく、ビジネスにあまりにも関心がなさすぎたのだ。エンジニアはソフトウェア技術だけを見ていればよいという誤解があった。 私は5年前、ITビジネスクリエイターというような職種を、エンジニアが作り出していくものと信じていた。なぜなら、当時UMLというモデリング技術がエンジニアの間で大流行し始めていたのである。いまでは信じられないかもしれないが、UMLの主たる使い手は、ソフトウェアエンジニアだったのである。ビジネスとITという仮想世界をモデル化するテクニックは、ソフトウェアエンジニアによって広められたのだ。従って、フレキシブルコンポーネント環境を使ってビジネスモデルをITモデルにつなげるテクニックは、ソフトウェアエンジニアが持っていたものだ。 あと少しだけビジネスに関心を示し、自分の技術をビジネスにつなげる際の武器としてフレキシブルコンポーネント環境の利用法を考えればよかった。しかし、ソフトウェアエンジニアたちは、ソフトウェアのアーキテクチャだけを追究していたように思う。 時代が変わり、シンプルなアーキテクチャのパターンが提供され、それをベースとしてフレキシブルコンポーネント環境が提供された。作ることだけを追いかけていたエンジニアの中のアーキテクトたちは、ビジネスをシンプルなITにマッピングするための手法を身に付けたビジネスコンサルタントに負けてしまったのである。 いま、私はそのような視点をエンジニア同士で築けなかった責任を、先輩エンジニアとして痛感するばかりである。おそらく、豆男さんと豆子さんがエンジニアという職種に見切りをつけたのも、そのような道を示せなかったからだろう。 フレキシブルコンポーネント環境が主流になりつつあるいま、エンジニアたちはフレキシブルコンポーネント環境のビジネスコンポーネント作りに活路を見いだそうと模索している。というのも、フレキシブルコンポーネント環境は、一種の標準プロトコルとインターフェイスを提供するものであり、その実装は、テクノロジの変化とともに徐々に移り変わっているので、その開発にビジネスチャンスがあると考え始めたからである。 しかし、時すでに遅く、インド、中国などのIT諸国によって、この領域は埋め尽くされ、オープンコンポーネントという無償のビジネスコンポーネントが出回っている。日本のエンジニアがいくらあがいても、いまからこのような市場で、オープンコンポーネントの品質を上回る優良なコンポーネントが出るとは到底思えないのである。エンジニアの仕事といえば、ITビジネスクリエイターによって設計されたひな型に、小さなシステムを組み込むだけの退屈な仕事と化している。私も、この業界に夢を持てなくなってしまった。自分自身、そろそろ次の職種を模索すべきかを考えなければならない時期がきたようだ……。 |
未来日記パターンB |
私もついにXX歳を迎えた。私の後継者として育ててきた豆男さんと豆子さんは、いまや「BIT(ビジネスIT)アーキテクト」として、業界で大活躍している。私も彼らと一緒にBITアーキテクトという職種を作り上げてきたことを誇りに思う。 現在のソフトウェア開発はモバイルパーソナルメディアを使って誰でもフレキシブルコンポーネントを組み合わせて作れる時代へと突入した。フレキシブルコンポーネント環境とは、オブジェクト技術にダイナミックなソフトウェア言語を組み合わせて開発された先進的な開発環境である。 この開発環境によって、ビジネスマンでも開発できるようになった。しかし、いまだにビジネスとITの間にはギャップが生じており、そのギャップを埋めるためにBITアーキテクトという職種が必要とされたのである。この職種は、ソフトウェアエンジニアと呼ばれていた人たちが、自分たちの得意とするITモデリングを拡張し、ビジネスをも視覚化するビジネスモデリングへ発展させたものだ。 そのモデリング手法をもってフレキシブルコンポーネント環境における開発手法を確立したのである。これは業界にとって、新たなビジネスとなるほどインパクトがあるものだった。なぜなら、現在は大企業から中小企業までフレキシブルコンポーネント環境を使った開発環境が導入されているが、その中でBITアーキテクトを顧客に先行投入し、以降の細かな開発や保守につなげるというビジネスモデルが確立したからである。まさに、ビジネスからITまでの橋渡しを行うビジネスをソフトウェア業界は勝ち得たのだ。また、フレキシブルコンポーネント環境を主流にしたのは、日本をはじめとするインド、中国のエンジニアである。 彼らは、企業や国境を超えたバーチャルな環境でのビジネスを企業として承認させ、バーチャルカンパニーを立ち上げ、その中でフレキシブルコンポーネント環境を確立し、一種の標準プロトコルとインターフェイスを提供した。その実装は、テクノロジの変化とともに徐々に移り変わり、フレキシブルコンポーネント環境はフレキシブルに、時代の変化に応じて実装されたビジネスコンポーネントをプラグインできるような驚くべきアーキテクチャを提供した。 そのような中、以前、アーキテクトと呼ばれていた人々は、オープンコンポーネントという有償・無償のビジネスコンポーネントを提供しながらビジネスを行う企業を立ち上げている。彼らはビジネスのやり方が非常にうまく、有償のオープンコンポーネントを販売するきっかけとして無償のオープンコンポーネントにより企業に奥深く参入し、その中でその企業独自のビジネスを実現する有償のオープンコンポーネントを提供するのである。彼らのような職種を最近、「BITクリエイター」と呼ぶようになったそうだ。このような状況を2000年当初、私は少しだけ想像していた。 その想像したことを同じエンジニアたちに話してみると、私のような世界を想像していた人たちが数多くいることを知った。このような時代が来たことは業界の1人として誇らしく思うし、このような時代を築き上げたのは、当時、私と同様な考えを抱いた人たちが数多くいたからだと信じている。 もし当時、既存のエンジニアリング・ビジネスしか見ていなかったなら、このような素晴らしい世界は築けなかったに違いない。フレキシブルコンポーネント環境は、素晴らしいテクノロジを提供しているが、現在では、より柔軟なアーキテクチャが求められている。これから2、3年でパラダイム転換が起き、ソフトウェア技術は後退するだろう。いずれにせよ、これからのソフトウェア業界を作り上げるのは、BITアーキテクトやBITクリエイターたちである。彼らが新たなビジネスをIT上で作り上げるに違いない。 |
■未来を分かつのは誰か?
この話はフィクションであるが、私の考えるエンジニアの将来を2つ示した。さて、このような世界を作り出すのは、誰なのだろうか?
しょせんは欧米諸国で決められたものを日本は輸入するだけと考えるか、それとも企業が考えればよいことだと考えるだろうか。もし、そう考えている人が多ければ、パターンAの将来が皆さんのエンジニアの将来に待ち受けるだろう。そもそも、エンジニアの将来はエンジニア同士で築いていけるものなのである。その中で想像豊かな発想をもってビジネスを形成する意欲が必要である。
ビジネスの状況がどうで、その中でエンジニアとしてどのような世界を築くべきかエンジニア個人がまず考え、それをエンジニア自身で議論することを地道に繰り返すことで、新しいビジネスや、創造性のある仕事が作られていくものと私は信じている。
これからのエンジニアは、将来のビジネスとITの次世代の姿を創造する責務を持つべきである。われわれエンジニアは誇り高き職人なのであることを再認識しようではないか。
|
@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。
現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。
これからも、@IT自分戦略研究所をよろしくお願いいたします。