John Wiegand 和 Erich Gamma 在EclipseCon 2005作了題為《Eclipse方式: Processes that Adapt》的主題演講,闡述了為何Eclipse的開發過程如此成功。
里程碑(Milestones first)
每6個星期為一個周期。每個里程碑都市一次小的開發周期(mini dev cycle)。計劃/執行/測試/回顧。里程碑式的開發減少了壓力。
持續集成(Continuous integration)
完全自動化的系統構造和測試。每日的晚間構造會發現不同組件之間的集成問題。每周的集成構造和所有的自動單元測試必須成功執行(至少在我們自己使用的時候足夠好)。里程碑的構造,則提供整個Eclipse社群使用足夠好的系統。
總是beta (Always beta)
每一次構造都視為一個候選的release,我們期待它是可以工作的。組件團隊每天使用最新的代碼,項目組則使用集成后的,而社群則使用里程碑構造的系統。
集體參與 (Community involvement)
以前的開發是不公布源代碼的,也很少交流。現在需要透明的開發過程。整個社群需要知道進行的如何,如何參與。需要開發式的參與,提高社群貢獻的價值
- 問題: 沒有人知道下一個里程碑中含有什么新功能
- 解決:發布新的和值得注意的功能(new and noteworthy)
持續的測試 (Continuous testing)
最初沒有單元測試,這就好像蒙著眼睛開車。現在,有超過20,000個JUnit測試單元,和整個構建過程緊密的聯系在一起。只有所有的測試都是綠色的時候(JUnit中,綠色表示測試通過),繼承構造才能通過。我們有3種不同的測試: 正確性,性能,資源
結束游戲 (Endgame)
正式發布之前或有一次匯總過程(convergence process)。包括了一系列的測試-改正的過程。每一次這樣的過程都會增加成本。關注于優先級高的問題。這里沒有專職的測試員。
- 問題:很疲勞的過程
- 解決:分攤到每一次發布,而不是集中在里程碑之前
最終截止(Final Closure)
以The Elcipse Project Team的名義,發布"Eclipse x.x now available"
放松自己(Decompression)
每次release之后的恢復期。可以自由的去探索一些新的東西,回顧上一個周期(達成的任務,失敗的地方,過程,小組之間的交流)。開始計劃下一個release的過程。
每個周期的時間
- Release 周期: 12-16 個月
- 里程碑: 9個月
- 結束游戲:1至2個月
- 放松期:1個月
這里是第一部分。詳見eclipsepowered.org
[注:]這是從我在CSDN的Blog上遷移過來的。

eclipsepowered.org
Email this store to a friend(send a short email with a subject to this story)
Subscribe to kukooBlog (subscribe kukooBlog's RSS feed)
Send me feedback on this story
Eclipse
Eclipse