導讀
技術債務是拖慢技術團隊生產力的元兇。起初技術債務似乎不是一個障礙,但隨著時間的推移,它可能會阻礙團隊的開發效率。在許多情況下,團隊的工作會達到一個臨界點,在這個臨界點上,技術債務就會成為新功能得任何進展的阻礙因素。
本文將幫助你制定技術債務提案,以證明為了解決問題而花費一些時間是合理的,更重要的是防止技術債務。讓我們來看看你應該在技術債務提案中包含哪些會幫助管理層做出決策的元素。
首先,讓我們來探討一下為什么需要寫一個技術債務提案。
為什么需要寫一份技術債務提案?
有時候,你的管理層可能沒有意識到正在減慢開發團隊速度的技術問題。技術債務提案可以幫助你證明解決技術債務所花費的時間和資源是合理的,并制定計劃以進一步防止技術債務。
為此,你需要收集證據并提出衡量成功的計劃和指標。需要注意的是,你可能做出了錯誤的估計,因此解決方案不起任何作用。這意味著,你要能夠跟蹤技術債務提案的有效性,以便在未按預期進行時開始干預。
以下內容重點介紹指導你完成創建技術債務提案的不同步驟,包括如何確定工具以及如何圍繞此工具構建計劃。
步驟1:確定對技術債務中影響最大的問題
首先,確定對工程團隊工作效率影響最大的技術債務問題。工程團隊在問題跟蹤或項目管理工具中徘徊時,通常會意識到這些問題。
識別這些問題的最佳方法是在編輯器中跟蹤技術債務。在編輯器中跟蹤技術債務可以使得工程師能夠全面了解技術債務,查看每個代碼庫中問題的上下文,并減少上下文切換。
識別技術債務的一種方法是在VSCode或JetBrains中使用免費的Stepsize擴展,這些擴展與Jira、Linear、Asana和其他項目管理工具是集成在一起的。
這是開始收集代碼庫中的所有關鍵技術問題的快速方法。
步驟2:識別工具
不要低估使用適當的工具來管理技術債務的力量。一些技術團隊可能沒有使用任何工具,或者使用正確的工具或使用過時的工具。這些場景是合理的,在確定要包含在技術債務提案中的工具時需要考慮這些情況。
對于許多團隊來說,實施正確的工具可以解決和防止大量的技術債務。但是,工程團隊需要證明使用特定工具的成本的合理性。
選擇工具時,你需要問自己以下問題:
·哪種工具能提供最佳功能來解決團隊的問題?
·實施特定工具會有什么影響?
·工具成本是多少,是否有更便宜的選擇可以解決你的技術債務問題?某些工具需要特定設置,但是這些設置你的技術團隊可能尚未準備好,或者工具需要自托管,這會帶來額外費用。
一旦你認為你已經找到了合適的工具,請確保在你的技術債務提案中包含上述問題的摘要。此摘要將幫助CTO、團隊主管和管理層更好地了解你選擇特定工具的原因。
有很多工具可以幫助你處理技術債務,以下一些示例。
1. 持續集成(CI)工具,可以幫助團隊保證其代碼的質量。CI工具可以強制執行編碼標準并執行復雜類型的測試,例如集成測試或端到端測試,以便為開發人員團隊提供對其代碼的信任。
2. 靜態分析工具(如SonarQube),用于分析源代碼以尋找技術債務。這些工具使用定量數據來幫助開發人員識別代碼庫中可能存在技術債務熱點。不過它們也有局限性,比如,它們不會幫助你識別跨越代碼庫多個部分的中型到大型債務,也不會為你提供真正理解每一筆債務以及如何優先考慮并最終解決它所需的上下文。
3. 前端問題跟蹤器工具 Stepsize ,可幫助技術團隊跟蹤編輯器中的技術債務,并將問題鏈接到代碼。這些工具對持續跟蹤和修復技術債務、提高編碼標準、通過在編輯器中創建問題來減少上下文切換等都會有幫助。
步驟3:設置指標并定義基線
接下來,你需要??定義指標??來證明成本的合理性。指標允許你衡量技術債務提案的有效性,尤其是你選擇的工具的有效性(例如,你選擇的工具無法根據你正在測量的指標解決你的問題)。它允許你干預和重新調整你的技術債務提案,或尋找不同的工具來解決你的問題。
換句話說,擁有指標可能會讓你避免在不正確工具上浪費大量的金錢。而且,添加不正確的工具會進一步增加技術債務,因為你的工程師必須學習他們不熟悉的新工具。下面是可以為持續集成示例定義指標的快速列表:
·測試覆蓋率百分比
·與編碼標準相關的問題數量
·在生產環境中發現的錯誤數
·軟件工程團隊的功能吞吐量
·修復 Bug的平均時間
特別提示:不要忘記設置基線。如果沒有基線,就無法確定你的技術債務提案的有效性。
步驟4:尋找解決技術債務的其他方法
雖然工具可以快速解決技術債務,但也要看看其他解決技術債務的方法。
通常,你可以將實現新工具的建議與其他計劃,如重構周或實施新型會議(如??回顧會議??)相結合。
重構周為你的團隊提供了所需的喘息空間,以重新評估代碼庫并確定他們想要解決的關鍵問題。除此之外,它可以用作重啟實施新的工具以進一步減少團隊的技術債務。
其他潛在的計劃是分享會議,團隊成員分享有關代碼庫的知識或教授其他團隊成員有關新技術的知識。這完全取決于你的團隊所經歷的??技術債務類型??。
結論:保持警惕!
一旦你的團隊解決了技術債務,就不要讓技術債務再次降臨到團隊身上。因此,請繼續衡量你設置的指標。除此之外,你還可以創建一個計劃來衡量其他指標,以更好地了解團隊績效以及技術債務的積累方式。簡而言之,技術債務是一個令人討厭的怪物,可以隨時迅速回歸。保持警惕!
譯者介紹
朱鋼,51CTO社區編輯,2021年IT影響力專家博主,阿里云專家博主,2019年CSDN博客之星20強,2020年騰訊云+社區優秀作者,11年一線開發經驗,曾參與獵頭服務網站架構設計,企業智能客服以及大型電子政務系統開發,主導某大型央企內部防泄密和電子文檔安全監控系統的建設,目前在北京圖伽健康從事醫療軟件研發工作。
參考鏈接:https://dzone.com/articles/the-engineers-guide-to-creating-a-technical-debt-p