技术债务的财务影响

已发表: 2022-03-11

执行摘要

什么是技术债?
  • 技术债务被定义为:在实施新系统或维护现有系统时,为节省时间或金钱而做出的先前决策导致公司的增量成本和敏捷性损失
  • 一个例子是 ERP 系统处于一个太旧和定制化以至于无法升级的恶性循环中,因为这将是一个混乱的“淘汰和替换”工作。
  • 与“错误”不同,技术债务不是可见的缺陷,因此可能不会那么容易被发现。
  • 财务债务是 CFO 精通的一个术语,但技术债务可能会产生类似的严重后果,因为它可能会产生隐藏的销售损失和成本。
为什么会出现技术债?
  • 通常,技术债务的第一步是时间限制,导致采取妥协。 这往往会被遗忘。
  • 节省成本的诱惑也可能导致技术债务状况。 这通常与放弃软件更新或过度延长硬件更换周期有关。
您如何解决当前的技术债务问题?
  • 与金融债务一样,为了管理您的技术债务负债,您首先需要知道它们是什么、它们是多少以及它们的付款条件。
  • 为了初步弄清楚您有哪些债务,请与您的利益相关者进行头脑风暴,当前存在哪些问题,以及如果这些问题都得到解决,这一年会如何表现得更好。
  • 使用 2x2 矩阵来评估解决问题的难易程度与可能产生的影响。 这使您可以首先专注于高影响力的项目。
  • 决定然后做什么可以采取多种形式。 债务可以被忽略或偿还,但中间立场是将解决方案外包给专业组织或使用云服务。
  • 创建付款计划可以让您查看您所面临的各种情况的现金流影响。 这将有助于预算和可视化存在的权衡。
您可以采取哪些步骤来减轻未来的技术债务?
  • 贷款披露声明是一种流行的工具,用于管理和设定金融债务的标准。 为技术项目实施类似的流程可能是提高对技术债务意识的第一步。
  • 与 IT 团队合作设定可接受的债务水平阈值也将为他们提供必要的运营边界。
  • 尽早与变更管理团队进行协调并将其引入新技术项目将确保变更和问题能够更快、更清晰地传达给组织。

如果您不知道自己有多少债务怎么办? 处于一个令人不安的位置,不知道它的成本是多少,或者它在多大程度上阻碍了您的公司进行运营改进、对市场变化做出反应,甚至完全改变业务。

此外,如果您组织中的任何人都可能在未经许可的情况下承担债务怎么办? 例如,您的房地产主管可能会很快签订一份多年租约,第一年的租金很低,但在接下来的几年里租金会大幅上涨——除了谈话之外,没有人透露。

这听起来像是轻率的治理,但实际上在企业中很常见。 问题在于,这种“债务”并非以我们熟知的传统金融工具的形式出现。

技术债务具有所有这些特征。

最简单形式的债务是今天借款,意图并承诺在未来偿还。 当今天的借款会带来更美好的明天时,债务才有意义,例如,为大学借款或买房。 当今天借款会导致明天更糟糕时,债务通常很糟糕,例如,出去吃一顿昂贵的晚餐并将其存入您不会立即还清的信用卡上。

就公司而言,当为投资提供比债务成本更高的回报时,债务可能是好的。 如果您计划在债务到期之前很久就出售业务,这也可能是有意义的。 债务的不利之处在于它的支出非常实际,会拖累现金和利润,限制灵活性,并且可能变得如此繁重,最终可能导致破产。

到目前为止,我们所提到的隐喻是关于金融债务,但另一种形式的债务——技术债务(或“技术债务”)——具有许多相似的特征,必须以一种深思熟虑的方式进行衡量、管理和参与. 如果它允许您的公司在竞争中领先于市场,那么它很可能是值得的。 同样,承担技术债务以减轻潜在的严重安全漏洞可能也是值得的。

然而,技术债务也有其不利之处,会导致效率低下和惰性——例如当一个部门不想使用另一个部门的软件时,或者如果您多次延迟升级以达到短期财务目标。

那么,什么是技术债务?

自从计算机程序员 Ward Cunningham 于 1992 年创造了这个词以来,技术债务是一个主要在技术社区中使用的术语。它的使用最近开始流行,并随着敏捷编程的普及而成为焦点。 本文讨论的技术债务不是关于编程方法,而是它存在的战略意义。

简单来说,技术债务是公司在实施新系统或维护现有系统时为节省时间或金钱而做出的先前决策所导致的增量成本和敏捷性损失。 当系统没有正确集成或代码过于复杂时,就会发生这种情况。 这是由于多种原因造成的,例如效率低下、上市时间考虑或运行过时的软件版本等等。

一些明显的例子是:

  1. 使用旧版本的 Windows 会阻止您使用新软件或应用安全升级
  2. ERP 系统处于如此陈旧和定制化的恶性循环中,无法升级,因为这将是一种“淘汰和更换”的工作
  3. 在组织的不同部分具有重叠功能的类似系统

