你是否积极管理软件开发项目中的技术债务,如果是,你是如何做到的?
你是否积极管理软件开发项目中的技术债务,如果是,你是如何做到的?
管理技术债务的一个方面是说服非技术经理需要分配时间进行重构和修复漏洞。
这篇文章提供了具体建议,以便您完成这一任务。
在我们的团队中,我们积极管理技术债务。我们采用Scrum方法,因此根据估算和剩余迭代能力,我们为当前迭代或下一个迭代生成技术债务卡,并像功能和错误卡一样进行优先排序。我们还通过拥有跨团队技术债务积压列表来管理更大的跨团队债务项目,在每个Scrum团队的迭代计划期间将其优先级注入其中。
你所需要做的是创造一种文化,除非在极端情况下,技术债务是不可接受的。就像只有在绝对必要的情况下才使用信用卡的人一样。
我同意Anders的观点。如果你必须设置管理技术债务的系统,那就意味着你仍在增加它。首先通过升级“完成”的定义来停止负债。
这意味着“负债”模块将更难处理。开发人员应该意识到这一点,并分配更多的故事点,以便他们在完成任务后留下“完成”的状态。
如果你在发布周期晚了,你不想太多改变代码库。这意味着总会有一些技术债务。我通常为那些次优的更改编写 FIXME:,然后在开始实现下一个版本的功能之前处理它们。
这很大程度上取决于产品。当我在一个需要外部审计代码的领域工作时,它已经是我们开发过程中计划的一部分了。项目经理只需询问开发人员哪个区域需要重构,然后将其写入计划中。这并不意味着您不会修复正在处理的区域的代码,但您不会花一天时间重写一个混乱的工作代码块。现在我在Scrum中工作,开发人员在进行工作时就会进行重构。 我的印象是无论哪种方式,重构工作所需的时间大致相同。