しばしば書いておりますが、5年以内にいわゆる「システムインテグレータ」は表舞台から消えると予想しています。

経済法則

長年、サラリーマンとして大企業を渡り歩いてIT市場を見ていますが、長期的にはお客さんは必ず経済法則に従います。

今、クラウドサービスと呼ばれているものは2000年ごろにはASP(Application Service Provider)と呼ばれていました。
このころASPを採用する企業が少なかった最大の言い訳が「もしダウンしたらどうする?」「外部に出すことは信用できない」でした。
この言い訳は論理的には間違っています。自社でロクに経験のない下請けの孫受けの安いエンジニアが運用しているほうがダウンする確率は高いし、VPNで閉域で通信していて情報漏えいするなんてことはありえません。

クラウドというバズワードが世界的に広まると、ITベンダーとIT部門は自社のサーバー群にVMWareを入れて「プライベートクラウド」という詐欺まがいのことをはじめました。
VMWAREは大儲けしましたが、サーバーを全部自社でかかえているIT部門の予算は減るわけありません。

もちろんNTTのような莫大に顧客をかかえた企業がプライベートクラウドをやることは当然ですが、たいしたユーザー数もないのにプライベートクラウドってなんなの?

まったく減らないIT部門の費用の削減は交渉で値段が下がる常駐保守エンジニアがターゲットとなりました。常駐してほとんど無限責任を負わされているのに給料は毎年下がるという経済法則に反することが続きましたが、ついに損益分岐点を割り始めたのでしょう、一部では撤退が始まっているようです。
こういう時のIT部門の言い分は「無責任な」などの感情的なものでしかないでしょう。
払うものを払ってから言ってほしいものです。

 

ソフトウェアのバージョンアップ

さて最初にこういう自社運用をしているIT部門のバージョンアップのサイクルを見てみましょう。次の図を見てください。

青い線はパッケージソフトのリリース、バージョンアップです。
赤い線は自社運用している企業のバージョンの上げ方。

このグラフだけでもいろんな考察ができます。
ベンダーに質問すると、お客さんの多くがバージョンを上げる理由として「ハードウェアのサポート切れ」「マイクロソフト製品のサポート切れ」などをあげます。

IT部門もそこに日参しているベンダーも青い階段の価値をまるでエンドユーザーに訴求できていないのです。
これはおかしなことだと思っています。

新機能による効率化や新しいことができることに一切背を向け、「現行通り」でバージョンアップは後ろ向きな理由とみなすことが、お客さんであるエンドユーザーの望んでいることでしょうか?

たとえばこのブログはWordPressというソフトウェアでできています。
数ヶ月おきに細かいリリースアップがされます。
世界中に何十万というWordPressのサイトがあるでしょう。
しかし、よほど特殊なカスタマイズをかけていない限りリリースアップに失敗はしません。
(それで無能な巣鴨のH社に騙された私orz)

そしてWordPressのユーザーは新しい機能でより快適にブログを運営していくことができます。
よくなった点をユーザーはリリースアップの時にチラッとでも見ますから、新しい機能が心をひけば使うことができるようになります。

この単純なサイクルをさまざまな理由でIT部門は阻害します。
最大の不幸は人手不足でしょうけれども、それはIT部門が自部門の価値をきちんと経営者に伝えきれていないから投資に値しないという判断をされているわけです。
企業って価値を生み出すものに投資をし、費用は極限まで下げるのは当たり前のことです。

かくしてソフトウェアの価値はあがっているのに、それはさっぱり現場では使われない、という状況が発生します。
バカのひとつ覚えのようにIT部門は、ソフトウェアの保守料は高い、といいます。
ソフトウェアの保守料は質問していい権利ではありません。
普通のソフトウェアベンダーは保守料をバージョンアップの開発費に注ぎ込んでいます。
そうやって社会や技術の変化をソフトウェアに反映し続けているのに、新しくできるようになったことをまったく学ぼうともせずに背を向けているのは、お金を出している会社への裏切り行為ではないでしょうか。

他社を一切見ないならいいでしょうけれども、ERPのような半場コモディティ化したものだと他社は使いこなしているのに、自社は置いてきぼりということが起きえます。
自社ではボロクソに言われているソフトウェアが、他社で輝いている話しをいくつか目にしたならば、エンドユーザーのあなたは自社のIT部門を疑ったほうがいいです。

現実的にもソフトウェアのバージョンをいくつか飛ばしてあげることは至難の業です。
ソフトウェアを作る方も直前のバージョンは気にしますが、数世代前のバージョンからの移行はあまり考慮しません。ましてやサポート切れになった後のバージョンを最新バージョンにあげるなど、場合によっては新規インストールとなるでしょう。
このようにソフトウェアの自社運用(オンプレミスとか最近、言う)はメリットはほとんどないのです。自分たちがローテクで一生懸命やっているから他社より優れているということにはなりません。

 

クラウドサービスは新たな世界を開く

一方、クラウドサービスはどうでしょうか。
緑の線を見てください。

自動的に(運営側が)細かくリリースを挙げていきます。
継続的に小さなサイクルでリリースをあげていく方法は、ITILなどでも推奨されている賢い方法です。

ユーザーはクラウドサービスをしている側から変更点を直接知ることができます。
細かいリリースで少しずつ理解し判断できるし、すぐに利用できます。

しかも運用費は自社まるがかえよりも、はるかに安価です。
大きなインフラの中で自分達が使用したぶんだけを払えばいいからです。

