クラウドコンピューティングとアジャイル開発の相性の良さ
セッションは「クラウドとアジャイル」と題した倉貫氏による短い講演で幕を開けた。同氏がカンパニー長を務めるSonicGarden(TISの社内カンパニー)では、Amazon EC2のクラウドプラットフォーム上で「youRoom」をはじめとする各種アプリケーションサービスを提供している。いわゆるSaaSと呼ばれるビジネスモデルだ。そして言うまでもなく、セールスフォース・ドットコムは「Salesforce CRM」をはじめとするSaaS型サービスをワールドワイドで提供する、世界最大のSaaSベンダーである。
倉貫氏は、ITビジネスのトレンドがオンプレミス型からクラウド型へ移行しつつあり、さらにクラウド型の中でもPaaS(Platform as a Service)の分野が注目を集めている現状を説明した後、クラウドとアジャイル開発の相性の良さについて次のように述べる。
「製造業における品質管理の特徴を一言で言えば、ユーザーが製品を買った時点で最高の品質を提供する“Point of Sales”型。一方のサービス業は、ユーザーがサービスを利用する間、常に最高品質の提供を目指す“Point of Use”型。クラウドは言うまでもなく後者に属するビジネスモデルだが、“Point of Use”で大事なことはサービスの“継続性”と“保守性”を担保すること。アジャイル開発は、この2つの目的に極めて良くフィットする」
安定した品質のサービスを継続的に提供してくためには、短いサイクルで繰り返し開発を進めていくアジャイル開発のモデルがとても良くマッチする。また、定常的に新しい機能やサービスを追加提供していくためには、システムの保守性をいかに担保するかが鍵を握る。この点においても、「変化を抱擁せよ」(Embrace Change)というXP(エクストリーム・プログラミング)のテーゼが表す通り、仕様変更や機能追加を前提とするアジャイル開発の手法はクラウドと極めて相性がいいと倉貫氏は指摘する。
セールスフォース・ドットコム独自のアジャイル開発手法「ADM」
続いて及川氏が登壇し、セールスフォース・ドットコムにおけるアジャイル開発への取り組みについて紹介を行った。同氏は2007年より同社日本法人のCTOを務めるが、それ以前は同社の米国本社R&D部門で製品全般の開発業務に長く従事している。
セールスフォース・ドットコムがアジャイル開発手法を採用したのは、2007年のことだ。1999年の創業当時はごく少人数でのウォーターフォール型開発でサービスを順調にリリースできていたものの、ビジネス規模とトランザクションの急速な伸びとともに開発者の数も急増。それに伴い、開発生産性も悪化してきたという。
そこで同社が2007年に導入したのが、「ADM」(Adaptive Development Methodology)と呼ばれる同社独自の開発メソッドだ。ADMについて及川氏は次のように説明する。
「ADMは、アジャイル開発手法『SCRUM』(スクラム)に基づいている。ただし、スクラムもそのままの形ではうまくいかない部分もあるので、社内のさまざまな事情に応じてXPのベストプラクティスを取り入れながら、スクラムをカスタマイズしている」
ADMの個々の手法はスクラムやXPのプラクティスそのものなので、アジャイル開発に詳しい人にとって特に目新しい点はないかもしれない。しかしここで注目すべき点は、実際にそれらの手法が、セールスフォース・ドットコムという極めて大規模なシステムの開発・保守で使われ、そして十二分に効果を発揮できているという点だ。事実、同社で2007年にADMを策定・導入した効果は、直ちに表れた。サービスリリースのサイクルは劇的に短縮され、リリースする機能の数も大幅に増えたという。
ADMの内容は多岐に渡るが、本セッションでは「スクラム」「品質優先」「オートメーション」の3点に絞って、その内容が披露された。