技術(shù)債

概述

代碼寫(xiě)好就交捡硅,意味著欠債的開(kāi)始。稍微欠點(diǎn)技術(shù)債得確可以加快速度盗棵,但前提是事后及時(shí)重寫(xiě)代碼壮韭,如果只借不還,后果很危險(xiǎn)纹因。在不準(zhǔn)確的代碼上所花費(fèi)的每一分鐘喷屋,都算是技術(shù)債的應(yīng)付利息。不穩(wěn)定瞭恰、脆弱的代碼實(shí)現(xiàn)所引發(fā)的債務(wù)負(fù)擔(dān)屯曹,會(huì)使整個(gè)工程組織陷入裹足不前的艱難境地。

  • 團(tuán)隊(duì)和組織在深入了解業(yè)務(wù)領(lǐng)域的同時(shí)惊畏,還要注意償還技術(shù)債;

  • 系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)需要跟進(jìn)以便更好地運(yùn)用這些認(rèn)知恶耽。
    技術(shù)債既指我們有意選擇的捷徑,又指許多損害軟件系統(tǒng)的不良實(shí)踐颜启。

  • 不合適的設(shè)計(jì):因?yàn)楫?dāng)前所用技術(shù)或業(yè)務(wù)發(fā)生重大改變偷俭,我們之前有效的設(shè)計(jì)變得不再適用。

  • 缺陷:我們已知但沒(méi)時(shí)間解決的軟件中的問(wèn)題缰盏。

  • 測(cè)試覆蓋不充分:有些地方我們明明知道該怎么做更多測(cè)試但是沒(méi)有做

  • 手工測(cè)試過(guò)多:實(shí)際該做自動(dòng)化測(cè)試的時(shí)候我們還在做手工測(cè)試涌萤。

  • 集成和版本管理不善:在做集成和版本管理的時(shí)候淹遵,采用的方式既費(fèi)時(shí)又容易出錯(cuò)。

  • 缺乏平臺(tái)經(jīng)驗(yàn):例如需要某個(gè)技術(shù)负溪,但是相關(guān)人員卻不多透揣。

技術(shù)債的后果
爆發(fā)點(diǎn)不可預(yù)測(cè)

技術(shù)債有一個(gè)特性就是不可預(yù)測(cè)的非線性方式增長(zhǎng)。在原有債務(wù)基礎(chǔ)上增加任何一點(diǎn)技術(shù)債川抡,都會(huì)產(chǎn)生顯著的危害辐真,遠(yuǎn)遠(yuǎn)超過(guò)新技術(shù)債自身的隱含的危害。

交付時(shí)間延長(zhǎng)

承擔(dān)技術(shù)債意味著現(xiàn)在向未來(lái)申請(qǐng)借用工作時(shí)間猖腕。今天的債務(wù)越多拆祈,明天的速率就越慢。

缺陷數(shù)量多

技術(shù)債務(wù)狀況嚴(yán)重的產(chǎn)品變得越來(lái)越復(fù)雜倘感,因而也更難把事情做對(duì)放坏。

開(kāi)發(fā)和支持成本上升

技術(shù)債一增加,開(kāi)發(fā)和支持成本也會(huì)開(kāi)始增加老玛。過(guò)去一直簡(jiǎn)單又便宜淤年,現(xiàn)在變得復(fù)雜又昂貴。

產(chǎn)品萎縮

如果對(duì)老產(chǎn)品停止增加新特性或修復(fù)缺陷使其煥發(fā)活力蜡豹,它對(duì)當(dāng)前或潛在客戶(hù)就會(huì)變得越來(lái)越?jīng)]有吸引力麸粮。最后導(dǎo)致產(chǎn)品開(kāi)始萎縮,不再是大多數(shù)客戶(hù)愿意考慮的方案镜廉。

可預(yù)測(cè)性降低

如果產(chǎn)品確實(shí)已經(jīng)債臺(tái)高筑弄诲,基本上不太可能進(jìn)行任何形式的預(yù)測(cè)了。

表現(xiàn)越來(lái)越差

技術(shù)債越來(lái)越多娇唯,人們預(yù)計(jì)工作表現(xiàn)越來(lái)越差齐遵,進(jìn)而降低他們對(duì)結(jié)果的期望。

挫折感四處彌漫
客戶(hù)滿意度降低
技術(shù)債的起因
如期完成工作

策略性技術(shù)債和低級(jí)技術(shù)債通常都是迫于業(yè)務(wù)壓力而必須滿足某個(gè)迫在眉睫的重大最后期限而造成的塔插。

試圖以錯(cuò)誤的方式提高速率

如期完工的可能性比較小的情況下梗摇,負(fù)責(zé)干活的團(tuán)隊(duì)就會(huì)被要求提高速率,爭(zhēng)取在理想發(fā)布日期前完成所有特性想许。按照這種提高速率工作伶授,團(tuán)隊(duì)必須慎重決策,承擔(dān)技術(shù)債流纹。

誤區(qū):減少測(cè)試可以提高速率

現(xiàn)實(shí)的是減少測(cè)試即增加債務(wù)又減少速率糜烹,因?yàn)閱?wèn)題潛伏得很深,越晚發(fā)現(xiàn)漱凝,修復(fù)所花的時(shí)間越長(zhǎng)疮蹦。

誤區(qū):債累債

舊債如果不還,很快會(huì)累計(jì)新債碉哑。如果一直延續(xù)下去挚币,有效速率會(huì)趨于零的程度。一旦發(fā)現(xiàn)深陷技術(shù)債務(wù)危機(jī)扣典,所有的選擇都是退而求其次的難難選擇妆毕。

技術(shù)債必須加以管理

技術(shù)債和財(cái)務(wù)債一樣,必須管理贮尖。沒(méi)有哪個(gè)產(chǎn)品能夠做到無(wú)債一身輕笛粘,認(rèn)識(shí)到這一點(diǎn)也很重要,鑒于此湿硝,也不建議努力達(dá)到無(wú)債狀態(tài)薪前。即使如此,達(dá)到無(wú)債狀態(tài)的經(jīng)濟(jì)理由也不夠充分关斜。技術(shù)債的管理要求綜合考量技術(shù)和業(yè)務(wù)因素示括。

管理應(yīng)計(jì)技術(shù)債
使用良好的技術(shù)實(shí)踐

管理技術(shù)債務(wù)的增長(zhǎng),第一種方法是停止向產(chǎn)品增加低級(jí)債務(wù)痢畜。使用良好的技術(shù)實(shí)踐是一個(gè)非常好的開(kāi)端垛膝。
對(duì)于積累下來(lái)的技術(shù)債,代碼重構(gòu)是一個(gè)非常重要的減輕債務(wù)的工具丁稀。重構(gòu)用于改變既有代碼主體的一種技術(shù)吼拥,在不改變軟件外在前提下調(diào)整其內(nèi)部結(jié)構(gòu)。

使用強(qiáng)完成定義

有些工作本來(lái)應(yīng)該在構(gòu)建特性的時(shí)候就去做线衫,結(jié)果卻拖到后期才做凿可,它們是產(chǎn)生技術(shù)債的重要根源。我們希望用一個(gè)強(qiáng)完成定義來(lái)指導(dǎo)團(tuán)隊(duì)在每個(gè)沖刺結(jié)束時(shí)給出一個(gè)低負(fù)債或零負(fù)債的解決方案授账。

正確理解技術(shù)債經(jīng)濟(jì)

為了有計(jì)劃地改善技術(shù)債枯跑,我們必須正確理解它是如何影響決策的經(jīng)濟(jì)考量的。

讓技術(shù)債可見(jiàn)

讓技術(shù)債在業(yè)務(wù)層面可見(jiàn)

讓業(yè)務(wù)人員看見(jiàn)產(chǎn)品的技術(shù)債狀態(tài)很關(guān)鍵矗积。

讓技術(shù)債在技術(shù)層面可見(jiàn)
  • 缺陷跟蹤系統(tǒng)
  • 產(chǎn)品列表里
  • 技術(shù)債列表

償還技術(shù)債

并非所有的技術(shù)債務(wù)都應(yīng)償還
  • 行將就木的產(chǎn)品
  • 一次性原型
  • 短命產(chǎn)品
應(yīng)用童子軍規(guī)則(有債就還)
分期償還
先償還高息技術(shù)債
一邊做有客戶(hù)價(jià)值的工作全肮,一邊償還技術(shù)債
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市棘捣,隨后出現(xiàn)的幾起案子辜腺,更是在濱河造成了極大的恐慌,老刑警劉巖乍恐,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件评疗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡茵烈,警方通過(guò)查閱死者的電腦和手機(jī)百匆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)呜投,“玉大人加匈,你說(shuō)我怎么就攤上這事存璃。” “怎么了雕拼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵纵东,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我啥寇,道長(zhǎng)偎球,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任辑甜,我火速辦了婚禮衰絮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘磷醋。我一直安慰自己猫牡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布邓线。 她就那樣靜靜地躺著镊掖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪褂痰。 梳的紋絲不亂的頭發(fā)上亩进,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音缩歪,去河邊找鬼归薛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛匪蝙,可吹牛的內(nèi)容都是我干的主籍。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼逛球,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼千元!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起颤绕,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤幸海,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后奥务,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體物独,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年氯葬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挡篓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡帚称,死狀恐怖官研,靈堂內(nèi)的尸體忽然破棺而出秽澳,到底是詐尸還是另有隱情,我是刑警寧澤戏羽,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布肝集,位于F島的核電站,受9級(jí)特大地震影響蛛壳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜所刀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一衙荐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浮创,春花似錦忧吟、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至垦沉,卻和暖如春煌抒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背厕倍。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工寡壮, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人讹弯。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓况既,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親组民。 傳聞我的和親對(duì)象是個(gè)殘疾皇子棒仍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容