跳至正文
首页 » 博客 » The Human Cost of Tech Debt

The Human Cost of Tech Debt

如果你还不熟悉技术债务的概念,那么熟悉它是值得的。我之所以这样说,不仅是因为它是一个通用的行业术语,而且因为它是一个重要的概念。

这个术语是Ward Cunningham创造的,它引入了这样一种观点,即今天在你的软件中走捷径不仅意味着最终要付出代价 — 这意味着要带着利息付出代价。换句话说,今天引入这个全局变量,并在发货前节省半天的工作,这意味着你将用超过半天的劳动力来支付它。

力量的隐喻

在花了很多年的时间编写代码之后,近年来我花了很多时间进行IT管理咨询。我可以告诉你,当涉及到业务和软件开发团队之间的沟通时,代码库中快捷方式的隐喻是一个强大的隐喻。当你用经济学的语言向经理和mba解释软件决策时,他们就明白了。

由于比喻的力量和随后的业务关注的有效性,它经常被用来描述项目的健康,特别是相对于截止日期和里程碑。开发人员可能会说,激进的截止日期将导致技术债务,从而使将来的功能需要更长的时间才能发货。分析师和项目经理在讨论截止日期时可能会考虑技术债务。IT高层管理人员在做出战略,更换/淘汰/重写决策时,可能会要求评估应用程序中的技术数量。

技术债务问题对大多数人来说,本质上是一个上市时间的问题。

但是我今天想谈谈这个问题的人性方面。而且,别搞错了 — 在商业中,所有的人类问题也是商业问题,用足够宽的镜头来看待。不快乐的人是不快乐的工人,不快乐的工人生产力较低。然而,根据我的经验,很少讨论这种技术债务的角度。

不愉快的工作

对于经理来说,技术债务高的代码库意味着功能交付会减慢到爬行的速度,这会在有关业务能力的对话中造成很多挫败感和尴尬的时刻。对于开发人员来说,这种挫败感更加严重。没有人喜欢在一个重大的障碍下工作,日复一日地效率低下,这正是这种代码库对开发人员的意义。

每天他们去办公室的时候,他们都知道要花一天的时间来做一些简单的事情,比如在表单上添加一个复选框。他们知道,他们将不得不无休止地解释为什么看似简单的事情要花很长时间。当新的开发人员被雇佣或顾问被引进时,他们知道他们将不得不面对困惑的表情,其次是那些试图隐藏轻微蔑视的新手。

为了将其与技术债务的比喻联系起来,想想一个负债累累的人试图解释被债权人骚扰的原因。令人尴尬 ,这反过来又令人沮丧。

团队内斗

毫不奇怪,这种情况往往会导致团队之间的争吵。再一次,这个比喻认为,人们会期望一对债务沉重的已婚夫妇会做出这种行为。团队绘制战线。

可能是上述新手反对他们指责问题的终身员工。可能是维护程序员与开发人员或green field项目的人员与负责技术债务所在的遗留野兽的人员。

不管这些线可能是什么,他们成为真实的,他们成为有问题的。他们在问题本身的沮丧和尴尬之上增加了激烈的竞争。

萎缩技能

随着尴尬的加剧和责备游戏的进行更加激烈,团队成员可以感觉到他们的职业相关性在逐渐消失。毕竟,技术债务不仅对功能开发造成了巨大的拖累,而且对代码库的总体演变也造成了巨大的拖累。

在这些代码库中,一切都变得困难。团队推迟升级到最新版本的语言。他们拒绝融入现代建筑和设计实践。他们害怕用现代的插件取代过时的第三方插件。一般来说,他们希望尽可能少地接触事物,因为这样做会进一步损害他们已经昏昏欲睡的过程。太慢了,太冒险了。

但是,即使他们做出了这些决定 (或者至少在其他人做出决定时与他们生活在一起),他们也明白自己的市场价值正在与日俱增。他们并没有忘记,虽然广泛的开发世界拥抱最新的JavaScript框架和领域驱动的设计方法,但他们正在努力为基于CRUD的Winforms应用程序添加功能。

隐性商业成本: 营业额和减员

希望对管理层来说,不满意的开发人员是一个业务问题,而且是一个严重的问题。在当前的IT市场环境下,开发人员可以选择-即使是那些陷入沉重的技术债务的遗留代码库。

每天上班,在一个饱受折磨的代码库中工作,与心怀不满的人一起工作,并且越来越不相关的感觉会创建一个充满人的团队,他们将对其他选择持开放态度。而且,他们迟早会开始离开,而领导指控的人将是组织最不能承受损失的人。招聘到这个团队将变得越来越难,那些进来的人要花更长的时间才能提高生产力。

因此,当你想到科技债务时,不要只考虑功能延迟和缺陷数量上升的业务问题。想想人力成本,以及由此导致的更严重、更长期的商业问题。

有解决办法吗?

现在,有一种更好,更有效的方法来尝试解决所有这些问题-借助低代码的拖放App Builder TM的帮助。您可以通过阅读以下博客文章了解所有相关信息,甚至了解如何在经济衰退期间降低成本:

什么是低代码流程自动化?您的企业如何从中受益?

如何低代码工具降低成本在经济衰退

</p