下图是一个有用的图表,用于描述技术债务与可以在公司技术堆栈中实现的其他技术实施有何不同。 经常被误认为是一个错误,技术债务有很大的不同,因为它的存在可能并不明显。 危险就在于此,因为它不被触及的时间越长,未来影响的幅度就越大。

矩阵图的可视化描述,组织了可以进行的四种技术改进

作为一名在 IT 部门工作并在高杠杆企业公司向我报告 IT 的首席财务官,让我震惊的是,技术债务与传统债务有多么相似。 它的不透明性和风险性也让我感到震惊。 金融背景的人精通金融债务的机制——它是有形且易于计算的。 然而,技术债务却不是这样,它经常被误解或错误地认为是别人的问题。

技术债务的成本究竟是多少?它们是真实的吗?

简短的回答是现金成本非常真实。 还有一些重要的软成本应该被识别并单独衡量和管理。 我将在下面详细说明这些费用的一些示例:

现金成本

技术债务与利息支付一样真实。 但是,它通常以比简单的“利息”行费用更间接的方式在损益表中体现出来,例如以下方式:

人数

  • 仅需要更多人员来维护现有系统
  • 额外的开发时间来带来新的功能

高架

  • 延迟实现收购整合协同效应
  • 因安全漏洞而产生的补救措施和罚款

销售量

  • 由于系统中断导致的销售损失
  • 营销支出效率较低

营运资金

  • 需求增加,特别是对于库存余额高的企业

软成本

虽然硬成本有与其相关的实际金额,但也有软成本,尽管难以量化和实现节省,但绝对拖累您的业务成果。 这些包括:

市场情报

  • 无法快速适应市场机会或变化
  • 将数据转换为信息以做出更好决策的能力降低
  • 多个版本的真相

生产率

  • 系统中断导致员工生产力下降
  • 效率较低的员工,他们花费更多时间提取和处理数据而不是分析数据
  • 如果发生重大安全漏洞,会影响高级管理层的时间和注意力

比较技术债务和金融债务,主要区别之一是前者没有正式控制权。 对于金融债务,通常有信用委员会、资产和负债管理团队以及像鹰派一样监控水平的财务人员。 然而,由于技术债务,传统企业中很少有这些控制。

显示技术和金融债务清单比较的表格

产生技术债务的方式和原因

对于传统债务,董事会以及首席执行官和首席财务官通常设定资本结构,即多少股权、多少债务以及什么类型的债务(循环式、基于资产的或普通无担保的)。 上限表甚至清楚地说明了将偿还哪些债务以及何时偿还。 一旦这一切正式决定,就会启动一个结构化的流程来筹集债务。

贷方通过评估偿还债务的历史、信用评级和支持它的抵押品的质量来查看实体偿还债务的能力。 然而,当发生技术债务时,这些正式的流程、量化和签署都不会发生。 让我们通过产生技术债务的过程来看看这是如何以及为什么会发生这种情况的:

时间限制导致妥协

上市时间就是企业的一切。 当可以独立完成时,实施新技术的速度要快得多。 不幸的是,这意味着其他系统与实施不同步。 对于拥有简单技术堆栈的精益组织来说,这似乎并没有那么糟糕。

但是,随着系统配置的复杂性成倍增加,这会成为问题。 最后,技术使流程自动化并捕获转化为信息的数据。 未集成的技术会导致无法协同工作的业务流程和多个版本的事实。

当为了速度而牺牲时间时,可以忽略或放弃已建立的测试协议。 这通常会导致出现“错误”,表现为某种形式的系统退化和分散开发人员修复它们的时间。

如果我们看一下技术债务随着时间的推移所产生的影响,一个问题被搁置的时间越长,影响的幅度就越大。 从一个小的代码重构练习开始可以滚雪球到整个现代化和替换工作。

随时间推移管理技术债务的步骤的图示

短期成本节约的诱惑

让我们面对现实吧——执行团队一直承受着达到数字的压力。 今天推迟支出可以帮助您完成季度,但就像借款一样,您必须在某个时候偿还。 以下是公司在短期内节省资金但最终导致技术债务的一些方法:

软件更新

有时,实施定期软件更新的成本和麻烦可能会导致它被延迟。 有时,这种情况会持续多年。 当 Microsoft AutoUpdate 在不方便的时候出现时,我们都对强制退出 Microsoft AutoUpdate 感到内疚。

当系统最终远远落后于其当前版本时,必须与之集成的较新软件根本无法做到。 更重要的是,一次升级多个版本通常比跟上更新更昂贵,而且几乎总是更耗时。

硬件更换

随着组织复杂性的增加,同步硬件更新周期的巨大努力可能变得不堪重负且成本高昂。 这可能导致当前的硬件被拉伸到极端,并且团队之间的硬件质量存在巨大差异。 一些团队感到沮丧,购买了新硬件,然后将其花费在桌面预算中,而不是等待 IT 发起升级。

