「時間をかければいいものができる」という意識を改革する
Q:ソフトウェアの品質に固執する傾向のある日本では、速いサイクルで開発を継続するアジャイル開発はうまくいくのでしょうか?
ロバート:日本の企業が「品質」を重視する傾向があることは、我々もよく理解しています。CAではここ半年ほど、日本市場のPPMの顧客からフィードバックをもらっています。その中では、品質を重視する傾向があったとしても、アジャイル開発に関心を示している企業が増えていることが分かってきました。
日本の企業がアジャイル開発に取り組む際の課題は、技術的なことよりもビジネス的な側面のほうが大きいと感じています。これは、アプリケーションを開発、提供する立場の人たちが、もっとビジネス・アナリティクス的な思考を持つべきだとも言います。
アプリケーションの品質を高めるためには、時間とコストをかけるべきだとの発想もあります。しかし、時間をかければ、良いものができるとは限りません。日本の企業の多くは、ここのところの意識を変える必要があるかもしれません。
Q:PPMの進め方はかなり計画的なものだと思います。対してアジャイル開発は、試しながらのアプローチでどんどん変化します。この2つのやり方は矛盾しませんか?
ロバート:PPMは最終的にどのようなエグゼキューションをするかを管理するものです。そのための投資を最適化します。ビジネスのアイデアがあって、それをシステムとして実現していく。その過程では、予算がありプロジェクトを発足して、システム化の作業を行います。この一連の進め方は、ウォーターフォール型でもアジャイルでも基本となる考え方は変わりません。
すべてのものを、アジャイルで開発すればいいわけではないでしょう。たとえば同じ銀行のシステムでも、バックエンドの仕組みはウォーターフォール型で時間をかけて作ったほうがいいものもあります。逆にフロントエンドのアプリケーションならば、アジャイル開発でどんどん改良したほうがいいでしょう。アジャイルでやるとしても予算があり、プロジェクトチームがあり、システムの目的があります。それらを適切に管理すべきなのは、ウォーターフォールの場合と同じです。
Q:アジャイルで開発していく際に、品質的に見てどのタイミングでリリースすればいいかの判断は難しくありませんか?
ロバート:確かにこの判断は難しいものがあります。どのタイミングで出すべきだという明確な答えがあるわけではないでしょう。さまざまな条件から最終的には製品オーナーが判断します。判断に至る、基本的な考え方は反復です。新しい機能を開発しテストして、ユーザーに提供します。そして、フィードバックを受けてまた開発しテストする。CAには、こういったアジャイル開発の反復プロセスに取り組んできた実績があり、世界中の企業をサポートしてき間下。そこで得たノウハウが我々には蓄積されています。それらを使って、コンサルティングを行っています。
たとえばCAには「アジャイル・コーチング」というプログラムがあります。これでは、製品開発を行うエンジニアが、反復のプロセスをどのように捉えればいいかなどをアドバイスしています。このアジャイル・コーチングは開発エンジニアだけでなく、プロジェクトチーム全体をコーチングするものです。
Q:日本の場合は、エンジニアリソースが社内ではなく外部にいる場合がほとんどです。そういった開発体制でもアジャイルはうまくいくのでしょうか?
ロバート:外部に開発リソースがいる体制でアジャイル開発に取り組むのは、確かに大きなチャレンジです。とはいえ、たとえばCAの大規模な顧客に全日空がありますが、彼らは異なるSI企業がいる開発体制でも、アジャイル開発に取り組み始めています。CAではそのような体制の全日空に対しても、コーチングなどでアジャイル開発のサポートをしています。
Q:日本のアジャイル開発の市場に対する期待は?
ロバート:日本市場への期待は2つあります。1つは、PPMの利用拡大です。PPMの市場はある意味成熟していてその理解は進んでいます。アジャイル開発が注目されることで、今後は大企業だけでなく組織規模に関わらずPPMの活用が進むと期待しています。
もう1つの期待は、グローバリゼーションによる市場の成長です。日本には製造業を中心にグローバルに進出しようとしている企業があり、そういった企業が日本でも海外でも1つのプラットフォームでシステムを構築したいと考えています。そこには、CAのソリューションに対するニーズが出てくると考えています。