Enable javascript in your browser for better experience. Need to know to enable it? Go here.

直面技术债

从修补错误转向价值交付

在企业发展过程中,许多管理者都正在经历类似的疑惑:为什么给核心业务系统添加新功能所耗费的时间越来越长?为什么软件维护预算正在以惊人的速度增长?如果你也有这类困惑,那很有可能是遭遇了技术债问题。相信我,现在就要采取行动了——否则事情只会变得更糟糕。

 

理解技术债

 

大约30年前,开发者沃德·坎宁安首次提出了“技术债”这一术语——可以看出这并不是一个新词。这个术语描述了组织在维护他们依赖的软件时投资不足的情况,就像金融债务一样,置之不理可能会带来短期利益,但从长远来看,还是需要谨慎并确保其得到妥善管理,而且越早越好。

 

并不是所有的技术债都是在无意为之。在某些情况下,为了帮助新产品及时上市,抓住增长机会,团队会暂时把已经发现的技术债束之高阁,计划在日后找时间来修复,用速度换取详细的检查、弹性系统、风险管理等。然而,正如所有商业领袖所知,优先事项会发生变化;只要没有发生重大事件,处理技术债的动力就会消失。

 

在其他组织中,技术债更具系统性。小问题可能成倍增加,问题在不知不觉中积累起来。高级领导人可能要到重大技术故障致使一切戛然而止时才会意识到问题有多严重。这时情况可能会变得非常糟糕。如果让问题继续螺旋上升,一个小麻烦就会迅速演变成一场灾难。一个例子是导致美国和加拿大数千次航班停飞的FAA系统故障。虽然最初被报道为“技术故障”,但这其实是技术债造成的,这种情况导致了严重的财务和声誉危机。

 

最后一类是那些已经按照计划创建了软件的组织,包括“全知情”的技术债务,没有出现任何问题。然而,他们现在发现自己无法像预期的那样“偿还”技术债。或许是受到了经济环境的影响,或许是遭遇了人工智能对业务的冲击,无论原因是什么,最终结果是他们看到技术债积重难返,却拿不出解决方案。

发现技术债

 

那么,如何在早期察觉到技术债呢?预警信号可能包括:

 

  • 客户报告故障。如果你注意到客户投诉在增加,即使是非常小的问题,这也可能预示着有更深层的矛盾。 

  • 成本上升。技术债可能会使你的预算陷入混乱,运营成本随之上升,与此同时停机响应和补救措施也会产生成本。

  • 延迟和错过最后期限。当你的技术债务水平很高时,对产品的更改可能需要更长的时间,因为时间成本会从新功能的发布和功能升级转移到维护问题上。 

  • 开发团队不满。如果你在人才保留方面遇到困难,可能是因为你的团队承受着技术债带来的疲劳,毕竟维护破碎的系统不如从事推动价值的创新工作那么有成就感。 

  • 修补错误会产生新问题。你可能会注意到“多米诺效应”,一个问题导致另一个问题,然后是另一个问题...当底层代码充满漏洞时,补丁和修复可能变得无效。

     

解决技术债

 

一旦你确定了自己的系统有技术债问题,下一步就是管理它。说起来容易做起来难。技术债之所以会如此普遍的存在,正是因为没有简单的解决方案。为什么?因为软件开发是一个复杂的任务。一个项目通常会持续数年时间,在这个过程中技术会变化,业务需求也会变化。这意味着即使项目计划得很好、管理得当、资金充足,也难免会积累一些技术债。处理技术债的一种常见方法是“贴膏药”——应用于短期修复,却无法解决根本问题。但问题是什么?

 

从根本上说,这是企业在思考软件时存在的一个基本缺陷。普遍的认知是软件是一次性购买(或一次性开发)、然后付费维护的。维护通过补丁和错误修复让系统保持运转,直到下一个大版本问世。这突显了技术团队长期面临的一个问题,那就是他们花了太多时间保持系统运行,而不是足够的时间交付业务价值。远离这种模式的大变革早就应该到来。

 

从维护到演进

 

组织对软件开发和维护的态度正在改变。随着越来越多的公司积极开展数字化转型,他们开始看到当前被动维护的模式与他们的业务发展需求是多么的不匹配,企业正在寻找方法来弥补这之间的差距。

 

考虑到这一点,与其问“怎样才能摆脱我的技术债务?”,不如问“如果你的系统在设计时就考虑到变化会怎样?”在开发应用程序时,以变化为出发点,不仅仅专注于构建阶段,而是以最小化维护的心态来处理事情。

 

这样,你就不必担心上线后的下一次大变化——无论是迁移到云端、将AI集成到核心系统,还是添加新功能——你可以创建可以运转多年的软件。这是一个以持续进化为设计理念的系统。

 

而且,维护不再是被动的过程——出现问题、提交工单、获得修复——事情可以更加主动。应用程序的运行阶段应该是其开发阶段的延续,你的支持团队可以提供持续改进,解决潜在问题,而不是灭火。

 

幸运的是,这并不是空想理论的场景,而是一个可行的选择,越来越多企业正在寻求这种选择。

 

从容拥抱未来

 

在Thoughtworks,越来越多的合作伙伴希望我们提供端到端的服务,该服务将定制的软件开发与交付后的高级支持相结合。这就是我们推出具有进化思维的DAMO™ 管理服务的原因。这种方法帮助企业从数字资产中获得更好的投资回报,并提供在整个生命周期中更具弹性的软件。最终,这使得技术债更可见,也更容易管理。

 

拥抱变革在技术领域并非总是那么容易。但我们倡导的变革能够帮助企业在快速发展的数字环境中蓬勃发展。现如今,设计软件的方式已经改变,对待维护的方式也必须跟上。

了解有关DAMO托管服务的更多信息