事実、すでにほとんどのオンラインゲームはAmazon AWS上で稼働しています
それでなにか問題が起きたでしょうか。
「ゲームだろ」とバカにする人は自社のシステムの大きさとゲーム会社のシステムの規模を比べてみるべきです。何十万人という人が使うシステムを「ゲームだろ」でバカにできてしまう人はプロではありません。

今後、ほとんどのユーザーがインフラ(PaaS)にしろアプリケーション(SaaS)にしろクラウドサービスを利用する時代が来ます。
自社運用はほんのすこしのソフトウェアとネットワークだけになるでしょう。その程度ならNTTやKDDIにまかせればいいのです。

こういう話を書くと「バージョンを上げる時に、使っている機能が同様に動作するテストが大変なんだよ」という声が聞こえそうです。

長年、ソフトウェアを作ってきた経験とソフトウェアベンダーにいた経験からすると、トータルではおかしなことだと思っています。

まず、ソフトウェアベンダーがサポートするといっている環境は、ベンダーは必ずテストをしています。
一方、もともと危ないソフトウェアパーツは開発時点で決まっています。ERPならアドオンと呼ばれ、普通のソフトウェアでは自社開発分です。
これらがAPIを使っている場合に互換性で問題になることがあります。

次にトリッキーな使い方をしている場合。

最後にシステム構成自体が変わってリソースに変化が生じた場合。

これらはすべてルーチン化できるものです。

APIは事前にドキュメントで調べるべきです。

自社開発分やベンダーが信用できないならば「テストの自動化」をやるべきです。ほとんどの企業でテストを自動化していないことが不思議です。人間がもっとも高価で不安定だということをコンピューターを使っていて考えないのであれば、プロとはいえないでしょう。

人がやって2,3年かかるとおっしゃる莫大な人件費をなぜテストツールに振り向けないのでしょうか。そういう提案を経営層に説明できないからIT部門は働くわりに評価されないのではないですか?

また、ソフトウェアパッケージが進化したことで自社開発ソフトウェアを捨てることができるかもしれないと研究を続けることも大事です。

システム構成は事前テストをそれこそVMで行うべきでしょう。

バージョンアップの時の苦情の多くが、事前の調査不足とテストを人海戦術でやる前提であり、過去数十年、道具はあるのにまったく行動しなかったことが原因です。

費用をケチって、下請けが作ればいいんだろう的に作ったシステムではバグが出たらお手上げでしょう。
ならそれはソフトウェア負債ですから、やはりクラウドサービスに載せ替えたほうがいいのではないでしょうか。
ソフトウェア開発費をケチったツケです。

なによりもクラウドサービスを提供する側は、インフラ費用も人件費もお客さんの数で割ります。
自社運用でこれに勝てるわけがありません。
アマゾンAWSに対して国産のベンダーが「なんちゃってクラウド」を作っても勝てるわけがないのは、アマゾンは本業のシステムで豊富な経験をもっており、AWSを作った理由はクリスマスに来る大量のトラフィック対策用だったのです。
だから費用のほとんどはすでに回収できているのに対し、国産ベンダーは経験はないし費用回収はすべてお客からやらなければならない、という単純な原理があるからです。

過去に同じような革命が起きた

クラウドを使うかどうかの判断は残念ながらIT部門ではなく、事業をやっている部門が判断することです。
私にとってはオンプレミスからクラウドサービスへの変化はデジャビュです。

30年ほど前、メインフレーム全盛の時に、MicroSoft Server+Sun MicroのSolaris+Oracle+CiscoのTCP/IPというセットが世の中に出現しました。

PCがポツポツとワープロ、スプレッドシートとメインフレーム端末のエミュレータとして社内に出現していた時代です。

パソコンで仕事をしていると他のパソコンとデータを共有したくなるのは当然です。
かくしてマイクロソフトのファイル共有システムやサーバーが社内に導入されました。

一方で事業部で販売管理、在庫管理、などをしたいという要望は増え続け、これまたサーバーが社内に導入されました。

しかし、IT部門はメインフレームのお守りが仕事で、最初はこれらの動きを敵対するものとして禁止にかかったのです

しかしMicrosoft+Sun+Oracle+Ciscoの組み合わせは「オープン系」と呼ばれ、垂直統合閉鎖的なメインフレームの世界を駆逐していきました。
IT部門は事業部の要望を机の上に乗せるだけで迅速な対応をしなかったからです。

データベースなど共有するものはSun Micro(Soralis)+Oracleで動かし、クライアントPCはWindowsでVisual Studioで開発するというクライアント・サーバー形式が王道でした。
今、携帯アプリが似た構図です。

その次にLinuxと共にApacheというWebサーバーが出現し、パソコン側はブラウザーが動けばなんでもよくなりました。
技術力のないIT部門をかかえている会社だけが、わからなくなると文句の言い先のあるInternet Explororを愛用しています。(ブラウザーの世界ではwebkitを使わないMicroSoft系ブラウザーはすでに亜流なのにもかかわらず、ActiveXが動くという理由だけでお使いの企業も多いことでしょう)

今、オンプレミス(すべてを自社所有する)をIT部門が肩を持ち、クラウドを事業部が支持する構図をまた繰り返しているのです。
しかしこの戦いはすでに世の中にオープン系しか知らない人が圧倒的多数であるように、勝敗は決まっています。

事業をしている人間の経済的合理性に即した当然の考え方が最後には勝ちます。

だからIT部門とそこにしか出入りしていないシステムインテグレーターは世の中の変化に気づかず、気づいた時はIT部門と一緒に放り出される日なのです。