解決技術(shù)債務(wù)問題的五個技巧
數(shù)十年來,CIO們一直在與技術(shù)債務(wù)作斗爭,但許多人仍未能充分管理它,這也讓他們付出了慘重的代價。
管理咨詢公司Protiviti在其《2023年全球技術(shù)高管調(diào)查報告》中調(diào)查了1000多名技術(shù)高管,結(jié)果發(fā)現(xiàn),對于高達(dá)70%的受訪者來說,技術(shù)債務(wù)是企業(yè)創(chuàng)新的主要障礙。高管們還報告稱,技術(shù)債務(wù)消耗了31%的IT預(yù)算,且占據(jù)了21%的IT資源。
LeanIX發(fā)布的《2023年IT成本優(yōu)化調(diào)查報告》也有類似的發(fā)現(xiàn),56%的受訪者表示,過時的技術(shù)和技術(shù)債務(wù)是浪費(fèi)IT預(yù)算的主要原因。
與此同時,成功管理技術(shù)債務(wù)的IT領(lǐng)導(dǎo)者能夠助力其企業(yè)表現(xiàn)得更好。根據(jù)研究和咨詢公司Gartner的說法,積極管理和減少技術(shù)債務(wù)的基礎(chǔ)設(shè)施和運(yùn)營領(lǐng)導(dǎo)者可以將業(yè)務(wù)服務(wù)交付時間至少縮短50%。
鑒于這些發(fā)現(xiàn),許多CIO已經(jīng)開始專注于尋找削減技術(shù)債務(wù)的方法。經(jīng)驗豐富的技術(shù)領(lǐng)導(dǎo)者也分享了他們用來控制技術(shù)債務(wù)的五種策略。
1、分析衡量你的技術(shù)債務(wù)
信息技術(shù)研究集團(tuán)(Info-Tech research Group)基礎(chǔ)設(shè)施和運(yùn)營實踐研究主管Andrew Sharp是技術(shù)債務(wù)編目的強(qiáng)烈支持者。分析師建議IT領(lǐng)導(dǎo)者建立一個關(guān)鍵技術(shù)債務(wù)的清單,了解債務(wù)的業(yè)務(wù)影響,并有一個處理它的過程。
他認(rèn)為許多CIO往往在這三個基本問題上做得不夠。最大的挑戰(zhàn)之一就是理解和組織技術(shù)債務(wù)的范圍。由于技術(shù)債務(wù)會蔓延到不同的系統(tǒng)中,并產(chǎn)生連鎖反應(yīng),所以對于IT團(tuán)隊而言,了解技術(shù)債務(wù)的數(shù)量和影響確實是一項艱巨的任務(wù)。
Sharp表示,就像當(dāng)今業(yè)務(wù)中的大多數(shù)其他事物一樣,如果不進(jìn)行衡量,債務(wù)就永遠(yuǎn)無法得到成功管理。IT部門需要更好地識別、跟蹤和衡量技術(shù)債務(wù)。
他表示,“IT部門總能感覺到問題出在哪里,但往往缺乏正式的分析。我認(rèn)為,用結(jié)構(gòu)化的方法來看待這個問題,可能是思考以前從未考慮過的事情的一個機(jī)會。因此,我們不僅要知道我們有問題,還要知道問題是什么,并了解其影響。在此過程中,可見性真的很關(guān)鍵?!?/p>
不過,Sharp也告誡稱,不要追蹤每一筆技術(shù)債務(wù),相反地,必須要去追蹤打算修復(fù)的債務(wù)。
Progrexion高級副總裁兼CIO Ken Knapton也談到了了解IT部門累積債務(wù)細(xì)節(jié)的重要性。
為此,他和IT團(tuán)隊開發(fā)了一種衡量債務(wù)的方法。他們根據(jù)關(guān)鍵技術(shù)屬性(可支持性、預(yù)期剩余壽命、穩(wěn)定性和跨度)以及另外兩個屬性(業(yè)務(wù)關(guān)鍵性和戰(zhàn)略一致性)對債務(wù)進(jìn)行評級。他們將四個關(guān)鍵屬性的和乘以后兩個關(guān)鍵屬性的和,然后將值規(guī)范化為0到1之間的比率。
Knapton表示,任何評級在0到0.4之間的技術(shù)債務(wù)都是可以接受的,任何評級在0.5到0.7之間的都是令人擔(dān)憂的,而任何高于0.7的都是嚴(yán)重的。
他補(bǔ)充道,“現(xiàn)在我有了一個衡量技術(shù)債務(wù)的框架,我們能夠跟蹤它。如此一來,我們便能夠?qū)W⒂谝鉀Q技術(shù)債務(wù)的哪一部分,以及我們現(xiàn)在要做什么?!?/p>
2、通過在路線圖上優(yōu)先償還債務(wù)
Knapton表示,他親眼目睹了不及時償還技術(shù)債務(wù)的代價。
他指出,在過去的一起事件中,一個開發(fā)團(tuán)隊使用了Java庫,但出于時間和上市速度的考慮,沒有返回更新的代碼,這通常是負(fù)債的核心原因。這個決定雖然在產(chǎn)品的初始開發(fā)和部署時是合理的,但卻阻礙了團(tuán)隊后來添加更新或進(jìn)行所需更改的能力。
Knapton清楚地認(rèn)識到,如果后續(xù)不再重新考慮臨時決定的話,那么當(dāng)初的臨時決定就會成為持久的存在。技術(shù)債務(wù)就會因為得不到及時償還而不斷累積,使企業(yè)喪失靈活性。
Knapton補(bǔ)充道,“現(xiàn)在我們衡量它,管理它,并認(rèn)識到,如果我們要承擔(dān)一些技術(shù)債務(wù)以率先進(jìn)入市場,我們必須堅持到底,并在發(fā)布后及時償還這些技術(shù)債務(wù)。”
為了確保這些債務(wù)能夠償還,Knapton及其團(tuán)隊知道“必須在時間表中加入管理和解決問題的能力?!? 為了支持這一點(diǎn),Knapton的團(tuán)隊(他們在整個IT部門以敏捷的方式工作)已經(jīng)將“減輕技術(shù)債務(wù)”定義到了項目“完成”的標(biāo)準(zhǔn)中。
Knapton指出,“直到回頭調(diào)整所承擔(dān)的技術(shù)債務(wù),一個項目才算真正完成。在緩解工作完成之前,技術(shù)債務(wù)是團(tuán)隊積壓工作的一部分。我不希望一個暫時的解決方案變成永久的,所以我們把它正式列入了我們的路線圖?!?/p>
其他人同樣主張分配資源(時間和金錢),并為處理債務(wù)建立問責(zé)制。例如,Sharp談到了“改進(jìn)對項目價值的驗證,了解并密切關(guān)注漏洞,為維護(hù)和所需的任何新設(shè)備制定預(yù)算?!? 他補(bǔ)充道,但很可惜,數(shù)量驚人的企業(yè)并沒有這樣做。
3、將技術(shù)債務(wù)視為業(yè)務(wù)風(fēng)險
微軟數(shù)字應(yīng)用創(chuàng)新專家Enoche Andrade曾就技術(shù)債務(wù)問題向高管提供咨詢。他表示,技術(shù)債務(wù)不僅是IT行業(yè)的問題,同時還具有業(yè)務(wù)、財務(wù)和安全方面的影響,這也是一種業(yè)務(wù)風(fēng)險。
因此,Andrade認(rèn)為,技術(shù)債務(wù)是所有高管和業(yè)務(wù)職能負(fù)責(zé)人的事情,而不僅僅是IT部門的問題,關(guān)于何時和如何償還技術(shù)債務(wù)的決定應(yīng)該與業(yè)務(wù)戰(zhàn)略和業(yè)務(wù)需求保持一致。
他表示,“CIO肩負(fù)著提高董事會和領(lǐng)導(dǎo)團(tuán)隊對技術(shù)債務(wù)的認(rèn)識的關(guān)鍵責(zé)任。為了培養(yǎng)一種關(guān)于技術(shù)債務(wù)的意識和問責(zé)文化,公司應(yīng)該鼓勵跨職能團(tuán)隊,并建立共同的目標(biāo)和指標(biāo),鼓勵所有團(tuán)隊共同努力解決技術(shù)債務(wù)和促進(jìn)創(chuàng)新。這包括為開發(fā)者創(chuàng)造一個安全的環(huán)境,讓他們可以嘗試新的方法和技術(shù),從而實現(xiàn)創(chuàng)新和持續(xù)改進(jìn)。”
Knapton認(rèn)同在決定何時承擔(dān)技術(shù)債務(wù)、衡量其影響和優(yōu)先償還哪一部分債務(wù)的時候,需要業(yè)務(wù)部門參與其中。
4、承擔(dān)新債務(wù)時要謹(jǐn)慎
哈特曼行政顧問公司(Hartman Executive Advisors)CIO Mike Huthwaite將技術(shù)債務(wù)與金融債務(wù)進(jìn)行了比較。他表示,“對我來說,債務(wù)是你產(chǎn)生的,然后你來解決?!?/p>
Huthwaite解釋稱,就像有時承擔(dān)金融債務(wù)是明智的一樣,選擇技術(shù)債務(wù)通常比不選擇技術(shù)債務(wù)更明智。像其他人一樣,他認(rèn)為團(tuán)隊可能會為了速度和敏捷性而決定承擔(dān)技術(shù)債務(wù),畢竟市場優(yōu)勢超過了技術(shù)債務(wù)的成本。這是一種權(quán)衡,如果繼續(xù)以個人債務(wù)為類比,在某些點(diǎn)或某個決定中,負(fù)債是有價值的。但它本質(zhì)上仍是債務(wù)。所以希望你以一種謹(jǐn)慎的方式來做這件事。
Huthwaite建議IT團(tuán)隊在承擔(dān)技術(shù)債務(wù)時要慎重考慮,權(quán)衡使用次優(yōu)代碼所獲得的好處以及這個決定的負(fù)面影響。他稱之為“有意的”(intentional)技術(shù)債務(wù),而“無意的”技術(shù)債務(wù)則是未經(jīng)深思熟慮而產(chǎn)生的。
Andrade也給出了類似的建議,他表示,盡管企業(yè)不可能消除所有的技術(shù)債務(wù),但他們可以采取措施限制技術(shù)債務(wù)的產(chǎn)生(特別是無意債務(wù)的產(chǎn)生)。
他建議團(tuán)隊采用敏捷開發(fā)方法、重構(gòu)、自動化測試和簡化流程。團(tuán)隊還應(yīng)該使用代碼分析工具來識別技術(shù)債務(wù),并由同行和涉眾定期檢查代碼,以確保代碼質(zhì)量并識別潛在問題。它們還應(yīng)該包括體系結(jié)構(gòu)的簡化、組件化和標(biāo)準(zhǔn)化。
5、認(rèn)識到債務(wù)管理是一個持續(xù)的過程
全美農(nóng)村電力合作協(xié)會CIO兼IT高級副總裁Wayne F. McGurk并不認(rèn)為技術(shù)債務(wù)是一件好事或壞事,而是“開發(fā)過程的自然結(jié)果,因為正在建造一些新東西而產(chǎn)生?!?/p>
他表示,“人們傾向于盡可能快地獲得最有價值產(chǎn)品,而不必在一開始就構(gòu)建一個過度工業(yè)化的應(yīng)用程序?!眻F(tuán)隊會做出權(quán)衡,選擇適合MVP的技術(shù),但他們知道,隨著解決方案的擴(kuò)大,這些技術(shù)是不夠的。
因此,McGurk不僅將這一因素考慮到他的開發(fā)周期中,還將其考慮到IT運(yùn)營中,引入各種策略來創(chuàng)建一個持續(xù)管理技術(shù)債務(wù)的整體方法。作為這種方法的一部分,McGurk的團(tuán)隊記錄并詳細(xì)介紹了任何新的技術(shù)債務(wù)的引入,然后通過組織的票據(jù)系統(tǒng)跟蹤這些債務(wù),以便IT團(tuán)隊可以將其全部提取出來并報告和查看它。
McGurk還考慮了每一項技術(shù)債務(wù)如何在五個關(guān)鍵領(lǐng)域影響運(yùn)營:簡單性、靈活性、連續(xù)性、安全性和透明度。
他解釋稱,“當(dāng)技術(shù)債務(wù)開始阻礙這些運(yùn)營原則中的任何一條時,它就上升到了我們需要解決的水平?!?/p>
McGurk及其IT團(tuán)隊考慮影響的級別、對企業(yè)的風(fēng)險,以及企業(yè)的總體戰(zhàn)略,然后優(yōu)先考慮需要注意的事情。之后,他們讓這些決定為人所知,從而在整個企業(yè)中創(chuàng)建對主題的可見性。
McGurk表示,所有這些都被納入其IT部門的工作流程,這確保了技術(shù)債務(wù)的管理不會被視為一次性項目,而是以持續(xù)的方式進(jìn)行管理。例如,他的Scrum團(tuán)隊需要確定新的技術(shù)債務(wù),并決定何時以及如何解決它。
他解釋稱,“你必須建立一種負(fù)責(zé)任的文化,讓你的團(tuán)隊知道,僅僅因為一個項目交付了,它并沒有完成。這是一個旅程,沒有終點(diǎn),所以它需要成為你需求管理策略的一部分——既要處理新工作的需求,也要處理遺留工作和技術(shù)債務(wù)?!?/p>