技術革新は何のためにあるのか?

技術革新は須く斬新的なものであるべし、という肩に力の入った信念の人は流してください。ちょっと、力の抜いた小ネタなので。

最近というかここ10年来、いわゆる業務系のシステムに関わっていてよく思うことではあります。特に最近、NoSQLやHadoopといった「新技術」が登場するにつけて強く感ることではあるのですが、なんというか、「こんな感じ」のことができます、というようなプロダクトアウト的でありながら、かつ、漠然とした抽象的な話が多すぎる気がします。要は、全般的に問題の設定が苦手だよなということです。

特定の技術の各論はともかく、まず、大上段に構えると、実はITでは一般の人が想像する以上にユーザーとベンダーで期待ギャップがあります。ユーザーから見ると、大抵は「こんなこともできないのか?」ということがごく普通にできません。一方、一般のTVとか報道とかは、スパコンや遺伝子やビッグデータや、なんやらかんやらで、わりと一方的にITはいろいろできる、という煽りが入るので、さらに誤解が酷くなります。

システムに関わっていれば、簡単にわかることですが、ITは万能ではありません。IO限界以上のことはどうやっても駄目だし、簡単に見えた仕様が実は相当面倒だったとか、割とトラブるときは簡単にトラブルになります。だから、実際は、仕組みはかなり制限的に作らざるを得ないのが普通です。これは業務系のPrjのPM経験者であれば、例外無く感じることだと思います。

その結果として、実は業務的にはすでに出来る状態にあるのだが、ITが制約になりすぎていて、業務側にかなり妥協を迫っているということが結構あります。特に基幹システムではこのケースが非常に多い。情報系は比較的融通が(精神的に)効くということもあり、まだ制約が緩いのですが、基幹系はほぼガチガチです。これは当然ですが信頼性に要件を振っていることも大きな要因です。

問題は、その状態が固定化しすぎているということです。ITの制限が所与に触れすぎているため、仮にその所与性がなくなった、その先に特にIT側が想いが及ばないということが凄く多い、というか多過ぎる気がします。なんというか、そもそもの問題がどんどん見えなくなっています。

例えば、自分らが先日リリースした某社様の原価計算Hadoop適用ですが、まぁ実際、4時間のバッチが20分で終了になったわけで、これはこれで相当インパクトがあるわけです。が、実はその先の話があって、そちらの方が個人的にはもっと重要な示唆になっています。

実は、お客さんサイドはずっとやりたいことがあって、それがITの制約で出来ていなかったということがありました、という話です。

お客さん、「それでですね。まー、もし無理なら無理でいいし、これはこちらの想像ですが、XXの計算も、もしかしてもしかして、できたりするかな?とか思うのですが、どどっどど、どうですかね?」

PM「いや、普通にできますが」

お客さん「本当に?」

PM「はぁ、別に普通にできます。」

この時のお客さんサイドとウチのメンバーとのテンションの差はかなりありました。それはそうでしょう。技術的にはHadoopをつかえばそんなに難しい話ではなく、割と簡単な話ではあります。が、お客さんにおいては実に昔年の課題が解決する糸口になる、という話なので。(既存の仕組みでやれることはやれるのですが、ほぼ70時間バッチですね。Hadoopだとノン・チューンで一時間を切ります。)

この辺のギャップ感はもう少し注目されてもいいかな、とは思います。ユーザー企業側にすれば、もの凄く妥協している、システムに合わせているということが非常に多いです。これは金額の問題もあるのですが、その遠因には技術的な問題が転がっていることが多い。

また、その妥協というのは、「普通に考えれば、できて当たり前じゃないのか?」というレベルのことが非常に多い。(上記のお客さんの例も、業務的な重要性から冷静に考えるとそのくらいできないとまずくね?という内容ではあります。)このできて当たり前感が、IT側によくわからないし、ユーザー側も不便に慣れすぎると先入観が出来上がってしまっています。とくに一種の技術的なブレイスルーがあった時に、このギャップ感が顕在化します。

現実には、このギャップを埋めるだけで、相当いろいろ変わります。そして、埋めてみると、そもそもギャップがあったことすら、逆に違和感がでるくらい当然のことのように見えます。

(ただし、「今までできなかったことができるようになる」というのは、「今までできなかったことが、そもそも何であり、なぜできなかったのか?」ということが(先入観なしで)わかっていて初めて可能になることではあります。)

ポイントとして感じるのは、以下です。

1.そもそも技術サイドは、顧客の業務がどうなっているのか?ということにもう少し気を使った方が良い。
これだけSIが失敗し続けると勢い、とにかく「作って押し込む」という側面がSIには強くなることがあるのは事実だと思います。が、少なくとも、顧客の業務を欠片でもいいから理解しようと努めることが大事かと思います。

