For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
技术债务在许多软件编程开发项目中都是会经常存在的一个问题,而本文我们就通过案例分析来简单了解一下,软件开发技术债务处理都有哪些方法。
技术债务是一个不可完全驯服的怪物。,我们无法彻底的根除,只能选择合适的策略与之共存。
所以,所有好的算法,任何团队,都要根据自身具体的情况,譬如团队的结构,系统的规模、业务领域的复杂度、团队能力和经验,以及进度的压力等,综合来选择适合的策略。
放任自流
在一些场景下,团队可以对技术债务采取放任自流的策略。
譬如,你为自己编写了一个快速处理数据的脚本,并且也不打算重用它,为什么要担心技术债呢?
同样,这个策略也可以适用于大一点项目,譬如,大型的电脑游戏,开发者知道他们将为下一款游戏开始新的系统,所以在游戏发行之前,只需忍受技术债务的困扰就可以了。
类似的一次性的系统,放任自流,也是一种可选的策略。
被动清理
被动清理,就是团队只使用技术债务的清理策略。
这是现在大多数团队所采取的策略。团队的重点始终在构建新功能之上,只是抽空来清理一些细小的技术债务。
因此,更大的清理工作就变的有挑战了,所以早期的错误会一直存在,导致的就是以后重构的代价会更大,这是一个潜在的隐患。
当然,识别问题比规避问题要容易的多,所以在开发人员的设计能力有限时,被动的清理依然是有意义的。
主动预防
这种只使用技术债务提前规避的主动策略,在今天大部分团队内是并不常见的。
其实,如果你能通过一些事先的思考,来避免技术债务的产生,这要比陷入明显的问题要有效得多。
另一方面,如果你对正在使用的技术没有充足的经验,你可能会因为错误的假设而浪费了时间。尽管努力避免技术债务,但它还是会发生,所以使用主动预防策略的团队,可能会切换到双管齐下的策略之上去。
双管齐下
当团队希望自身技术债务更低更可控的时候,大部分时候都是采取双管齐下的策略,将清理和预防都使用起来。
譬如,在每次迭代的开始,团队讨论新的功能需求将如何影响当前的设计,这样可以保持迭代设计的重点,并让每个人都对设计有理解和掌握度。
团队可能对系统未来的新功能有一定的前瞻的预期假设,即使他们现在没有在做这些需求,但是因为知道未来会发生什么,可能有助于他们更好的思考今天的设计和决策。
有的时候,一个新功能很难添加到现在的设计中,因为它可能与当前领域的假设是相矛盾,或者很难在当前架构中来构建的。
如果开发人员可以重做设计,并在当前迭代中添加功能,那就太好了,如果不能,他们还可以和产品负责人沟通。在做出决定之前,他们会权衡干系人诉求,进度压力和工程风险等。
终的答案,可能是先推出该功能,然后再清理技术债务,或者完全推迟交付该功能,或者介于两者之间等。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。