行業新聞

技術債務的悖論:平衡創新與長期穩定性

發佈 2023年7月5日
分享:

技術債務的悖論:在創新與長期穩定之間取得平衡:圖 1

在瞬息萬變的科技世界中,創新以前所未有的速度湧現,技術債務的概念已成為軟體開發的重要組成部分。技術債務指的是在選擇快速和便捷的解決方案而不是更健全和高效的解決方案時,所做出的短期利益與長期後果之間的取捨。儘管技術債務可能帶有負面含義,但它在滿足發布時間表、推動創新以及適應變化中的語言和框架方面起著至關重要的作用。在本文中,我們將探討技術債務的重要性及其對軟體開發的影響,並結合行業範例和專家意見進行探討。

Flash 危機與適應的必要性

Adobe Flash 的興衰是一個認識技術債務重要性的鮮明例子。2010年,著名的可用性專家 Jakob Nielsen 發表了一篇具有影響力的文章,標題為「Flash: 99% 壞」 [1]尼爾森剖析了與Flash相關的眾多可用性問題和性能缺陷,敦促業界放棄這項技術。Flash的衰落為更新、更高效的替代品鋪平了道路,其中之一是TypeScript,一種靜態類型的JavaScript超集。

語言演變,技術債務適應

程式語言的演變進一步強調了擁抱技術債務的必要性。TypeScript在近年來獲得了很大的人氣,實際上它大約在二十年前就在Flash的範疇內構思出來了。這是一個超前於時代的想法,處於休眠狀態直到找到一個新的目的和平台來茁壯成長。這充分說明了過去的概念和解決方案,最初被視為技術債務,隨著技術格局的轉變,可以重新浮現成為有價值的資產。

平衡技術負債與發布計劃

Iron Software 首席技術官 Jacob Mellor 提倡一種平衡的技術負債方法,將其視為開發過程中的必要組成部分。Mellor 表示,

「一定程度的技術負債是健康的,這表明有前瞻性。我認為技術負債是尚未撰寫的單元測試。」 - Jacob Mellor

Jacob 承認一定程度的技術負債是不可避免的,因為它使團隊能夠滿足發布計劃並推動創新。完美不應該是唯一的重點,而應該將維護性和理解性優先,以實現長期成功。

Artem Koloskov 也呼應 Mellor 的看法,進一步強調技術負債的積極方面。Koloskov 主張,

「某種程度上我歡迎技術負債。當這意味著某些語言被遺忘時,通常是有正當理由的。」 - Artem Koloskov

這說明了需要適應和前進,擺脫那些不再符合現代開發實踐的過時語言和框架。

作為 Iron Software 的高級工程師,Artem 解釋說:「我們在 Iron 預防技術負債的最重要方法是過程:我們重視代碼質量,運行單元測試,並定期重構以防止冗餘代碼。」

儘管技術負債有負面含義,但在快速發展的技術領域中,它是軟件開發的一個重要部分。從 Flash 的衰退和 TypeScript 的興起中學到,我們意識到曾經被視為技術負債的東西往往能成為成長和創新的機會。在滿足發布計劃與保持長期維護性之間取得平衡對於成功至關重要。通過擁抱技術負債,承認其存在並有效管理,開發團隊能夠在不斷變化的軟件生態系統中導航並交付推動進步的有影響力的解決方案。

參考文獻:

[1] 尼爾森,J. (2010). Flash: 99% 糟糕。取自 https://www.nngroup.com/articles/flash-99-percent-bad/

< 上一頁
首席技術官:為什麼他們至關重要以及如何成為其中之一
下一個 >
微軟開發者大會2023會議摘要:Microsoft Azure上的雲原生和Linux