`
燮羽天翔
  • 浏览: 110353 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Act with Prudence

阅读更多

 

Whatever you undertake, act with prudence and consider the consequences.

                                                                                                                --Anon

     不管你的日程安排在某个迭代刚开始的时候看起来有多么适合, 你总不能避免在某个时候会感受到压力。如果你发现必须在“正确地去做”还是“更快地去做”中做选择, 后者总是更具有吸引力,因为你认为你应该会在将来的某个时间回来将它修正。当你对自己,你的团队,你的客户做这种承诺的时候,你是认真的。但总是那么快就会在另一个迭代中出现新的问题,而你开始将注意力转移到它上。这种工作推迟即所谓的技术性债务(technical debt),而且它对你并不会那么友好。具体点说,Martin Fowler将其称之为故意性的技术债务(deliberate technical debt)在他的技术性债务分类中,并提出这不应该与inadvertent technical debt(无意中的技术债务)混为一谈。(以下简称之为TD)

     TD就像借贷:你会在短期中获益,但是你必须不断偿还利息直到它被彻底还清。代码中的捷径导致你在添加特性或者是重构你的代码的时候会非常困难。他们就像是缺陷和脆弱的测试用例滋生的土壤。你听之任之的时间越长,它就越发的会变本加厉。到了你必须面临并想办法解决最初始的修正的时候,会有成堆的不那么正确(not-quite-right)的设计选择堆积在最原始的问题智商,使代码更加难以重构和修正。实际上,经常是问题已经变得不可收拾,你必须去修正最原始问题的时候,你才真正回去修正它。但是这个时候,通常的情况是它已经很难更正,因为你没有那么多时间,或者是承担不起那种风险,

     经常有情况是你必须引入TD,以在最后期限之前完成任务,或者是实现某个特性(feature)很小的部分(thin slice)。尝试着不要是自己陷入这样一种境地,但是如果环境和境况确实要求你这样,那你可以这样做。但是(这是一个如此重要的但是),你必须对这个TD保持跟踪,然后尽快将其还清,不然问题会迅速急转直下。当你真正决定做出妥协的时候,制作一个任务卡,或者是将其记录到你的问题跟踪系统中,以保证它不会被忘却。

    如果你将账务的归还计划到下一个迭代中,TD的影响会是最小的。放任债务不管会是利息不断积累,同时,利息应该被跟踪以保证TD的影响是可视的。这会强调出TD对这个项目的商业价值的影响和伤害,这样合适的提高债务偿还的优先级将成为可能。如何计算和跟踪这些利息是不同的项目而不同,但是你必须去做。

    尽可能快地还清TD。不这样做事非常不聪明的举动。

 

燮羽. 2010.5.21

分享到:
评论

相关推荐

    java开发抽奖系统源码-97-Things-Every-Programmer-Should-Know:基于抄送http://programm

    java开发抽奖系统源码##Act with Prudence “无论你做什么,都要谨慎行事并考虑后果” Anon 无论在迭代开始时时间表看起来多么舒适,有时您都无法避免承受压力。 如果您发现自己必须在“正确做事”和“快速做事”...

    应用多元统计

    care and prudence, have revealed interesting facts and have led to the conjecture of laws ruling the moral and intellectual world, much like those that govern the material world. It is the whole of ...

    谨慎:简单的JS对象验证器

    谨慎(请在此处输入徽标) 简单的JS对象验证器。 文献资料 在阅读文档。 动机 验证非原始输入是一件很痛苦的事情,我发现自己经常重写输入验证。 ...const Prudence = require ( "prudence" ) . d

    team_generator

    标题 Team Generator 描述 AS A manager, I WANT to generate a webpage that displays my team's basic info so I have quick access ... Kisha Prudence-导师 作者 Richard Gabaree 测试 jest 执照 MIT 的GitHub

    多尺度能力:一种更好的算法交易绩效衡量方法-研究论文

    本文为算法交易开发了一种新的性能测量方法。 通过适应质量控制文献中的能力,我们提出了在单一框架中评估控制、预期尾部损失和风险调整后绩效的新标准。 我们提出的多尺度能力度量比金融中使用的传统度量更具描述性...

Global site tag (gtag.js) - Google Analytics