这种差异对协作练习的生产力和硬件/文件兼容性有影响。

解决技术债务情况的策略

现在,让我们不再只是谈论问题,而是采取一些积极主动的态度,并制定一些解决技术债务的解决方案。

为此,我们可以调用用于管理金融债务的技术。 为了管理您的负债,您首先需要知道它们是什么、它们是多少以及它们的付款条件。 现在让我们解决技术债务问题。

1. 弄清楚你有什么技术债务和多少技术债务

金融债务分为几部分,由每部分的资历(例如,高级、夹层或左轮手枪)定义,这反过来表明哪个先得到偿还。 技术债务具有类似的资历模式; 首先,您必须从关键任务系统开始。 他们有什么技术债务? 然后看看更广泛的生态系统——更确切地说,您的系统之间的哪些技术债务导致了费用?

不要过度复杂化这个过程。 在某些时候,您会想要进行自上而下的评估,但您不必从那里开始。 让您的 IT 主管将您的管理团队与此作业一起完成:

如果我们在一年前完全清偿了所有的技术债务,那么今年(或来年)的表现会如何更好?

获取您的前十个想法并将它们放入一个 2x2 矩阵:一个轴上容易/难付清,另一个轴上的收益程度。 希望视觉效果可以帮助您弄清楚从哪里开始。

技术债务解决头脑风暴矩阵
解决的好处 ► 强的
虚弱的
难的简单
▲ 努力付出

从那里开始,深入验证您对奖品和努力规模的假设。 中立是这里的关键,所以要警惕那些提供“免费评估”的软件供应商。

2.决定做什么

一旦你知道你有什么技术债务,你现在需要决定如何处理它。 有很多选择。

最终最好什么都不做。 对于被评估为“小”或“低利率”的债务,最好的办法是留下它——同样,如果提前还清存在重大的“提前还款罚金”。 也可能有战略优势。 落后一个版本并留在那里通常很好,有时还有让扭结在别人的一角钱上得到解决的优势。

偿还或减少技术债务将涉及更换系统并承担成本损失。 这可以立即完成,也可以通过逐步改进的过程随着时间的推移而完成。 与金融债务一样,您可以通过一些创造性的方式“再融资”技术债务,外包维护就是其中一种方式。 这最终可能会花费更多来解决,但可以分散以降低直接成本损失,并通过分工原则将任务委托给更专业的实体。

基于云的软件和硬件服务的出现也带来了与基于租赁的金融的流行相比。 使用云服务也是减少技术债务的有效工具,既可以消除资本支出要求,也可以将开发重点转移到云提供商身上。

3. 创建付款计划

不要因为减少技术债务的成本而不知所措,也不要试图一次全部还清。 这将是一项雄心勃勃的工作,可能会使任何规模或资产负债表的组织不堪重负。

再次,回到财务比较上,有一种首先还清利率最高的信用卡的心态。 这仅仅意味着首先攻击高价值/低努力的活动。

在上一节中,我讨论了解决技术债务的各种方法。 在评估每个成本时,最好进行比较。 对每个潜在结果的现金流成本进行排名可以使利益相关者清楚地了解每条路径的权衡和收益。 下面包括这种视觉效果的示例。

条形图显示各种技术债务减免项目之间的现金流比较示例

这种比较显示了理论解决方案与解决问题与无所作为(“现有基线”)之间的鲜明对比之间存在的权衡。 在此示例中,迁移到基于 SaaS 的云解决方案将是企业采用的最经济的选择。

管理未来的技术债务

一旦你建立了你的基线和攻击计划,你将既要保持这种可见性,又要防止新的债务蔓延。把这个练习看作是一个新的开始,也是一个实施最佳实践以防止问题发生的机会未来再次升级。

实施贷款披露声明

大多数技术项目都有一个正式的批准流程,其中包括执行发起人、高级目标、预期收益、时间表,当然还有成本。 这是清除将要产生的新技术债务及其合理性的好地方。

设置借款门槛

不要过分热衷于制定新标准。 正如您发行具有预设限额的公司信用卡一样,您不希望过度管理技术债务。 很多技术债务都很小,而且与代码编写有关,很快就会得到回报。 敏捷开发尤其如此。 相信您的 IT 主管会设置和监控此阈值。

重新培训您的承销商

在大公司中,IT 有一个称为“变更管理”的流程。 在新软件上线之前,它通常会经过变更管理。 简单来说,变更管理的工作是确保公司技术系统的新变更不会影响其他系统。 他们通过确保新系统符合标准化方法和程序来做到这一点。 考虑使用此过程来防止或至少识别引入新债务。

技术债务是开展业务的实际成本,也是系统中断和拖累公司整体敏捷性的真正原因。 不过,这不一定是一个持续的负担,聪明的 CFO 会知道他们的组织有多少技术债务,以及如何优化它。