ビジネスのスピードのための四つの技術の整理
クラウドという新しい技術の出現、そしてそれがサービス提供のスピードを上げると語られている昨今です。が、もちろんビジネスでのサービス自体を作り上げるプロセスはあるわけで、クラウドを使えばそれだけで全体のスピードが増すわけではないでしょう。サービス、つまりアプリケーションを作るプロセスを速める技術として、アジャイル等々が浮かびますが、アプリケーションの発想からユーザーに届けるまでを、最近の新しい技術で整理した、シンプルでいいまとめを見つけたので紹介したいと思います。
以下は、2012年にPaaSのHerokuのイベントであるWazaで、共同創業者のAdam Wiggins氏が基調講演したものです。
サービス構築のためには、アイデアに始まり、それを実装し、展開し、ユーザーに届ける。それぞれがアジャイル、フレームワーク、クラウド、SaaSという新しい技術体系で、そのスピードとやり方をここ10年で革新してきたというものです。
アジャイルはとかく実装の技術と思われがちですが、考えてみれば、繰り返し修正を加える、つまりサービスのアイデアそのものに修正を加えて、より速く、より適切なものにもっていく。というように捉えられます。フレームワークは、実装のためのやり方の骨組みを規定して、関係する開発者が、同じ考え方の枠組みを共有して、さらには同じ機能のコードをいろんなところで書かずに生産性を高めると理解できます。その開発したものをインフラを準備して展開するわけですが、ここはクラウドのように仮想的に準備されたものがスピードに勝るわけです。そしてユーザーは、それをURLによってネットワーク経由ですぐにSaaSとしてアクセスする。
ウォーターフォール的な4つのステップでの書き方ですが、実際にはアジャイル的にフレームワーク上で開発し、頻繁にクラウドに展開して、稼働をユーザーがSaaSとして確認する、といった繰り返しで進んでいるのは、みなさんよく知る最近の先進的なWebのサービスのあり方です。このことは。これら4つが一つ一つバラバラではなく、有機的につながって全体として一体で使われることで、本当の意味でのサービスの展開と進化をスピードをもって実現できると言えるでしょう。
では、今までウォーターフォールで開発してきた、社内システムや、大企業でのWebのサービスではどうでしょう。アジャイルに対しては、今までのプロジェクトのやり方と体制からか、プロジェクト・マネージャーやプログラマーに、そういったスキルがなく、管理しにくいと言われたりします。また、フレームワークは、多くのWebアプリケーションでは活用がされていますが、Javaベースの決まったフレームワークや、大企業では自前のフレームワークなどの活用からか、新しい言語や、モバイルなど新技術を取り込んだフレームワークへは、やはり人材のスキルなどの理由から新しいものへは二の足を踏んでいるようにも見えます。そしてクラウドとSaaS化は、データを外に出せない社内ルールとか、インフラ技術者や運用担当の既存のスキルがあるのでと躊躇されているところがあります。
今までの人材のスキルとルール。ITマネージメントから、これが新しい技術を使っての新しいサービスの立ち上げや、やり方を妨げる理由に挙げられるのは、事実として理解できます。一方で、それらのスキルとルールを前提としたとしても、スピードを高める必要性が高い分野には、それが理由にはできないのではと思います。もちろん既存のやり方とスキルの延長線上で他に選択肢があればいいのですが。
アジャイル、フレームワーク、クラウド、SaaS。これらはここ10年で成熟してきた技術です。そして上で紹介したプレゼンテーションにもあるように、これらは更にリーンスタートアップといった考え方に影響も受けて磨きをかけていきそうです。
IBMが調査した、IBM Global CEO Study 2012では、「世界の高業績企業のCEOは、今後3年から5年の間に、自社に影響を与える一番の外部要因はテクノロジー(71%)であると考えていることがわかった」と、新しい技術のインパクトの大きさと、それに対する対応の経営者の真剣度が表れています。
ITマネージメントの方などが、世の中で騒がれている技術の大枠を整理して、どうスピードをもってサービスの立ち上げを支援するか。そんなことを考える上での参考になればと思います。