
設計城
|
129
但是,與大都會不同的是,這些粗工都會被標記為
技術債務
,並放入行事曆,準備日後
修改。這些瑕疵非常明顯,讓開發人員一定要處理它們,否則會覺得不開心。再次,我
們看到開發人員會對設計的品質負責任。
技術債務
技術債務
是由 Ward Cunningham 發明的名詞,目前已被廣泛地用在軟體業當中。這個
隱喻來自金融業:做出協助軟體快速推出的決定,就像是辦理貸款。它可以讓你
現在
做
些採用其他方法無法做到的事情。
但是你不能忽視那筆債務,你一定要償還。你愈晚償還,就需要付出愈多代價。如果你
不能及時償還貸款,就必須支付貸款的利息,讓你的購買力降低。
在軟體世界中,這代表你要回去程式碼並更新它,否則你的進度會因為程式債務而停滯
不前。這很重要:長遠來說,較低的程式品質代表較長的開發時間,但是一個負責任的
短期貸款
可以
提升速度。
技術債務可能是延遲重構、因為發現一些事情而調整設計、在下一個主要版本釋出前,
等候更新程式庫或工具集、或合理化記錄 / 除錯的支架。
有一個可能會被誤用的生動比喻:技術債務
不
是只代表做些不好的事情。有時編寫不好
的程式碼是“務實”的,務實與草率是有差別的。
在你的開發武器庫中,有意識地管理技術債務是件強大的武器。不要高築債台,請讓大
家都可以看見它。如果真正的借貸,盡早還債,以避免承受過多利息與費用的苦惱。
在我們的核心決策中,有一條是程式必須經過單位測試,而且系統也要經過整合與驗收
測試。單位測試有很多好處,其中之一就是:你可以改變軟體的一部分,而不需要擔心
在過程中毀掉其他的部分。 ...