用金錢計算技術債務

2021-09-17 03:54:31 字數 1335 閱讀 2933

很多敏捷團隊都能認識到技術債務相關的罪狀。就跟財務上的負債一樣,技術債務也會產生利息。要支付這些利息,就要付出額外努力維護和改進正在「腐化」或基礎並不牢固的軟體。諸多敏捷人士推薦盡早償還技術債務。然而,大多數敏捷團隊無法成功以金錢的方式計算技術債務,因此無法得到有價值的深入理解和思考。

\ 一旦有了與技術債務直接相關的金錢數目,關於軟體的多種複雜而麻煩的問題就能得以回答。israel gat提出:除非對於技術債務有乙個量化的賬單,否則團隊都會忽略其重要性,軟體會因此而逐漸腐化,無法補救。

\

當債務達到一定程度之後,就沒有什麼好的補救方法了。**質量非常糟糕,這時要修復任何部分都會造成傷害,不管修復**似乎都會破壞其他某些部分**。
\

他還提到了以金錢方式計算技術債務的需要,並使用收支平衡表展示出其作為債務的一面。

\ 在israel看來,以金錢方式計算技術債務有如下好處:

\ 能夠告訴團隊何時停止開發,開始重構

——當技術債務達到一定程度後(比如每行**25美分),就要暫停開發新功能。團隊進入重構過程,除非債務得以償還,否則不加入任何功能。\

軟體的客戶對於軟體的風險得以了解——israel認為這符合敏捷宣言中的一項:「客戶協作勝過合同談判」。\

風險投資者能夠以此做出投資決策——vc們可以以此判斷向某項軟體產品中投入資金是否理智。\

有助於判斷軟體的支付能力——軟體在其生命週期的演化過程中,與之伴隨有開發和維護活動,以金錢方式計算技術債務能夠有助於回答與這些活動相關的支付能力問題。\

有助於人們在重構和重寫這二者之間做出選擇——將技術債務與其他重要因素聯合起來,能幫助人們判斷是否要重新開始。\

有助於定義限額——一旦金錢上的限額定義出來之後,就能幫助cxo等利益干係人做出成熟的決策。\

那麼,有哪些有效的方式可以用來將技術債務以金錢衡量呢?

\ 使用sonar中的技術債務外掛程式是一種方式。在sonar的實時站點上,已經有了對於多個專案的技術債務分析。要計算成本,首先要使用下面的方式找出債務:\

在上面各種違規情況中,對於每個小時的成本有個預設值。比如:\

現在,比如預設的「修復重複部分的成本」為2個小時。假設每個開發人員每天的成本是500美元,一天有8個小時,那麼修復乙個重複部分就要花費125美元。與之類似,就可以做出針對各種違規情況的金錢分析,並可以計算出最終的技術債務總和。

\ 因此,以金錢方式計算技術債務能夠讓人們深入理解與軟體相關的潛在成本。對於所有希望監控技術債務成本並將其保持在一定限額內的敏捷團隊來說,這很關鍵。這麼做有助於創造乙個易於維護和改進的軟體產品,同時讓vc有信心投資,讓客戶有信心買單。

\檢視英文原文:monetizing the technical dept

雲計算技術

雲計算基礎設施架構 雲計算基礎設施平台一般分為以下幾層 物理設施,虛擬化,管理,服務提供。物理設施被虛擬化,提供乙個靈活的資源池體提高資源利 用率。管理層負責物理資源和虛擬資源池的管理 部署 監控 報警等。服務提供層組合管理層的功能提供某種形式的服務。雲計算存在的難題 連續高可用性 某個集群的失效處...

RAC(Oracle網格計算技術)

不同的集群產品都有自己的特點,rac的特點包括如下幾點 雙機並行。rac是一種並行模式,並不是傳統的主備模式。也就是說,rac集群的所有成員都可以同時接收客戶端的請求。高可用性。rac是oracle資料庫產品高可用性的解決方案,能夠保證在集群中只要有乙個節 不同的集群產品都有自己的特點,rac的特點...

雲計算技術原理

由於雲計算分為 iaas paas 和saas 三種型別,不同的廠家又提供了不同的解決方案,目前還沒有乙個統一的技術體系結構,對讀者了解雲計算的原理構成了障礙。為此,本文綜合不同廠家的方案,構造了乙個供商榷的雲計算體系結構。這個體系結構如圖 所示,它概括了不同解決方案的主要特徵,每一種方案或許只實現...