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 投票。
里程碑¶
Queens-1
工作项¶
aschultz 在 Launchpad 中创建 tech-debt 标签。
参考资料¶
修订历史¶
发布名称 |
描述 |
|---|---|
Queens |
引入 |
注意
本作品采用知识共享署名 3.0 非移植许可协议授权。 http://creativecommons.org/licenses/by/3.0/legalcode