敏捷开发之技术债务

作者 : 开心源码 本文共1102个字,预计阅读时间需要3分钟 发布时间: 2022-05-13 共201人阅读

什么是技术债务

how-to-manage-technical-debt.png

“技术债务”这一概念是沃德·坎宁安在1992年提出的,指的是开发团队在设计或者架构选型时从短期效应的角度选择了一个易于实现的方案,但从长远来看,这种方案会带来更消极的影响,亦即开发团队所欠的债务。

技术债务是开发团队在质量目标和束缚目标平衡之后的结果,目的都是为乐最大化的交付价值。技术债务除了长远的不利影响之外,近期交付的价值却是客观的,能够迅速推出新产品,适应快速变化的市场。

那么到底谁该为技术债务负责,或者者说改怎么消除技术债务?

既然是“技术债务”,那么是不是意味着仅仅是技术人员负责呢?当然不是,虽然技术人员重构代码是减少技术债务的重要手段,但是其余角色也应该充分发挥其作用,毕竟要消除技术债务需要重构的不仅仅是代码。

部门LEADER

敏捷的一个重要准则是“不断关注技术能否优秀,设计能否良好”,作为Leade应该意识到没有最好的架构,只有更正当的架构,从决策层面去考虑现有的资源配置能否正当,决策应该具备前瞻性。

Product Owner

产品负责人(PO)主要负责收集业务需求,并按照优先级放入迭代,交由开发人员按照迭代计划开发。PO应该意识到偿还技术债务的重要性,在向迭代中输出需求时应该给技术团队预留重构代码的时间。

架构师

架构师应该认识到重构架构的必要性,并投入精力来分析代码重构的影响并适当的重构架构。同时,系统的架构应该和整个公司的技术架构保持一致。

测试工程师

在将每个代码更改部署到生产之前,都必需进行测试。基于重构的代码或者设计,测试工程师需要重构测试用例,某些测试用例可能是多余的,不再需要;某些测试用例可能必需升级。在实施这些更改时,测试工程师应回归测试,保证正常交付。

基础设备团队

不仅仅是重构代码,有时候整个服务架构需要重构,这时有可能也需要相应的基础设备重构,这时候就需要开发,测试,架构和基础设备团队紧密合作。在比较成熟的Devops团队中,这种合作很常见。

综上,适当的技术债务可以加快整个团队价值的交付,正如战略性的债务规划可以优化公司是资产配置。技术债务的重要性应该是自上而下整个团队的共识,它不仅限于代码,而是涵盖整开发周期的所有阶段。定时的偿还技术债务可以保障系统的稳固运行,提振团队士气。

总而言之,我们很容易用非黑即白、非好即坏的眼光看待世界,但构筑软件要远比这要复杂的多。假如单一的认定技术债务是团队失误,那产品将永远无法适应快速变化的市场。假如盲目认定技术债务总是好的,最终技术债务的积累终将会导致整个系统的崩溃。假如能始终保持清晰的头脑掌握均衡之道,那么技术债务可以为团队带来巨大红利。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 敏捷开发之技术债务

发表回复