快速失敗法是近些年流行的一種軟件工程方法。它的主要思想是,讓可能的錯誤早點暴露出來。
我最近遇到一個案例,可以說明“快速失敗”這種思想的優點。
有一個任務,是把源代碼從SVN轉移到Git上去,這是個Legacy係統,源代碼裏麵放了很多不該放的東西,所以總共有30G。
有個顧問,做了一周,還是沒有完成任務,我看了他的流程,立刻意識到問題所在。
他先把所有東西,先轉移過去,然後再檢查結果,如果結果錯了,就從頭再來一遍。每次轉移的時間是十七個小時,他一周算上晚上時間,也最多試驗五次。
我向他介紹了“快速失敗”的方法,讓他先轉移一個分支,然後驗證結果。這一步驟,最多兩個小時。當一個分支轉移完後,再轉移第二個分支。這時候,可以比較兩個分支的差別。當這部做完後,才開始進行十七個小時的大任務。
原來一周的任務,采用快速失敗法後,縮短到兩天,大大提高了效率。