【レポート】
米カリフォルニア州サンフランシスコ市で開催中の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などの開発において中心的な役割を務めた存在である。
両氏は、Eclipse開発チームが一定のサイクルでいかにして高品質のプロダクトをリリースし続けることができているのか、開発現場の裏話を交えながらその洗練されたリリースサイクルを紹介した。Eclipseは2001年にバージョン1.0がリリースされて以来毎年バージョンアップを繰り返し、今年6月にはバージョン3.2が正式リリースされる予定である。Eclipseプロジェクトが5年もの長期に渡ってほぼ定期的に新しいバージョンをリリース続けることができたポイントはどこにあるのだろうか。
両氏は、第一にプロジェクトのリズムが重要であると語った。図.1はEclipse 3.2のマイルストーンのリリースサイクルを表したスライドである。
各マイルストーンは計画から開発、安定化までを約6週間の日程で行ない、それを繰り返しながら完成度を高めていく。このときに重要なのが 、図の下部に示されたFitnessのリズムであるという。開発の段階ではFitnessは徐々に低下していくが、安定化の段階でそれを適切なレベルまで引き上げてからリリースする。各マイルストーンでは常にこのリズムでFitnessが上下する。たとえマイルストーンといえども、Fitnessが低下したままでリリースすることが無いという点がポイントである。このリズムによって、製品の品質を常に一定以上の水準に保つことができる。
次に示された図.2のスライドは、Live Betaに対する開発サイクルのあり方を示している。初期段階では少人数のチームによって細かなアップデートを重ね、ある程度の段階でプロジェクトチームによる週単位でのビルド工程に移る。そして最後にコミュニティ単位でのマイルストーンの開発に着手するという流れである。このときに重要なのは、成果物を自分達で使用し、常にフィードバックを得ることだという。
β版から正式版に移るリリースの最終段階ではFitnessを低下させないで、最終的な完成度を高めることに従事する。テストを重ね、バグのフィックスにかけるコストを増やす。図.3はEclipse 3.2のリリース最終段階における開発サイクルのプランだとのことである。
続いて両氏は、プロジェクトの持続性について語った。まず重要なのは繰り返し処理や成果物の提供、プロダクトのパッケージングなどを容易にし、同時にリファクタリングを実施、APIの安定性を高めることだという。Eclipseプロジェクトではそれを実現するために常に新しい開発ツールを提供し続けてきた。図.4のスライドに示されているのはその一例である。なお、Eclipse 3.2では新たにUIによるデバッグツールが提供される。
次に重要なのが、常にパフォーマンスを維持することだと説く。そのためには開発サイクルにパフォーマンス・テストを導入し、常にパフォーマンスを把握できるようにする。適切な分析のためにパフォーマンスの視覚化ツールなどを使用するのが望ましい。
また、ツールの機能を向上させることも大切である。Eclipseプロジェクトの場合、新たな開発ツールをEclipseで作成し、それを使用して次のバージョンのEclipseを開発するといったサイクルで、常にEclipse本体と開発ツールの両方が向上し続けている。
本セッションの内容はErich Gamma、とJohn Wiegand両氏による、Eclipseプロジェクトに見る開発サイクルの成功例の紹介に徹していた。トップ企業の行うGeneral Sessionとしては異例の内容と言えるかもしれない。しかし。ここで紹介された開発サイクルにより永い間に渡ってEclipseプロジェクトが高い成果を出しつづけてきたことは事実であり、多くの企業やグループにとって非常に興味深いセッションとなったっただろう。この超一流のケーススタディを元に、プロジェクトの開発サイクルをもう一度見つめ直してみたい。
|
|
Erich Gamma氏(左)とJohn Wiegand氏(右)。中央はSunのJohn Gage氏 |
| JavaOne 2006 - Oracleキーノート--Ajax対応JSF実装公開、JVM上でのスクリプト言語積極対応 [2006/5/18] |
| JavaOne 2006 - Jonathan Schwartz CEO基調講演で「Java EE 5/SE 6」の最新デモなど公開 [2006/5/17] |
| 超新星残骸中にないはずの多量の一酸化炭素 - 天文衛星「あかり」が発見 [21:42 2/9] |
| 【レポート】ROBO-ONE委員会 - 第20回大会でのROBO-ONE Lightの開催を決定 [20:27 2/9] |
| 火星に海の存在を示す有力な証拠が発見される - ESAが発表 [18:48 2/9] |
| iOS向けSPDYライブラリが登場、普及はじまるSPDY [11:57 2/9] |
| GitHubのアクティブプロジェクト、もっとも多いのはMITライセンス [11:42 2/9] |
|
[中井貴一]兵庫県知事「平清盛汚い」発言にユーモアで反撃 [07:00 2/10] エンタメ |
|
【連載】出社前に。日常生活ですぐに使える! 英語クイズ 第117回 「黒幕、陰で糸を引く人たち」ってなんて言う? [07:00 2/10] ライフ |
|
[長谷川博己]新人賞受賞で“ミタ”がキタ! 鈴木京香との熱愛は「ご想像にお任せ」 [06:00 2/10] エンタメ |
|
[AKB柏木由紀]「SDN48」ラストシングルMVにゲスト出演 メンバーの10年後の同窓会で再会 [05:00 2/10] ホビー |
|
大東駿介、改名後初の写真集発売--名前を変えたのは「自分の決意表明です」 [00:30 2/10] エンタメ |