技术债务识别与管理:从业务背景到代码实践
1. 评估技术债务的业务背景理解
明确业务目标对于团队建立选择合适技术和工具分析软件、识别技术债务并记录重要技术债务项的标准至关重要,它为管理技术债务提供了正确的起点。
例如,以国际化方面的技术债务案例(Atlas #5118)来说,处理第二种拉丁字母语言的代码分散在整个代码库中,且无法支持其他语言,尤其是非拉丁字母语言。这一选择最初是由于为了赶演示截止日期的进度压力,优先考虑了进度而非可修改性,也与团队对语言国际化(I18N)和本地化(L10N)软件的不熟悉有关。其后果是增加对第三种非拉丁字母语言的支持会有很长的延迟,架构依赖分析发现系统中的更改会产生连锁反应,由于系统复杂性、依赖关系导致更改时间增加,代码和测试的复用也变得困难。若在现有结构上构建,这将是个大问题;若等到下一次发布再更改,由于债务积累,添加额外语言支持需要额外工作,会降低开发速度。补救方法是消除导致用户界面和业务逻辑之间更多相互依赖、协调和信息流问题的紧密耦合,选择现有的I18N库。
发现技术债务的过程与发现系统中其他问题的过程相同,关键在于要有足够的纪律性,将对业务目标的关注追溯到相关的技术债务项,并将其锚定在具体的系统工件中。具体步骤如下:
1. 理解关键业务目标。
2. 识别与业务目标相关的系统关键关注点/问题。
3. 定义与问题和目标相关的可观察的定性和定量标准。
4. 选择并应用一种或多种技术或工具来分析软件,以符合定义的标准。
5. 将发现的问题记录为技术债务项。
6. 迭代执行步骤2到5。
业务目标对系统的关键关注点有直接影响,进而影响源代码、架构、开发、部署和交付基础设施。明
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



