Tech Debt Tracking

目标

提供一个基本策略,用于跟踪和引用 TripleO 中与技术债务相关的变更。

问题描述

在 TripleO 的开发过程中,有时由于时间或资源限制,会产生技术债务。如果没有可靠的方法来跟踪我们有意引入技术债务的时间,就很难量化我们给自己制造了多少技术债务。此外,技术债务会遗失在代码中,如果没有办法记住我们把它放在哪里,就几乎不可能记住何时何地需要返回去修复一些已知问题。

提议的变更

使用 Bug 跟踪代码技术债务

有意创建的技术债务项目应该创建一个 bug [1],并添加 tech-debt 标签。此外,变更的提交消息应该引用这个 tech-debt bug,如果可能的话,应该在代码中添加注释,说明是谁引入的。

示例提交消息

Always exit 0 because foo is currently broken

We need to always exit 0 because the foo process eroneously returns
42. A bug has been reported upstream but we are not sure when it
will be addressed.

Related-Bug: #1234567

示例注释

# TODO(aschultz): We need this because the world is falling apart LP#1234567
foo || exit 0

将 Bug 分类为技术债务

如果最终用户报告了一个我们知道是技术债务项的 bug,那么对该 bug 进行分类的人员应该添加 tech-debt 标签。

报告技术债务

有了 bug 上的 tech-debt 标签,我们应该能够持续跟踪我们标记的 bug,并在每个发布里程碑上报告这些 bug,以了解添加数量和时间趋势。在 bug 分类过程中,我们应该努力在每个主要发布版本中添加净零技术债务 bug(如果可能的话)。

替代方案

我们继续不跟踪这些事情,并继续依赖开发人员记住他们添加代码的时间,并自行返回修复或由其他开发人员发现问题并将其删除。

实现

核心审查人员应该要求对任何技术债务进行适当的跟踪,并可以对添加技术债务而没有正确归属的补丁进行 -1 投票。

作者

主要作者

aschultz

里程碑

Queens-1

工作项

  • aschultz 在 Launchpad 中创建 tech-debt 标签。

参考资料

修订历史

修订

发布名称

描述

Queens

引入

注意

本作品采用知识共享署名 3.0 非移植许可协议授权。 http://creativecommons.org/licenses/by/3.0/legalcode