Brenda的敏捷沉思录

Brenda's Agile Thinking

导航

如何评估你的技术债务?

Posted on 2010-12-21 11:23  brenda bao  阅读(932)  评论(0编辑  收藏  举报

  敏捷圈的人都知道,技术债务是不能欠的,利息比房贷还高很多。而且一旦开始欠,就会越欠越多。所以,敏捷的原则告诉我们要稳步前进,在保持当前功能交付的同时,还得保证不欠下技术债务。这就意味着,不能以牺牲质量为前提来赢取交付时间。不然,从长远来看,对产品的发展不利。

  但是,如何把这个概念介绍给产品经理、销售、高层经理等与技术无关的人员呢?

  最直接也是最有效的方法就是用数字说话!由于这次需要在这个时间点交付超过团队正常速率能交付的功能,首先,我们承担了交付延期的风险,这个风险的可能损失是多少钱。其次,我们如果在将来需要把这些债务补回来,需要额外投入多少开发成本。然后,如果债务没有及时偿还,我们的维护成本会因此增加多少。最后,由于我们潜在的质量问题,有可能损失多少客户。把所有的这些加起来,估计一个价钱,告诉相关人等,让他们做一个决定。

  很多时候,业务人员和管理人员在push技术人员多做工作的时候,并没有意识到技术债务产生的额外成本。由于软件的复杂性和虚拟性,也很难让他们看到或者感受到技术债务是什么。这个时候,开发团队就有责任找到一种交流渠道,让他们知道技术债务的风险。钱,或者说数字,就是一种很好的方法。

  世面上也已经有相关的工具评估技术债务,如Sonar:http://www.sonarsource.org/evaluate-your-technical-debt-with-sonar/。如果还没有方向如何评估技术债务的话,可以从这个工具开始得到一些数据。然后,慢慢把这个理念传播给更多的人。