顧客の業務はどうしたら多少なりともよくなるのか?ということを考えないSEは、新しい技術には鈍感な事が多いです。当然ですが、新技術を採用するインセンティブがないためでしょう。結果として、技術的には相対的に劣化していくことが多い。これは個人的な問題よりも組織的な問題の方が大きいですね。昔は技術志向だったが、上場公開して、数字至上になり、最後は技術には無関心という会社は結構多いです。そういった会社のSEサイドの技術劣化は非常に激しい。逆に、割と技術志向の会社の方が、よく見ていると顧客志向に近いということもあります。自分らの存在意義を保つためにも、顧客の問題をどう解決するか?ということにウェイトを置かざる得ないからでしょう。

2.ユーザーサイドでも非常に頭を使う必要がある
例えば、自分たちはバッチが速くなるというキャッチーな売り方をしていますが、本質は実はそこではないです。速くなった先にユーザーサイドでは出来る事が非常に広がる。それは我々IT屋(含むコンサル)がどうこういう話ではなく、ユーザーさんのそれこそ「生産的な想像力」の範疇の話です。本来はそこが狙いです。

が、これは簡単に見えてそうはいかない。どうしても「いままでの制限」に捕われることがおおい。

実際、いろんなユーザーさんとお話をして感じるのは、強烈に頭の回転が速い方やチームは、やはりバッチの高速化は効果をそこに限定しません。その延長線上に、まったく別のことを考えられることが多いです。残念ながらそうでない方は、あくまでバッチの便宜的な高速化(それはそれで意味はあるのですが)に考えを限定されます。

んで、このときの発想が面白く、優秀な方ほど「なにか凄く新しいことができないかな?という“思いつき“」ではなく、「現実にできてなくて、しかし、できればかなり劇的に変わる」というクリティカル・ポイントを見つけることがうまいです。これはおそらく、これができないのか?あれができないのか?と試行錯誤を繰り返していった経験知の賜物でしょう。

そんな感じでユーザーサイドでも、相当知恵を絞る必要があります。

3.こういったことを実現することが、実はSIの目的だったはず。
異論がある人はむしろ少ないでしょう。

それがいつの間にか、IT側は稼働率優先+コストコンシャスなビジネスモデルになり、ユーザー側はITのあり方を考える能力の外注化(=あまり考えないという組織)という結果になり、お互いの一種の野合というか、凄く政治的なビジネスになってしまっています。・・・これでは、どうしようもないでしょう。

むしろ、立ち戻ってなんのためにSIなのか?をお互いに考え直すべきです。自分はSIは今とは違う形で、しかし必要だと思っています。

正直、代替案としてのパッケージは業務系ではやはり無理があると思います。そろそろ限界も露呈しています。売っている方もその辺はわかっているはずです。先日見かけた、某ドイツ系のERPのプレゼン資料でも「製品を信じる、ということが大切です」という字面も踊っている内容になっていて、もはや新興宗教ですか、というカルトなレンジに届いています。これではさすがに・・・

またできるだけ簡易な仕組みを提供してユーザーサイドで全部やってしまうべきだという話もありますが、これも無理があります。特に、技術を信頼性のあるレベルまで作り上げるというのは、そもそもその技術を良く知らないとできないわけで・・・Unixのシェルで全部やるとか、Excelのマクロだけで受発注処理するとか、そーゆー話ではないです。

「普通にできるべきことが、できるシステム」を構築するために「今とは違う形」を模索すべきです。ユーザーとベンダーのそれぞれの発想の転換が必要でしょう。

4.技術的なブレイクスルーを活かすのは足下の話から始めるべき
なんどもはっきり申し上げていることではありますが、そろそろ「新技術 -> 思いつきのニュー・ビジネス -> なんかお金が天から降ってくるかもしれない」という発想は、いい加減にした方がよろしい。子供の教育にも宜しくない。

顧みると技術的なブレイクスルーは、普及すると実は「別に違和感はないわね」という事が多い。要するに意外に派手さはない。

なぜか? 簡単です。

そもそもまず対処すべき課題が明確に認識されていたからです。日本でのほとんど「すべての技術的なブレイクスルー」は、“思いつき”ではないです。これぐらい当たり前に出来てほしい、ということの課題のクリアから生まれています。(僕は、この「当たり前」の感覚が共有化できることが技術屋の本質だと思います。クラフトマンシップと言ってもよい。)
課題が解決して、あることができるようになることは、一面では文字通り「単純な課題の解決」でしかないです。できてみると「まぁそれはそうだな」ということが多い。ただし「冷静に考えるとそれはそれで凄い。」

技術革新はそういったところから生まれていると思います。

まずは、その辺に転がっている問題で、「誰がどう見てもそれはおかしくないか?」という問題から片付けるべきです。論争になるようなものとか、思いつきベースのニュー・マーケットとか、・・・そんなに皆さん暇ではないでしょう?

最近のITの煽り方は、ウェブにしろ、ソーシャルにしろ、ビッグデータにしろ、頭でっかちで、足下が見えてない感が特に酷いので、大丈夫かよと思う事が多いです。そんなに肩肘張らずに、まず足下を見ましょうよ。

そんな感じです。