数字转型企业面临不断增长的技术债务 - DevOps.com


技术人员总是支持新的、时尚的开发解决方案。更强大的框架、更多的交付、更好的集成。但这些支持者很少考虑引入新技术的长期副作用。因此,技术债务在大多数公司中司空见惯。
近三分之一的 IT 预算专门用于解决技术债务。投入如此多的精力来维护遗留代码会导致支持现状的资源更少,更不用说开发新的解决方案了。事实上,最近的一项研究发现,69% 的 IT 领导者认为技术债务是对其公司创新能力的重大威胁。
OutSystems的一份报告“技术债务的日益增长的威胁”就这一难题对 500 名 IT 领导者进行了调查。下面,我们将探讨技术债务的主要原因,并考虑防止其失控的方法。
 
什么是技术债?
技术债务似乎违反直觉。技术难道不应该帮助组织提高生产力吗?为什么会成为负担?好吧,技术债务通常源于短期内做出的草率决定,这些决定会产生长期后果。这也通常是一家公司同时处理许多竞争技术的结果,其中一些技术已经过时。
技术债务可能会带来高昂的代价。但是,这种债务并不是以托管遗留技术或运行损坏代码的成本来衡量,而是以维护和修补它所损失的时间来衡量。该报告发现,平均而言,企业将 28% 的 IT 预算用于解决技术债务。在大型企业中,这个数字增加到 40%。
 
常见原因
导致技术债务的因素不止一个。组织内的许多问题都会导致该问题,包括对陈旧技术的依赖、短期交付的压力、不断变化、开发人员流失和错误的架构决策。
技术债务的首要原因是太多的开发语言和框架,52% 的受访者认为这是一个大问题或关键问题。传统技术会使 IT 部门不堪重负。但是,这不一定只是旧技术的阻碍——可能是 IT 支持太多相互竞争的议程。
第二个主要原因是开发团队内部的高流动率。在当今竞争激烈的环境中,质量工程师供不应求,招聘可能具有挑战性。因此难以吸引和培养稳定的工程人才。如果开发人员经常去更环保的牧场,尤其是在记录他们的程序之前,最佳实践很容易丢失,并且技术的有效使用受到阻碍。
研究发现,其他常见原因包括接受已知缺陷以满足最后期限、使用过时的编程语言和框架以及应对服务新市场或细分市场的挑战。有时,团队发布具有已知缺陷的软件只是为了满足最后期限。大型组织的庞大规模可能会导致技术债务增加,如果不解决它,问题就会进一步复杂化。
在行业方面,报告发现医疗保健和社会援助类别受到的打击最大。在该领域,平均 35% 的 IT 预算用于解决技术债务。下一个负担最重的群体是金融类别,根据报告,这一比例为 29%。
 
技术债务的成本
技术债务的成本是多少?维护成本高,创新时间减少,并对整体软件性能产生不利影响。团队动态也可能因持续的技术债务而引起不良反应。
技术债务需要不成比例的大量时间来维护。Stripe 的“开发人员系数”研究发现,工程师平均花费 33% 的时间来处理技术债务。这相当于平均每周工作约 13.5 小时。
您承担的债务越多,用于运行现状运营和构建新功能的预算就越少。支持技术债务不仅会产生财务影响,还会扼杀未来的前景;事实上,69% 的受访者表示技术债务限制了他们的创新能力。在今天的加速经济中,如果不为数字创新留出资源,可能会破坏业务。
“旧代码与新一代移动应用程序、堆栈应用程序和 SaaS 蔓延的结合正在剥夺组织的资源、时间和创新能力,”OutSystems 首席执行官兼创始人 Paulo Rosado 说。
技术债务也可能阻碍性能。根据调查,61% 的受访者表示这对其公司的业绩造成了重大拖累。陈旧的项目可能会干扰简化客户体验和数字化转型目标。
最后,技术债务也可能对士气产生负面影响。很少有工程师以重复低效流程或使用过时的技术而自豪。
 
减轻技术债务:有意为之
与金融债务类似,技术债务伴随着复利。如果任其发展,这种兴趣可能会呈指数级增长。那么,组织可以采取哪些措施来减少他们的技术债务?
为了帮助缓解这个问题,该报告建议通过阻止开发团队更替和限制采用的新编程语言和框架的数量来扭转导致技术债务的前两个原因。
其他方法包括盘点您的资产以了解遗留技术的存在和影响。接下来,重新思考和重定向您的策略,从简单地维护遗留依赖项到解决它们并用现代风格替换它们。
很多坏的技术债务来自于建设太多,并且在维护和错误修复上花费了比预期更多的时间,关键是要有意识地投入时间并意识到你正在承担的成本。
当然,企业 IT 必须承担某种形式的技术债务才能发挥作用——完全摆脱它是徒劳的。因此,要对此有意识并时刻注意您所承担的成本。在采用新技术时,最好考虑维护影响并考虑到使用寿命。