アジャイルで大切なのは、個人の生産性よりもチームの生産性
― GMがハイブリッド自動車「シボレー・ボルト」のソフトウェア開発でアジャイル開発を大々的に取り入れて成功したことが話題となりましたが、その内容をお聞かせ下さい。
確かにGMはボルトのソフトウェア開発にアジャイル開発を採用したことで生産性を大きく向上させました。その成功の要因は3つあると言っていいでしょう。
まず1つが、アジャイル開発におけるプロセスの管理基盤と統合開発プラットフォームとして、Rational Team Concertとそのベースとなる「Jazz」を採用しているということです。 次に、複雑性の解消による生産性の向上を目指して、ソフトウェアの再利用を推進している点も重要です。カーエンターテインメントからエンジン管理、ブレーキ管理に至るまで、再利用可能なコンポーネントは様々な分野で徹底的に活用しているのです。
そして最も大きい要因が、個人の生産性よりもチームの生産性に重きを置いたことでしょう。これは、アジャイル開発の精神とウォーターフォール型開発の精神を差別化する根本的な価値観の違いだと思います。
ウォーターフォール型開発では、適用範囲や要件、設計などをコンポーネントごとに分割して管理しながら、成果物として最後に統合するというやり方を用いています。これに対してアジャイル開発では、まずはチームの成果物を見ていき、その振る舞いやユースモデルを統合してその内容をよく理解します。その次に、個々のコポーネントや完了テストといった要素に対する投資を考えるのです。 こうしたやり方によって、GMではソフトウェア開発の期間を通常の半分に短縮しました。Jazzのプラットフォームのとても良い活用事例だと言えるでしょう。
― チームの生産性を重視した際に、Jazzはどのような効果を発揮するのですか?
我々は、様々な個別ツールを買収してRationalの製品ポートフォリオに統合しながらRational事業を進めてきたわけですが、その経験から新しいアーキテクチャを構築する必要があることを学びました。それは、サービスを起点にしており、開発環境におけるSOAのようなものですね。そこで、Jazzプラットフォームを打ち出したのです(図)。
Jazzと他社の開発プラットフォームとの大きな違いは、Jazzではチームの生産性やコラボレーションのサポートをまず第一に扱っているということでしょう。そして個人の生産性や役割ベースのツールについてはその上に持ってきているのです。ですから、生産性や品質を高めるなどチームの成果をより良いものにしつつ、コミュニケーションから生じるミスも防ぐことができるわけです。
Jazzプラットフォームは3年前に生まれましたが、さらに現在では最新のCLM(コラボレーティブ・ライフサイクル・マネジメント)のプロダクトも誕生しています。CLMとは、コラボレーションを軸にして成果物を統合的に管理する手法ですが、これを取り入れたことで、これまでの高度な統合とコラボレーションのサポートに加えて、新たにビジネスアナリシスやメトリクス、さらには経済的な結果を測定するための最適化までも実現できるようになったのです。
また、JazzはEclipseをベースにしたオープンな環境で構築されており、OSLC(Open Services Lifecycle Collaboration)に対応しているのも大きな特徴です。
― ロイスさんの言う、ビジネスへのインパクトを尺度にしたソフトウェア開発の評価にもJazzは貢献するのでしょうか?
もちろんです。我々は、Jazzプラットフォームを通じて統合とコラボレーションを最適化することで、ダイナミックな舵取りによるビジネス価値の最大化を図ることを目指しています。大きなビジネス価値は、チームの生産性の中にこそ潜んでいるのですから。