Windows Serverを中心に、ITプロ向け教育コースを担当

なぜ新しい技術を採用しないのか

»

月刊「Windows Server World」の連載コラム「IT嫌いはまだ早い」の編集前原稿です。もし、このコラムを読んで面白いと思ったら、ぜひバックナンバー(2009年10月号)をお求めください。もっと面白いはずです。

なお、本文中の情報は原則として連載当時のものですのでご了承ください。

■□■

現実の社内システムで最新技術を使うことはそれほど多くない。最新技術に触れられると思ってIT業界に飛び込んだ人は失望しているかも知れない。今月は「最新技術」の扱いについて考える。

現実のITシステム

IT業界は進化が速い。5年もたてば技術の世代交代が起きる。しかし、どの企業も常に最新技術を取り入れているわけではない。むしろ数年前の技術を使うことの方が多い。技術者はこれを「枯れた技術」と呼ぶ。

「枯れた」には「勢いがない」という悪い意味を思い浮かべるかもしれないが、実際は「成熟した」「安定した」という良い意味で使う。枯れた技術は、最新技術よりも劣る部分はあるかもしれないが、長く使われてきた実績があり、欠点も知り尽くされているため、問題を避ける方法も広く知られている。もし同じことができるなら、便利そうだが予期しないトラブルが起きる可能性のある新しい技術より、少々不便でも慣れ親しんだ古い技術の方が扱いやすいものだ。

IT好きが陥りやすいワナ」では「ドリルを買いに来た人は穴が欲しい」と結んだ。コンピュータを必要としている人は、サーバーが欲しいわけではなく何らかの解決策(ソリューション)を求めている。同じソリューションが得られるなら、不安定な最新技術よりも、安定した古い技術の方が確実だ。これが「枯れた技術」の意味である。

最新の技術に触れたくてIT業界に入った人は多いだろう。確かにIT業界は多くの技術が短期間の間に生まれ、そして消えていく。ここ数年の流行は「サーバ仮想化」だが、5年前にはそれほど重視されていなかった技術だ(*1)。

ほとんどのエンジニアは新しい技術にワクワクする。実際に使ってみて、顧客や社会に貢献したいと思うだろう。しかしIT企業に就職し、実際に配属されてみると毎日の仕事の大半は最新技術とはあまり縁がないことが分かる。本当に最先端の技術を次々取り入れている企業もあるが圧倒的に数が少ない。その結果、IT業界そのものに失望する人もいるかもしれない。だがちょっと待ってほしい。

建築業の場合 

ITとよく比較されるのが、建築業だ。そして建築業の花形は設計から構築までを一手に引き受けるゼネコンである。ゼネコンは建築工程のすべてを行うわけではない。現場の多くの作業は「下請け」と呼ばれる契約企業が行う。しかし、どのような工法を採用し、いくらの費用をかけて、いつまでに完成させるかの責任はゼネコンにある。下請け企業はゼネコンの指定通りの工事を行うので、工事の責任は負うが設計の責任は負わない。

下請け企業の下で、実際の仕事を担当するのは職人さんだったり、季節労働者だったり、アルバイトだったりする。多くの建築は職人の技術に支えられているが、職人が全体の設計をするわけではないし、指示されていない作業を勝手にするわけにはいかない。

ここにまだ誰も成功したことのない新しい方法があります。この方法が成功したらコストが10%削減できますが、失敗したら3倍のコストが発生します。私たちは新しい方法の方が面白そうなのでやってみたいと思います。

そう言われてOKする依頼主がいるだろうか。ゼネコンの自己満足のために工事を依頼するわけではない。必要な工事を予算通りに予定通りに終わらせてくれればそれでいいのだ。依頼主にしてみれば、杭の打ち方がどうだとか、鉄筋の量がどうだとか、そういうことは関係ない。どんなドリルを使おうが、適切な大きさの穴が、正しい場所に空けばいいのである。

IT業界の場合 

IT業界のゼネコンに相当するのがシステム・インテグレータ(SI)だ。SIは、業務改善や改革を行うITシステムを設計し構築する。場合によっては運用まで手がける。依頼主は「ユーザー企業」と呼ばれる。ITそのものが目的ではなく、ITを手段として利用する立場(利用者=ユーザー)だからだ。

IT業界には次々と新しい技術が投入される。新しい技術でしか実現できないソリューションには積極的に新しい技術を使うだろう。しかし、新しい技術でも枯れた技術でも実現できるならどうするか。依頼主としては安全な方法を採用して欲しいと思うはずだ。SIにとっても無意味なリスクは避けたい。こうして多くの案件は枯れた技術で構築される。

