【レポート】

JavaOne 2006 - IBM General Session: Eclipseに見る開発サイクルの秘訣

    杉山貴章  [2006/05/20]

    米カリフォルニア州サンフランシスコ市で開催中の2006 JavaOne Conference、3日目にあたる18日(現地時間)のジェネラルセッションにはIBM Rational SoftwareでEclipse開発に従事するErich Gamma氏とJohn Wiegand氏が登場した。Erich Gamma氏はEclipse Java Development Projectのリードであり、またEclipseおよびEclipse Toolsプロジェクトのメンバーでもある。John Wiegand氏はEclipseプラットフォーム開発の主要なアーキテクトの一人であり、またIBM Rational Development ToolやIBM Visual Age for Javaなどの開発において中心的な役割を務めた存在である。

    Erich Gamma氏(左)とJohn Wiegand氏(右)

    両氏は、Eclipse開発チームが一定のサイクルでいかにして高品質のプロダクトをリリースし続けることができているのか、開発現場の裏話を交えながらその洗練されたリリースサイクルを紹介した。Eclipseは2001年にバージョン1.0がリリースされて以来毎年バージョンアップを繰り返し、今年6月にはバージョン3.2が正式リリースされる予定である。Eclipseプロジェクトが5年もの長期に渡ってほぼ定期的に新しいバージョンをリリース続けることができたポイントはどこにあるのだろうか。

    両氏は、第一にプロジェクトのリズムが重要であると語った。図.1はEclipse 3.2のマイルストーンのリリースサイクルを表したスライドである。

    図.1

    各マイルストーンは計画から開発、安定化までを約6週間の日程で行ない、それを繰り返しながら完成度を高めていく。このときに重要なのが 、図の下部に示されたFitnessのリズムであるという。開発の段階ではFitnessは徐々に低下していくが、安定化の段階でそれを適切なレベルまで引き上げてからリリースする。各マイルストーンでは常にこのリズムでFitnessが上下する。たとえマイルストーンといえども、Fitnessが低下したままでリリースすることが無いという点がポイントである。このリズムによって、製品の品質を常に一定以上の水準に保つことができる。

    次に示された図.2のスライドは、Live Betaに対する開発サイクルのあり方を示している。初期段階では少人数のチームによって細かなアップデートを重ね、ある程度の段階でプロジェクトチームによる週単位でのビルド工程に移る。そして最後にコミュニティ単位でのマイルストーンの開発に着手するという流れである。このときに重要なのは、成果物を自分達で使用し、常にフィードバックを得ることだという。

    図.2

    β版から正式版に移るリリースの最終段階ではFitnessを低下させないで、最終的な完成度を高めることに従事する。テストを重ね、バグのフィックスにかけるコストを増やす。図.3はEclipse 3.2のリリース最終段階における開発サイクルのプランだとのことである。

    図.3

    続いて両氏は、プロジェクトの持続性について語った。まず重要なのは繰り返し処理や成果物の提供、プロダクトのパッケージングなどを容易にし、同時にリファクタリングを実施、APIの安定性を高めることだという。Eclipseプロジェクトではそれを実現するために常に新しい開発ツールを提供し続けてきた。図.4のスライドに示されているのはその一例である。なお、Eclipse 3.2では新たにUIによるデバッグツールが提供される。

    図.4

    次に重要なのが、常にパフォーマンスを維持することだと説く。そのためには開発サイクルにパフォーマンス・テストを導入し、常にパフォーマンスを把握できるようにする。適切な分析のためにパフォーマンスの視覚化ツールなどを使用するのが望ましい。

    また、ツールの機能を向上させることも大切である。Eclipseプロジェクトの場合、新たな開発ツールをEclipseで作成し、それを使用して次のバージョンのEclipseを開発するといったサイクルで、常にEclipse本体と開発ツールの両方が向上し続けている。

    図.5

    本セッションの内容はErich Gamma、とJohn Wiegand両氏による、Eclipseプロジェクトに見る開発サイクルの成功例の紹介に徹していた。トップ企業の行うGeneral Sessionとしては異例の内容と言えるかもしれない。しかし。ここで紹介された開発サイクルにより永い間に渡ってEclipseプロジェクトが高い成果を出しつづけてきたことは事実であり、多くの企業やグループにとって非常に興味深いセッションとなったっただろう。この超一流のケーススタディを元に、プロジェクトの開発サイクルをもう一度見つめ直してみたい。

    Erich Gamma氏(左)とJohn Wiegand氏(右)。中央はSunのJohn Gage氏

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン