ï»?!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Habya'aåQˆäÍ时拼凑的¾l„äšgåQ‰ä¸ŽæŠ€æœ¯å€ºåŠ¡-‹¹Žå—软äšg开发|å±×ƒ¸œè½¯äšg开å?‹¹Žå—èµ¢å¯d¿U‘技软äšg开发公å?/title> <meta name="keywords" content="Habya'aåQˆäÍ时拼凑的¾l„äšgåQ‰ä¸ŽæŠ€æœ¯å€ºåŠ¡"/> <meta name="description" content="我们æ›ùN‡åˆ°è¿‡æœ€åŽæœŸé™å³ž®†åˆ°æ¥ã€æ—¶é—´éžå¸¸ç´§˜q«çš„情况。当æ—Óž¼Œæˆ‘们必须ž®½å¿«ä¿®å¤BugåQŒç„¶è€Œå…¶ä¸­çš„一个Bug特别坚韧åQŒä“Q我们百般努力也无可奈何!随后åQŒæˆ‘的某个同事接手了调试工作。他å¼ø™¡Œå†™å…¥äº†ä¸€äº›åº”该从数据库中‹‚€ç´¢æ¥èŽ·å–çš?/> <link href="/css/style.css" rel="stylesheet" type="text/css" /> <meta http-equiv="Cache-Control" content="no-transform" /> <meta http-equiv="Cache-Control" content="no-siteapp" /> </head> <body> <div style="position:fixed;left:-9000px;top:-9000px;"><dfn id="orz4q"><noscript id="orz4q"><xmp id="orz4q"><output id="orz4q"></output></xmp></noscript></dfn><strong id="orz4q"><dl id="orz4q"></dl></strong><ol id="orz4q"><p id="orz4q"><nav id="orz4q"><pre id="orz4q"></pre></nav></p></ol><dfn id="orz4q"></dfn><small id="orz4q"><optgroup id="orz4q"></optgroup></small><center id="orz4q"><small id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></small></center><table id="orz4q"><ruby id="orz4q"><dl id="orz4q"><del id="orz4q"></del></dl></ruby></table><rt id="orz4q"></rt><output id="orz4q"></output><mark id="orz4q"></mark><dl id="orz4q"></dl><div id="orz4q"></div><optgroup id="orz4q"></optgroup><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><video id="orz4q"></video><object id="orz4q"><sup id="orz4q"></sup></object><em id="orz4q"></em><div id="orz4q"></div><progress id="orz4q"><listing id="orz4q"><th id="orz4q"><option id="orz4q"></option></th></listing></progress><meter id="orz4q"></meter><acronym id="orz4q"><rt id="orz4q"></rt></acronym><label id="orz4q"></label><track id="orz4q"></track><noscript id="orz4q"><div id="orz4q"><pre id="orz4q"><ol id="orz4q"></ol></pre></div></noscript><s id="orz4q"><kbd id="orz4q"></kbd></s><form id="orz4q"></form><var id="orz4q"></var><dl id="orz4q"><strike id="orz4q"></strike></dl><xmp id="orz4q"><strike id="orz4q"><small id="orz4q"><samp id="orz4q"></samp></small></strike></xmp><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><progress id="orz4q"></progress></address></thead></listing><del id="orz4q"></del><object id="orz4q"><address id="orz4q"><samp id="orz4q"><rt id="orz4q"></rt></samp></address></object><ruby id="orz4q"></ruby><noframes id="orz4q"></noframes><code id="orz4q"></code><var id="orz4q"></var><nav id="orz4q"></nav><u id="orz4q"></u><span id="orz4q"></span><li id="orz4q"></li><tbody id="orz4q"><table id="orz4q"><span id="orz4q"><dl id="orz4q"></dl></span></table></tbody><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><var id="orz4q"></var><nav id="orz4q"></nav><rt id="orz4q"></rt><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><u id="orz4q"><s id="orz4q"></s></u><pre id="orz4q"><em id="orz4q"><p id="orz4q"><rp id="orz4q"></rp></p></em></pre><rt id="orz4q"><tr id="orz4q"></tr></rt> <pre id="orz4q"></pre><wbr id="orz4q"><rt id="orz4q"><tr id="orz4q"><output id="orz4q"></output></tr></rt></wbr><xmp id="orz4q"><pre id="orz4q"><em id="orz4q"><p id="orz4q"></p></em></pre></xmp><sub id="orz4q"></sub><p id="orz4q"></p><td id="orz4q"><tbody id="orz4q"></tbody></td><code id="orz4q"><video id="orz4q"><track id="orz4q"><tt id="orz4q"></tt></track></video></code><thead id="orz4q"></thead><source id="orz4q"><nobr id="orz4q"><cite id="orz4q"><td id="orz4q"></td></cite></nobr></source><del id="orz4q"></del><sub id="orz4q"></sub><code id="orz4q"></code><code id="orz4q"><menu id="orz4q"></menu></code><legend id="orz4q"><button id="orz4q"><source id="orz4q"><i id="orz4q"></i></source></button></legend><delect id="orz4q"></delect><ins id="orz4q"></ins><i id="orz4q"></i><pre id="orz4q"></pre><mark id="orz4q"></mark><b id="orz4q"><table id="orz4q"><strong id="orz4q"><noframes id="orz4q"></noframes></strong></table></b><source id="orz4q"></source><small id="orz4q"><optgroup id="orz4q"></optgroup></small><dl id="orz4q"></dl><center id="orz4q"><em id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></em></center><address id="orz4q"></address><tt id="orz4q"><code id="orz4q"><nobr id="orz4q"><sub id="orz4q"></sub></nobr></code></tt><strong id="orz4q"></strong><delect id="orz4q"></delect><nobr id="orz4q"></nobr><strike id="orz4q"></strike><strong id="orz4q"></strong><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><menu id="orz4q"></menu><menu id="orz4q"></menu><small id="orz4q"><optgroup id="orz4q"></optgroup></small><input id="orz4q"><label id="orz4q"></label></input><big id="orz4q"><nobr id="orz4q"><track id="orz4q"><button id="orz4q"></button></track></nobr></big><sub id="orz4q"></sub><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><tbody id="orz4q"><table id="orz4q"></table></tbody><font id="orz4q"><mark id="orz4q"><meter id="orz4q"><tbody id="orz4q"></tbody></meter></mark></font><dl id="orz4q"><strike id="orz4q"><i id="orz4q"><samp id="orz4q"></samp></i></strike></dl><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><strong id="orz4q"><input id="orz4q"></input></strong><wbr id="orz4q"></wbr><legend id="orz4q"></legend><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><center id="orz4q"><ol id="orz4q"><noscript id="orz4q"><b id="orz4q"></b></noscript></ol></center> <u id="orz4q"><s id="orz4q"></s></u><u id="orz4q"><s id="orz4q"></s></u><output id="orz4q"></output><ruby id="orz4q"></ruby><wbr id="orz4q"></wbr><ins id="orz4q"></ins><s id="orz4q"><kbd id="orz4q"></kbd></s><b id="orz4q"></b><nobr id="orz4q"></nobr><strike id="orz4q"></strike><input id="orz4q"><label id="orz4q"></label></input><em id="orz4q"></em><form id="orz4q"></form><tbody id="orz4q"><table id="orz4q"><legend id="orz4q"><dl id="orz4q"></dl></legend></table></tbody><tr id="orz4q"></tr><dd id="orz4q"></dd><li id="orz4q"></li><code id="orz4q"></code><menu id="orz4q"><samp id="orz4q"></samp></menu><p id="orz4q"><rp id="orz4q"><u id="orz4q"><strong id="orz4q"></strong></u></rp></p><pre id="orz4q"><em id="orz4q"></em></pre><tbody id="orz4q"><table id="orz4q"></table></tbody><ol id="orz4q"><p id="orz4q"><label id="orz4q"><blockquote id="orz4q"></blockquote></label></p></ol><tr id="orz4q"><option id="orz4q"></option></tr><legend id="orz4q"></legend><p id="orz4q"><rp id="orz4q"><output id="orz4q"><strong id="orz4q"></strong></output></rp></p><menu id="orz4q"></menu><rt id="orz4q"></rt><rp id="orz4q"></rp><optgroup id="orz4q"></optgroup><del id="orz4q"></del><button id="orz4q"></button><rp id="orz4q"></rp><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><thead id="orz4q"><menuitem id="orz4q"><progress id="orz4q"><noscript id="orz4q"></noscript></progress></menuitem></thead><sup id="orz4q"><acronym id="orz4q"></acronym></sup><center id="orz4q"></center><font id="orz4q"></font><noscript id="orz4q"><div id="orz4q"></div></noscript><font id="orz4q"></font><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><meter id="orz4q"></meter><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><nav id="orz4q"></nav><input id="orz4q"><label id="orz4q"><menuitem id="orz4q"><progress id="orz4q"></progress></menuitem></label></input><address id="orz4q"></address><dl id="orz4q"></dl><progress id="orz4q"></progress><video id="orz4q"></video></div> <div class="head"> <div class="top"><span><a href="/html/sitemap.xml">XML</a> | <a href="/html/sitemap.html">HTML</a> | <a href="/sitemap.txt">TXT</a></span></div> <div class="bank"> <div class="logo"> <h1><strong><a href="http://www.themmauniversity.com" style="margin-right:10px">‹¹Žå—软äšg开å?/a></strong><strong><a href="http://www.themmauniversity.com">å±×ƒ¸œè½¯äšg开å?/a></strong></h1> </div> <div class="contact-top"></div> </div> <div class="menu"> <ul> <li><a href="/">é¦?#160;   ™å?/a></li> <li><a href="/About/">关于我们</a></li> <li><a href="/Advantage/">开发优åŠ?/a></li> <li><a href="/Products/">产品展示</a></li> <li><a href="/Cooperation/">合作企业</a></li> <li><a href="/News/">新闻动æ€?/a></li> <li><a href="/Contact/">联系我们</a></li> </ul> </div> <div class="banner"><img src="/images/banner.jpg" width="1000" height="341"/></div> </div> <div id="position"><div>您当前位¾|®ï¼š<a href="/">软äšg开å?/a> >> <a href="/News/">新闻动æ€?/a> >> <a href="/News/Technology/">软äšg开发技æœ?/a> >> ‹¹è§ˆæ–‡ç« </div></div> <div class="youshi_f1" id="youshi_tdyx"> <div class="youshi01"> <h1 class="article_title">Habya'aåQˆäÍ时拼凑的¾l„äšgåQ‰ä¸ŽæŠ€æœ¯å€ºåŠ¡</h1> <div class="article_author">æ·ÕdŠ æ—‰™—´åQ?016-12-20 17:51:29 文章作者:<a href="/">‹¹Žå—软äšg开å?/a> ‹¹è§ˆ‹Æ¡æ•°åQ?Script Language="Javascript" Src="/item/GetHits.asp?Action=Count&GetFlag=0&m=1&ID=3101"></Script></div> <div class="article_main"><div id="MyContent"><p>我们æ›ùN‡åˆ°è¿‡æœ€åŽæœŸé™å³ž®†åˆ°æ¥ã€æ—¶é—´éžå¸¸ç´§˜q«çš„情况。当æ—Óž¼Œæˆ‘们必须ž®½å¿«ä¿®å¤BugåQŒç„¶è€Œå…¶ä¸­çš„一个Bug特别坚韧åQŒä“Q我们百般努力也无可奈何!随后åQŒæˆ‘的某个同事接手了调试工作。他å¼ø™¡Œå†™å…¥äº†ä¸€äº›åº”该从数据库中‹‚€ç´¢æ¥èŽ·å–的值——它们在¾pȝ»Ÿ˜qè¥çš„最初几个月里不会发生变化——随后……系¾lŸç¥žå¥‡åœ°æ­£å¸¸å·¥ä½œäº†ï¼</p><p>  对于˜q™ç±»â€œèŽ«åå…¶å¦™çš„代码”,我的˜q™ä½åŒäº‹ä»¥éžå¸”R£Ž­‘£çš„埃及俚语¿UîC¹‹ä¸ºâ€œHabya’a”,意即临时拼凑的组件ã€?/p><p>  我同事和他的创造性俚语相仿,Ward Cunninghamåœ?992òq´æŠŠ˜q™ç§¾pŸç³•çš„代码称之äؓ“技术债务”——在Wiki癄¡§‘上对技术债务的定义是“在判定某项ä»ÕdŠ¡å®Œæˆä¹‹å‰åQŒéœ€è¦å…ˆå®Œæˆçš„工作”,而Steve McConnellž®†æŠ€æœ¯å€ºåŠ¡å®šä¹‰ä¸ºâ€œä¸€¿Uè®¾è®¡æˆ–构徏的方法,它是一¿UçŸ­æœŸå†…的权宜之计——因为它会äñ”生这æ ïLš„一¿UæŠ€æœ¯çŽ¯å¢ƒï¼šä¸ŽçŽ°åœ¨åŠ¨æ‰‹å®Œæˆç›¸æ¯”,½EåŽå®ŒæˆåŒæ ·çš„工作需要更高的投入。â€?/p><p>  如果从实用主义的角度来看待技术债务åQŒæˆ‘们会发现实际上它òq¶ä¸æ€ÀL˜¯ä»¶åäº‹ã€‚当截止日期已过的时候,技术债务ž®Þq›¸å½“于ä¸ÞZº†äº¤ä»˜è€Œä»˜å‡ºçš„“高速公路的˜q‡èµ\费”。我的另一个朋友曾¾lè¿™æ ·å¯¹æˆ‘说“技术债务ž®±åƒåœ¨æ²¡æœ‰åœè½¦åŒºåŸŸçš„地方停èžRåQšäؕ停èžR是错误的行äؓåQŒè€Œä¸”会导致我们吃¾|šå•åQŒä½†æœ‰æ—¶å€™æˆ‘们äؓ了赶上旁边徏½{‘里的一‹Æ¡é‡è¦çº¦ä¼šï¼Œž®×ƒ¸å¾—不˜q™æ ·é“¤è€Œèµ°é™©ï¼â€?/p><p>  所以,有时候效益成本比军_®šäº†ä¸€åˆ‡ï¼ç„¶è€ŒæŠ€æœ¯å€ºåŠ¡å¿…须及早解决åQŒå®ƒä¸Žåƒé‡‘融上的债务ç›æ€¼¼çš„另一个地方,正是在于它们都会产生利息ã€?/p><p>  ˜q™é‡Œçš„利息是指在每次¾l´æŠ¤¾pȝ»Ÿçš„过½E‹ä¸­åQŒæˆ‘们面对以下状况需要付出的努力åQšç”±äºŽç´§è€¦åˆã€è¿‡å¤§çš„¾c…R€æœª¾læµ‹è¯•çš„代码或ä“Q何其他åŞ式的技术债务åQŒè€Œå¯¼è‡´ä»£ç å’Œ/或设计的¾l´æŠ¤å˜å¾—极其困难ã€?/p><p>  从我的观察来看,技术债务的æ€Õdˆ©æ¯åƈ不固定,而是会随着旉™—´çš„推¿U»è€Œå¢žé•Ñ€‚我的意思是åQŒåœ¨é¢å¯¹ä¸€ä¸ªå¸¦æœ‰æŠ€æœ¯å€ºåŠ¡çš„ç³»¾lŸæ—¶åQŒæ¯ä¸€ä¸ªSprint中我们都需要在¾pȝ»Ÿ¾l´æŠ¤ä¸ŠèŠ±è´ÒŽ¯”之前更多的精力。这个现象源自以下两™å¹å› ç´ ï¼š</p><p>¾l´æŠ¤æ—¶å¾ˆæœ‰å¯èƒ½ä¼šå¼•å…¥é¢å¤–的债务åQŒè¿™æ˜¯å› ä¸ºå½“我们的系¾lŸä¸­æ‹¥æœ‰ä¸€äº›æ؜ä¹Þqš„代码æ—Óž¼Œä»ÖM½•¾l´æŠ¤éƒ½ä¼šéµä»Žç›¸åŒçš„代码和/或设计方法。这些新增的债务会在下一‹Æ¡ç»´æŠ¤æ—¶æ¶ˆè€—更多的¾_‘ÖŠ›åQŒè€Œè¿™ä¸€åˆ‡å°†ä¸æ–­é‡å¤ã€?/p><p>随着旉™—´çš„流逝,ç”׃ºŽæ²¡æœ‰éµä»Žè®¾è®¡æ¨¡å¼ä»¥åŠ¾~ÞZ¹æ–‡æ¡£åŒ–,更多的开发者会从各自对代码或设计片ŒDµå¦‚何工作的假设出发åQŒç»™¾pȝ»Ÿæ‰“上不同的补丁。毫无疑问,˜q™å°†åœ¨ç³»¾lŸä¸­å¼•å…¥æ–°çš„Bug。而修订这些新Bug又会引入更多的Bug…â€?/p><p>  åŸÞZºŽä»¥ä¸ŠåŽŸå› åQŒæ¯ä»½åˆ©æ¯éƒ½ä¼šå¯¹æŠ€æœ¯å€ºåŠ¡çš„增镎쀜做å‡ø™µA献”,因此˜q™é‡Œçš„利息实际上是复利计½Ž—方式。复利计½Ž—ä‹É用以下指数公式:</p><p>  Yt = Y0(1+r)t</p><p>  在这里,Yt是在½W¬t个Sprint时的债务å€û|¼ŒY0是债务初始å€û|¼Œr代表增长率,而t代表Sprint序号。在敏捷™å¹ç›®çŽ¯å¢ƒä¸­ï¼Œâ€œt”是一个整敎ͼŒå› æ­¤åœ¨è¿™é‡Œæˆ‘们可以说åQŒæŠ€æœ¯å€ºåŠ¡ž®†éšç€æ—‰™—´çš„推¿UÀLŒ‰å‡ ä½•æ–¹å¼å¢žé•¿åQˆå› ä¸ºå‡ ä½•å‡½æ•°æ˜¯æŒ‡æ•°å‡½æ•°çš„一个特定情况——当指数函数中的“t”永˜qœå–整数值的时候)ã€?/p><p>  因此åQŒéšç€æ··äؕ的代码库不断¿U¯ç¯åQŒç³»¾lŸå°†å˜å¾—更加脆弱且难以维护。技术债务利息增长的另一个副作用则是åQŒç”±äºŽç”¨åœ¨ç»´æŠ¤ä¸Šçš„时间越来越多,å¯ÆD‡´å›¢é˜Ÿç”Ÿäñ”力遭åˆîCº†æŠ‘制ã€?/p><p>  在某个项目中åQŒæˆ‘们在很长旉™—´å†…都在忍受这æ ïLš„¾pŸç³•ä»£ç å®žè·µåQŒå½“我们最¾lˆè¿›å…¥æ­£å¼æŠ•å…¥ä‹É用前的阶ŒD‰|—¶åQŒç³»¾lŸçªç„¶ä¹‹é—´å°±å´©æºƒäº†ï¼æˆ‘们不可能进行重构的同时åQŒåˆèƒ½å¤Ÿé¿å…åœ¨ç³»¾lŸä¸­è¯¸å¤šéƒ¨åˆ†å¸¦æ¥é‡å¤§å½±å“åQŒå› æ­¤æˆ‘们决定一切推倒重来!</p><p>下一节将½Ž€è¦ä»‹¾lä¸€å¥—用来管理技术债务的推荐流½E‹ã€‚在初始假设中,我们认äؓ技术债务是一¿Ué£Žé™©ã€‚è¿™™å¹å‡è®‘ÖŸºäºŽå¯¹é£Žé™©çš„定义:“可能会影响臛_°‘一™åšw¡¹ç›®ç›®æ ‡â€”—范围、计划、成本或质量——的一件不¼‹®å®šäº‹äšg。”技术债务非常½W¦åˆ˜q™æ¡å®šä¹‰åQŒå› ä¸ºå®ƒå¯šw¡¹ç›®æ¥è¯´æ˜¯ä¸€™åҎ½œåœ¨å¨èƒï¼Œå¦‚果不能及时解决的话åQŒå¯èƒ½ä¼šå¯šw¡¹ç›®é€ æˆè´Ÿé¢å½±å“ã€?/p><p>  作äؓ敏捷爱好者,我将把这个流½E‹æ”¾åœ¨Scrum™å¹ç›®ä¸­ï¼Œæ¥è¿›è¡Œåˆ†æžã€‚实际上我发玎ͼŒéžå¸¸æœ‰å¿…要管理敏捷项目的技术债务。因ä¸ÞZ¸Žå…¶ä»–æ–ÒŽ³•ç›¸æ¯”åQŒæ•æäh–¹æ³•ä¸­çš„快速交付节奏更加鼓励快速且不干净的代码风根{€‚而且在敏捷项目中åQŒæˆ‘们只˜q›è¡Œæ°åˆ°å¥½å¤„的设计和架构åQŒåƈ通过重构来跟上ä“Q何需求的调整åQ›è¿™æ ïLš„后果是,在某¿Uç¨‹åº¦ä¸Šæˆ‘们æ€ÖM¼šæ‹¥æœ‰æŠ€æœ¯å€ºåŠ¡åQŒå› ä¸ºæˆ‘们æ€ÀL˜¯ä¸å¾—不在展开设计的过½E‹ä¸­ä¼˜åŒ–我们的代码ã€?/p><p>  技术债务½Ž¡ç†‹¹ç¨‹å¦‚下åQ?/p><p>讑֮šæŠ€æœ¯ä¿¡ç”¨é™é¢ï¼ˆTCLåQ‰â€”—TCL是我们愿意借出的理惛_·¥ä½œå°æ—¶æ•°æˆ–用æˆäh•…事点的最大总额。可以用总项目大ž®çš„癑ֈ†æ¯”åŞ式来计算该限额,例如10%ã€?/p><p>识别技术债务因素——技术债务因素是指˜q™æ ·çš„情况:某位团队成员希望¾l•è¿‡ä¸€äº›è‰¯å¥½çš„代码、设计或‹¹‹è¯•å®žè·µåQŒä»¥ä¾¿å®žçŽ°å¿«é€Ÿäº¤ä»˜ã€‚我们应该在每天Scrum会议通过ž®ç»„讨论来识别这些因素ã€?/p><p>记录技术债务ä»ÕdŠ¡â€”—对于每™åҎŠ€æœ¯å€ºåŠ¡å› ç´ åQŒéœ€è¦åœ¨æŠ€æœ¯å€ºåŠ¡è®°å½•é‡Œæ·»åŠ ä¸¤™å¹ä“Q务,òq¶ä‹É用立™å¹å·¥ä½œå°æ—¶æˆ–用户故事点的方式来估½Ž—其大小。这两项ä»ÕdŠ¡æ˜¯ï¼š</p><p>开拓型ä»ÕdŠ¡åQšæŒ‡æˆ‘们军_®šåˆ©ç”¨æŠ€æœ¯å€ºåŠ¡å› ç´ æ—Óž¼Œéœ€è¦åšä»€ä¹ˆã€‚这是技术债务的篏加ã€?/p><p>偿还型ä“Q务:当决定重构代码或设计的时候,我们需要做什么。这一ä»ÕdŠ¡çš„大ž®ï¼Œä»£è¡¨äº†æˆ‘们从TCL中拿出多ž®‘来偿还发生的债务ã€?/p><p>选择ä»ÕdŠ¡â€”—在Sprint规划会议中,选择希望开拓的技术债务因素。技术债务因素的选择应该åŸÞZºŽäº§å“æ‰€æœ‰è€…确定的优先¾U§ã€?/p><p>从TCL中减åŽÕd¿˜q˜åž‹ä»ÕdŠ¡æ‰€å…Œ™”的技术债务的大ž®ï¼ˆé™é¢æ‰£å‡åQ‰ã€?/p><p>在Sprint待办事项列表中增加与开拓型ä»ÕdŠ¡ç›¸å…³çš„技术债务åQŒåƈž®†å…¶å¤§å°ç´¯åŠ åˆ°é¡¹ç›®æ€Õd¤§ž®ä¸Šã€?/p><p>  如果我们发现TCL已经快要用光了,那么接下来我们需要:</p><p>在Sprint待办事项列表中添加一™å¹å¿˜q˜åž‹ä»ÕdŠ¡ã€?/p><p>在完成该偿还型ä“Q务后åQŒå¯¹TCL增加½{‰é‡é¢åº¦ã€?/p><p>  ˜q™æ ·åQŒæˆ‘们将TCL作äؓ监视¾pȝ»ŸåQŒä»¥ä¾¿åœ¨æŠ€æœ¯å€ºåŠ¡å¼€å§‹ç§¯èšçš„时候警告自己,以便我们努力使其恢复到健åºäh°´òqŸë€?/p><p> ¾l“语</p><p>  ž®†æŠ€æœ¯å€ºåŠ¡ä½œäؓ风险来进行管理,òq¶ä‹É用技术信用限额,能够有效地减ž®‘技术债务的负面媄响,同时令收益最大化——特别是在敏æäh–¹æ³•ä¸­åQŒæˆ‘们很å®ÒŽ˜“滥用技术债务åQŒå°†å…¶ä½œä¸ÞZ¸€¿UåŠ é€Ÿäº¤ä»˜çš„手段åQŒå› æ­¤ä¹Ÿž®±éœ€è¦æ›´åŠ å…³æ³¨æŠ€æœ¯å€ºåŠ¡ã€?/p><p><br/></p></div> </div> </div> </div> <div class="clear"></div> <div class="foot"> <div class="foot_menu"> <ul> <li><a href="/About/">关于我们</a></li> <li><a href="/Advantage/">开发优åŠ?/a></li> <li><a href="/Statement/">法律声明</a></li> <li><a href="/Remittance/">汇款方式</a></li> <li><a href="/Contact/">联系我们</a></li> </ul> </div> <div class="banquan"> 手机åQ?8678812288 EåQMail:1069706080@qq.com<br /> 地址åQšå±±ä¸œçœ‹¹Žå—市舜耕èµ\泉城公园东门园内向北50¾c? 鲁ICPå¤?7011972å? 版权所æœ?008åQ?013 å±×ƒ¸œèµ¢å¯d信息¿U‘技有限公司<script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "#/h.js%3F5fbc066dba9928a1e914c338c6945c98' type='text/javascript'%3E%3C/script%3E")); </script> </div> </div> <div style="position:fixed;left:-9000px;top:-9000px;"><dfn id="orz4q"><noscript id="orz4q"><xmp id="orz4q"><output id="orz4q"></output></xmp></noscript></dfn><strong id="orz4q"><dl id="orz4q"></dl></strong><ol id="orz4q"><p id="orz4q"><nav id="orz4q"><pre id="orz4q"></pre></nav></p></ol><dfn id="orz4q"></dfn><small id="orz4q"><optgroup id="orz4q"></optgroup></small><center id="orz4q"><small id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></small></center><table id="orz4q"><ruby id="orz4q"><dl id="orz4q"><del id="orz4q"></del></dl></ruby></table><rt id="orz4q"></rt><output id="orz4q"></output><mark id="orz4q"></mark><dl id="orz4q"></dl><div id="orz4q"></div><optgroup id="orz4q"></optgroup><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><video id="orz4q"></video><object id="orz4q"><sup id="orz4q"></sup></object><em id="orz4q"></em><div id="orz4q"></div><progress id="orz4q"><listing id="orz4q"><th id="orz4q"><option id="orz4q"></option></th></listing></progress><meter id="orz4q"></meter><acronym id="orz4q"><rt id="orz4q"></rt></acronym><label id="orz4q"></label><track id="orz4q"></track><noscript id="orz4q"><div id="orz4q"><pre id="orz4q"><ol id="orz4q"></ol></pre></div></noscript><s id="orz4q"><kbd id="orz4q"></kbd></s><form id="orz4q"></form><var id="orz4q"></var><dl id="orz4q"><strike id="orz4q"></strike></dl><xmp id="orz4q"><strike id="orz4q"><small id="orz4q"><samp id="orz4q"></samp></small></strike></xmp><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><progress id="orz4q"></progress></address></thead></listing><del id="orz4q"></del><object id="orz4q"><address id="orz4q"><samp id="orz4q"><rt id="orz4q"></rt></samp></address></object><ruby id="orz4q"></ruby><noframes id="orz4q"></noframes><code id="orz4q"></code><var id="orz4q"></var><nav id="orz4q"></nav><u id="orz4q"></u><span id="orz4q"></span><li id="orz4q"></li><tbody id="orz4q"><table id="orz4q"><span id="orz4q"><dl id="orz4q"></dl></span></table></tbody><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><var id="orz4q"></var><nav id="orz4q"></nav><rt id="orz4q"></rt><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><u id="orz4q"><s id="orz4q"></s></u><pre id="orz4q"><em id="orz4q"><p id="orz4q"><rp id="orz4q"></rp></p></em></pre><rt id="orz4q"><tr id="orz4q"></tr></rt> <pre id="orz4q"></pre><wbr id="orz4q"><rt id="orz4q"><tr id="orz4q"><output id="orz4q"></output></tr></rt></wbr><xmp id="orz4q"><pre id="orz4q"><em id="orz4q"><p id="orz4q"></p></em></pre></xmp><sub id="orz4q"></sub><p id="orz4q"></p><td id="orz4q"><tbody id="orz4q"></tbody></td><code id="orz4q"><video id="orz4q"><track id="orz4q"><tt id="orz4q"></tt></track></video></code><thead id="orz4q"></thead><source id="orz4q"><nobr id="orz4q"><cite id="orz4q"><td id="orz4q"></td></cite></nobr></source><del id="orz4q"></del><sub id="orz4q"></sub><code id="orz4q"></code><code id="orz4q"><menu id="orz4q"></menu></code><legend id="orz4q"><button id="orz4q"><source id="orz4q"><i id="orz4q"></i></source></button></legend><delect id="orz4q"></delect><ins id="orz4q"></ins><i id="orz4q"></i><pre id="orz4q"></pre><mark id="orz4q"></mark><b id="orz4q"><table id="orz4q"><strong id="orz4q"><noframes id="orz4q"></noframes></strong></table></b><source id="orz4q"></source><small id="orz4q"><optgroup id="orz4q"></optgroup></small><dl id="orz4q"></dl><center id="orz4q"><em id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></em></center><address id="orz4q"></address><tt id="orz4q"><code id="orz4q"><nobr id="orz4q"><sub id="orz4q"></sub></nobr></code></tt><strong id="orz4q"></strong><delect id="orz4q"></delect><nobr id="orz4q"></nobr><strike id="orz4q"></strike><strong id="orz4q"></strong><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><menu id="orz4q"></menu><menu id="orz4q"></menu><small id="orz4q"><optgroup id="orz4q"></optgroup></small><input id="orz4q"><label id="orz4q"></label></input><big id="orz4q"><nobr id="orz4q"><track id="orz4q"><button id="orz4q"></button></track></nobr></big><sub id="orz4q"></sub><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><tbody id="orz4q"><table id="orz4q"></table></tbody><font id="orz4q"><mark id="orz4q"><meter id="orz4q"><tbody id="orz4q"></tbody></meter></mark></font><dl id="orz4q"><strike id="orz4q"><i id="orz4q"><samp id="orz4q"></samp></i></strike></dl><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><strong id="orz4q"><input id="orz4q"></input></strong><wbr id="orz4q"></wbr><legend id="orz4q"></legend><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><center id="orz4q"><ol id="orz4q"><noscript id="orz4q"><b id="orz4q"></b></noscript></ol></center> <u id="orz4q"><s id="orz4q"></s></u><u id="orz4q"><s id="orz4q"></s></u><output id="orz4q"></output><ruby id="orz4q"></ruby><wbr id="orz4q"></wbr><ins id="orz4q"></ins><s id="orz4q"><kbd id="orz4q"></kbd></s><b id="orz4q"></b><nobr id="orz4q"></nobr><strike id="orz4q"></strike><input id="orz4q"><label id="orz4q"></label></input><em id="orz4q"></em><form id="orz4q"></form><tbody id="orz4q"><table id="orz4q"><legend id="orz4q"><dl id="orz4q"></dl></legend></table></tbody><tr id="orz4q"></tr><dd id="orz4q"></dd><li id="orz4q"></li><code id="orz4q"></code><menu id="orz4q"><samp id="orz4q"></samp></menu><p id="orz4q"><rp id="orz4q"><u id="orz4q"><strong id="orz4q"></strong></u></rp></p><pre id="orz4q"><em id="orz4q"></em></pre><tbody id="orz4q"><table id="orz4q"></table></tbody><ol id="orz4q"><p id="orz4q"><label id="orz4q"><blockquote id="orz4q"></blockquote></label></p></ol><tr id="orz4q"><option id="orz4q"></option></tr><legend id="orz4q"></legend><p id="orz4q"><rp id="orz4q"><output id="orz4q"><strong id="orz4q"></strong></output></rp></p><menu id="orz4q"></menu><rt id="orz4q"></rt><rp id="orz4q"></rp><optgroup id="orz4q"></optgroup><del id="orz4q"></del><button id="orz4q"></button><rp id="orz4q"></rp><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><thead id="orz4q"><menuitem id="orz4q"><progress id="orz4q"><noscript id="orz4q"></noscript></progress></menuitem></thead><sup id="orz4q"><acronym id="orz4q"></acronym></sup><center id="orz4q"></center><font id="orz4q"></font><noscript id="orz4q"><div id="orz4q"></div></noscript><font id="orz4q"></font><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><meter id="orz4q"></meter><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><nav id="orz4q"></nav><input id="orz4q"><label id="orz4q"><menuitem id="orz4q"><progress id="orz4q"></progress></menuitem></label></input><address id="orz4q"></address><dl id="orz4q"></dl><progress id="orz4q"></progress><video id="orz4q"></video></div> <a href="http://www.themmauniversity.com/">ÈÕº«¾«Æ·ÎÞÂëÒ»Çø¶þÇøÑÇÖÞAV_ÃÛÔÂa¢¥Å·ÃÀÈÕº«¹ú²ú¾«Æ·_±©²ÙÃÀÅ®Òõ²¿¸ß³±ÌìÁËÕÚµ²Ãâ·Ñ¿´_Å·¾«²úÆ·Ò»ÇøÒ»ÇøÈýÇø</a> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body> </html>