単に「使ったことがないから」というだけの理由で新しい技術を避けるわけではない。リスクの割に得られる利益が少ないから避けるのだ。だから、リスクを十分小さくできて、大きな利益が得られるなら、新しい技術に挑戦する。いつまでも古い技術にしがみついていては、業務拡大は望めない。

エンジニアとして入社した場合、最初はマナー研修など社会人としての一般常識を身に付け、次に技術研修に入る。顧客が求めているシステムを理解するには顧客の業務を理解する必要があるが、それは先輩社員の指導を受けながら現場で身につけるのが一般的だ。

技術研修を終え、顧客を担当してしばらくすると不満を感じるエンジニアは多い。「新製品のこの機能を使えばいいのに、なぜ提案しないのか」と思うようだ。先輩社員に尋ねたらたいていこう言われる「必要ない」。新米エンジニアはここで「先輩はやる気がない」と誤解する。

やる気がないのではない。新しい製品を導入するには費用もかかるし、システムの改変も必要だ。さらに入念なテストもしなければならない。こうした手間によりかかったコストは顧客の負担となる。負担以上の成果が得られればいいが、そうでなければ赤字である。プロフェッショナルとして、顧客の利益にならない提案は絶対にできない。

新しい技術は不要なのか 

では、最新技術を学ぶ必要はないのだろうか。もちろんそんなことはない。重要なことは、最新技術の利点とリスクを正しく評価し、顧客のシステムに適用することで顧客の利益になるかどうかを判断することだ。新しい技術を知らなければこうした判断はできない。

残念ながら、よく調べもしないで「新しい技術はリスクが大きいから避けましょう」と言うエンジニアが一部に存在する。これではプロフェッショナルと言えない。まだ「知らないので判断できない」と正直に言う方がマシである。

最近は、顧客から積極的に最新技術を導入したいと言われることも増えてきた。昨年、あるSI企業向けにWindows Server 2008の研修を実施したときの話だ。全国の支店から技術者を選抜し、300名近い技術者を育成した。担当者の話では、最近は地方のお客様から最新OSであるWindows Server 2008を導入したいと言われることが増えてきたからだという。

技術者でない顧客も勉強しているのだから技術者はもっと勉強しなくてはいけない。顧客から要求されて新しい技術を勉強するようでは話にならない。すぐに使う予定がなくても日頃から最新技術を勉強するように心がけたい。

そういえば、今年はWindows関連製品の当たり年だ。Windows 7とWindows Server 2008 R2は既に完成し、出荷の作業中だ。Microsoft Officeの新版も控えているし、サーバ製品のバージョンアップもある。大変だが頑張って勉強してほしい。本当に顧客の利益になると思ったら提案しよう。しかし、リスクが大きすぎると思ったら無理をして導入しないことだ。 

剣の達人はむやみに剣を抜かない

(*1)ただし、一部の大型コンピュータは1970年代の時点でサーバー仮想化を実現していた。基本的な概念はそれほど新しいものではない。

■□■Web版のためのあとがき■□■

今年はコード名「Windows 8」が登場するらしい。以前のバージョンと違い、秘密主義が徹底されており、詳細な情報はなかなか入って来なかったが、やっと断片的な情報が入ってきた。今年のリリースが本当だとすると、これから一気に大量の情報が公開されるはずだ。

多くの新機能が予定されているが、個人的にはARMベースのサーバがどうなるかは気になる。CPU性能で劣るものの、消費電力が大幅に削減されるため、データセンターの消費電力削減が期待される。多くのサーバではCPUがボトルネックではないため、CPU性能は問題にならないはずだ。

Windowsはもともと複数のCPUをサポートするし、ほとんどが高級言語で記述されているため、異なるCPUでの動作に不安はない。しかし、100%完全に動作するという保証はもちろんない。しかも、ARMベースのサーバハードウェアの動作実績もない。

リスクを冒して新しい技術に挑戦するか、安定性を優先するかはビジネス上の判断だが、さてどうなるだろう。筆者は、米国での事例が出そろうまで日本では導入されないと予想している。

Comment(1)

コメント

nanashi

私は知らないないので無視してくれていいのですが、
月刊「Windows Server World」という看板を掲げてコラムにするからには、
抽象的な内容だけではなく、具体的な投稿があってもいいのではないですか?
編集者はどうしても後追いになる現実がありますが、もうちょっと頑張ってください。

コメントを投稿する