原文:
術語」技術債務「是由ward cunningham 首次提出,指的是開發團隊在設計或架構選型時從短期效應的角度選擇了乙個易於實現的方案,但從長遠來看,這種方案會帶來更消極的影響,亦即開發團隊所欠的債務。敏捷專家們就技術債務到底是什麼以及如何對其進行分類給出了自己的看法。
martin fowler 認為下面的定義最能表現技術債務 的含義:
技術債務類似於金融債務,它也會產生利息,這裡的利息其實就是指由於魯莽的設計決策導致需要在未來的開發中付出更多努力的後果。我們可以選擇繼續支付利息,也可以通過重構之前魯莽的設計來將本金一次付清。雖然一次性付清本金需要代價,但卻可以降低未來的利息。steve mcconnell 將技術債務分為兩類 :
bob大叔 補充到,有時人們將壞味道也看作是技術債務,但這是錯誤 的,他說:
壞味道並非技術債務。壞味道就是壞味道。技術債務的評價標準是真實的專案約束,這些約束是風險和好處並存的。壞味道的產生永遠都不是理性的結果,而是由懶惰和外行導致的,未來也沒有機會償還了。壞味道總是意味著損失。bob大叔說技術債務讓人們時刻牢記保持**的整潔,就好像乙個人在揹負巨大的抵押債務時需要時刻保持警醒一樣。他又說一旦團隊決定採納技術債務,那就意味著保持**的整潔將變得空前的重要。如果不這樣,情況很快就會變得糟糕不堪,償還這些債務的代價也變得越來越大。
martin fowler認為壞味道也是技術債務,只不過是另一種形式的技術債務而已。他覺得壞味道是一種不計後果(reckless)的債務,相對於根據精確計算而得來的謹慎的(prudent)債務而言,壞味道會讓問題變得更加嚴重。他又加上了故意(deliberate)以及無意(inadvertent)從而將技術債務劃分為四個象限。
martin通過如下示例將技術債務劃分為4個象限 :
不計後果,故意的——團隊沒有時間做設計,僅僅給出了乙個匆忙做出的方案,缺乏對質量的預見。
謹慎,故意的——儘管有很多已知的缺陷,但團隊必須現在交付產品,同時對此造成的後果心中有數。
不計後果,無意的——團隊壓根就不知道基本的設計原則,更不用說引入的壞味道了。
謹慎,無意的——那些擁有優秀設計師的團隊很容易遇到這種情況。他們交付的方案具有商業價值,但在完成方案後才明白什麼才是最好的方案。
綜上所述,實際的專案中將不可避免地存在技術債務問題,這是無法杜絕的,但問題的關鍵在於千萬不能引入不計後果的債務,因為它會持續不斷地產生壞味道,也很難對付。
解析技術債務
原文 術語 技術債務 是由ward cunningham 首次提出,指的是開發團隊在設計或架構選型時從短期效應的角度選擇了乙個易於實現的方案,但從長遠來看,這種方案會帶來更消極的影響,亦即開發團隊所欠的債務。敏捷專家們就技術債務到底是什麼以及如何對其進行分類給出了自己的看法。martin fowle...
技術債務?管理債務?
昨天晚上重要客戶再次投訴。這已經是最近幾個月的第三次投訴了!當年為了爭客戶,給客戶迅速開發了跨越三個系統的定製需求。客戶爭到了,這個快速的定製需求就一直當正式工具被用起來。這是第三年了,這個定製功能一直在找麻煩,甚至有可能丟到客戶。昨天晚上是因為其中的乙個系統切換到備份,但是其他系統不認識備份系統的...
初探「技術債務」
最近舉行了乙個技術債務研討會,以改進我們對 技術債務 technical debt 的理解及其解決之道,該研討會迸發出一些有趣的觀點。其中乙個觀點引起了包括michael feathers和brian marick在內的很多人的注意,那就是我們應該將對問題的理解集中在 資產 而不是 債務 上。會議組...