極低缺陷專案
2004 年 1 月 24 日
當人們談論極端程式設計時,他們通常會關注於其適應性規劃風格,或其演化式設計方法。一個特別令我感興趣的小趨勢是,極端程式設計專案的缺陷率極低,這表示每個月產生的錯誤少於一個。
我遇到的第一個案例是 Kent 描述的一家製造食品分類機器的公司。這些機器有輸送帶通過相機和其他感測器,這些感測器會將水果和蔬菜分類到不同的類別中(所有這些東西都是由 Smalltalk 驅動的)。該團隊一次有大約一百個公開的錯誤,但自從採用極端程式設計後,錯誤率下降到每幾個月才會出現一個錯誤。
我特別高興遇到我看到的第二個案例,因為它涉及我幾位來自C3的老朋友。他們現在正在 Chrysler 建構一些入口網站軟體。儘管他們一開始的缺陷率令人震驚,一個月一個,但在 2002 年,他們針對其系統記錄到的錯誤正好是一個。在此期間,他們每週或每兩週就會發布新版本的軟體。
一家軟體公司已大幅轉向極端程式設計。其許多工作都涉及大型傳統系統,這是一個挑戰。但在一些新的開發中,他們的缺陷率極低。其中兩個這樣的專案每個月錯誤不到一個。其中一個發現預先安裝的政府認證從數週縮短為數天。
我們在 Thoughtworks 也看到了其中一些情況。在我們候選的極低缺陷專案上發布還為時過早,但有少數專案看到類似的低錯誤率。
雖然這些低錯誤率僅由少數專案達成,但確實是團隊認真採用 XP 後,常見的結果,會看到顯著降低的錯誤率。我聽過許多關於缺陷率大幅下降的故事,即使他們沒有達到低於每月一個錯誤的程度。
我必須強調到目前為止,只有少數 XP 團隊獲得非常低的錯誤率。到目前為止,我只遇到少數團隊。這些團隊似乎非常有紀律,並且由具有兩年或以上 XP 經驗的人員領導。
由於這仍然是專案中很小的一部分,因此您不應假設僅採用 XP 就能獲得超低的錯誤率。您也不應假設其他流程也無法獲得這些類型的錯誤率。
但我可以得出結論,這些類型的錯誤率在軟體開發中是可以實現的。我也可以得出結論,有些達到此目標的團隊認為 XP 是幫助他們實現目標的非常重要的工具。