減少技術(shù)債務(wù)的八個(gè)KPI
為了確保IT項(xiàng)目的長(zhǎng)期成功,利益相關(guān)者應(yīng)跟蹤某些KPI,以確保技術(shù)債務(wù)盡可能低。
處理技術(shù)債務(wù)是不可避免的,但某些KPI可以幫助項(xiàng)目團(tuán)隊(duì)減輕問(wèn)題,并防止未來(lái)出現(xiàn)問(wèn)題。公司通常會(huì)嘗試限制技術(shù)債務(wù)的累積,雖然有時(shí)可能看似必須積累技術(shù)債務(wù),但項(xiàng)目團(tuán)隊(duì)?wèi)?yīng)盡量避免這樣做。
例如,考慮到為趕上客戶上線日期而有意增加技術(shù)債務(wù),與因項(xiàng)目團(tuán)隊(duì)未遵循正確流程、未提供正確文檔或未進(jìn)行充分測(cè)試而積累的技術(shù)債務(wù)之間的區(qū)別。在第一個(gè)場(chǎng)景中,增加技術(shù)債務(wù)是必要的,而在第二個(gè)場(chǎng)景中則是可以避免的。
為了將技術(shù)債務(wù)最小化,項(xiàng)目利益相關(guān)者應(yīng)建立某些KPI,這些指標(biāo)可以顯示技術(shù)債務(wù)是否過(guò)多積累,從而讓團(tuán)隊(duì)采取糾正措施。
以下是項(xiàng)目利益相關(guān)者和其他IT領(lǐng)導(dǎo)者可以使用的一些KPI來(lái)監(jiān)控技術(shù)債務(wù)的積累情況,以及一些可以幫助的工具。
用于評(píng)估技術(shù)債務(wù)的8個(gè)KPI
識(shí)別IT項(xiàng)目中潛在的技術(shù)債務(wù)區(qū)域至關(guān)重要,這樣利益相關(guān)者才能在必要時(shí)采取行動(dòng)。以下列出了一些可以幫助項(xiàng)目領(lǐng)導(dǎo)者減輕技術(shù)債務(wù)的潛在KPI。
1. 每行代碼缺陷數(shù)
每行代碼缺陷數(shù)KPI將測(cè)試過(guò)程中發(fā)現(xiàn)的缺陷數(shù)量與編寫(xiě)的代碼行數(shù)進(jìn)行比較,代碼變更的原因會(huì)影響這一比率。例如,開(kāi)發(fā)全新的功能與改進(jìn)現(xiàn)有功能在該比率中會(huì)表現(xiàn)出不同的結(jié)果。
2. 技術(shù)債務(wù)比率
技術(shù)債務(wù)比率KPI衡量的是用于修復(fù)或調(diào)試軟件問(wèn)題的資金與創(chuàng)建軟件所花費(fèi)的資金之間的比例。
3. 時(shí)間花費(fèi)
跟蹤開(kāi)發(fā)人員的時(shí)間花費(fèi)可以為應(yīng)用程序可能的技術(shù)債務(wù)提供有價(jià)值的洞察。項(xiàng)目團(tuán)隊(duì)可以使用不同的編碼工時(shí)表來(lái)衡量時(shí)間的花費(fèi),例如處理缺陷的代碼。時(shí)間花費(fèi)的測(cè)量也有助于項(xiàng)目負(fù)責(zé)人了解因計(jì)劃外修復(fù)而延遲的任務(wù)。
4. 未關(guān)閉的缺陷
該KPI檢查未關(guān)閉的缺陷與已關(guān)閉缺陷的比率。在改善這一比率時(shí),考慮問(wèn)題的嚴(yán)重性非常重要。雖然關(guān)閉多個(gè)低優(yōu)先級(jí)的缺陷可能會(huì)改善未關(guān)閉缺陷比率,但同時(shí)也增加了客戶遇到嚴(yán)重問(wèn)題的風(fēng)險(xiǎn)。
5. 測(cè)試覆蓋率
測(cè)試覆蓋率KPI評(píng)估了通過(guò)自動(dòng)化測(cè)試覆蓋的代碼百分比。隨著向云計(jì)算的轉(zhuǎn)移和軟件的快速發(fā)布,自動(dòng)化測(cè)試對(duì)于減少技術(shù)債務(wù)變得至關(guān)重要。項(xiàng)目負(fù)責(zé)人還可以使用測(cè)試覆蓋工具來(lái)衡量手動(dòng)測(cè)試的代碼量。
6. 客戶報(bào)告的問(wèn)題
該KPI跟蹤客戶遇到的問(wèn)題數(shù)量,該指標(biāo)提供了關(guān)于開(kāi)發(fā)和測(cè)試過(guò)程中遺漏缺陷數(shù)量的洞察,這些問(wèn)題可能需要緊急修復(fù),并可能影響公司的聲譽(yù)。
7. 代碼質(zhì)量
該KPI根據(jù)代碼的復(fù)雜性、整潔性和特定語(yǔ)言特性來(lái)衡量編寫(xiě)代碼的質(zhì)量。項(xiàng)目團(tuán)隊(duì)成員可以使用軟件開(kāi)發(fā)工具和代碼審查來(lái)評(píng)估代碼的復(fù)雜性。
8. 修復(fù)周期時(shí)間
該KPI衡量修復(fù)缺陷所需的時(shí)間。一些問(wèn)題可能較為復(fù)雜,需要大量精力才能解決。項(xiàng)目利益相關(guān)者可能希望確定修復(fù)問(wèn)題的可接受平均時(shí)間,從而區(qū)分快速修復(fù)和需要更多時(shí)間的修復(fù)。
5種衡量技術(shù)債務(wù)的工具
根據(jù)項(xiàng)目需求,企業(yè)可以選擇不同的工具來(lái)衡量技術(shù)債務(wù)。作者通過(guò)參考Gartner、G2和供應(yīng)商網(wǎng)站等渠道選擇了以下供應(yīng)商。產(chǎn)品按字母順序排列:
1. Jira
項(xiàng)目團(tuán)隊(duì)可以使用該應(yīng)用程序規(guī)劃項(xiàng)目并跟蹤數(shù)據(jù),例如團(tuán)隊(duì)已識(shí)別和修復(fù)的缺陷。Jira可以與多種軟件開(kāi)發(fā)工具集成,并簡(jiǎn)化軟件開(kāi)發(fā)人員的工作流程。
2. SonarQube
該工具可以在開(kāi)發(fā)人員編寫(xiě)代碼時(shí)分析其代碼,以在測(cè)試過(guò)程中識(shí)別潛在問(wèn)題,該應(yīng)用程序生成的報(bào)告有助于項(xiàng)目負(fù)責(zé)人隨著時(shí)間的推移衡量代碼質(zhì)量。
3. Stepsize
Stepsize可以與項(xiàng)目管理工具如Jira或Linear一起使用,它能夠跟蹤和優(yōu)先處理技術(shù)債務(wù),該基于云的應(yīng)用程序還提供了項(xiàng)目負(fù)責(zé)人可能感興趣的其他功能,例如自定義用戶角色。
4. Teamscale
Teamscale可以幫助軟件開(kāi)發(fā)人員編寫(xiě)代碼,該軟件提供代碼質(zhì)量的指標(biāo),并能實(shí)時(shí)識(shí)別代碼問(wèn)題,同時(shí)突出顯示新代碼,使測(cè)試可以集中在新材料上。
5. VFunction
該應(yīng)用程序在開(kāi)發(fā)過(guò)程中識(shí)別架構(gòu)問(wèn)題,使團(tuán)隊(duì)能夠及早解決任何問(wèn)題。