敏捷式開發

要談 TDD 就不得不說明敏捷軟體開發(agile),跟豐田式生產一樣,敏捷式開發也致力於杜絕所有可能的浪費。

參考 wiki 中的說明:敏捷軟體開發

敏捷軟體開發(英語:Agile software development),又稱敏捷開發,是一種從1990年代開始逐漸引起廣泛關注的一些新型軟體開發方法,是一種應對快速變化的需求的一種軟體開發能力。它們的具體名稱、理念、過程、術語都不盡相同,相對於「非敏捷」,更強調程式設計師團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟體版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更注重軟體開發中人的作用。

敏捷開發宣言

  • 個人與互動 重於 流程與工具:避免資訊的錯誤,浪費溝通的時間
  • 可用的軟體 重於 詳盡的文件:若詳盡的文件就是可用的軟體,可避免維護兩個地方,且文件就是運作結果本身。
  • 與客戶合作 重於 合約協商:客戶才是需求的本身,與客戶合作將更接近目標,不會花錯力氣
  • 回應變化 重於 遵循計劃:唯一不變的就是變,計畫趕不上變化,如果只是不知變通的依計劃進行,往往知道方向錯了已來不及

其中關於「可用的軟體 重於 詳盡的文件」是 TDD 最高指導原則,要談 TDD 就必須知道 spec 的重要性,下一節將進行說明。

results matching ""

    No results matching ""