多年来,CIO们一直在应对技术债务问题,然而很多人依然未能有效地控制住这一问题,导致付出了巨大的代价。
在管理咨询公司Protiviti的《2023年全球技术高管调查报告》中,通过对超过1000名技术高管的调查,发现在约70%的受访者看来,技术债务是企业创新的主要阻碍。这些高管还表示,技术债务耗费了IT预算的31%,并占用了IT资源的21%。
LeanIX在其《2023年IT成本优化调查报告》中也得出了相似的结论,有56%的受访者认为,过时的技术和技术债务是导致IT预算浪费的主要因素。
与此同时,那些成功控制技术债务的IT领导者能够推动企业更好地发展。研究和咨询公司Gartner指出,积极管理和降低技术债务的基础设施和运营领导者可以将业务服务的交付时间缩短至少50%。
考虑到这些发现,许多CIO已经开始关注寻找减少技术债务的途径。经验丰富的技术领导者还分享了他们用于控制技术债务的五种策略。
01、评估管理技术债务的方法
信息技术研究集团(Info-Tech Research Group)基础设施和运营实践研究主管Andrew Sharp坚定地支持技术债务编录。他建议IT领导者制定关键技术债务清单,了解债务对业务的影响,并制定相应的处理策略。
Sharp指出,许多CIO在解决三个基本问题上表现欠佳,其中最大的难题就是理解和组织技术债务的广泛性。由于技术债务可能影响不同系统并产生连锁效应,因此对IT团队来说,弄清技术债务的数量和影响是一项艰巨的任务。
他认为,与当今商业中的大部分其他事物一样,债务在没有衡量的情况下是无法成功管理的。IT部门需要更有效地识别、追踪和衡量技术债务。
Sharp表示:“IT部门通常能感知到问题所在,但往往缺乏正式的分析。运用结构化方法审视这个问题,可能带来以前从未考虑过的新思路。因此,我们不仅要知道存在问题,还要了解问题的本质和影响。在这个过程中,可视性至关重要。”
然而,Sharp也提醒大家不要追踪每一笔技术债务,而是要关注计划解决的债务。
Progrexion的高级副总裁兼CIO Ken Knapton谈到了了解IT部门积累债务细节的重要性。
为了解决这个问题,他和IT团队制定了一种衡量债务的方法。他们根据四个关键技术属性(可支持性、预期剩余寿命、稳定性和跨度)及另外两个属性(业务关键性和战略一致性)对债务进行评估。他们将前四个关键属性的总和乘以后两个关键属性的总和,然后将结果标准化为0到1之间的比例。
Knapton表示,0到0.4之间的技术债务评级是可以接受的,0.5到0.7之间的评级令人担忧,高于0.7的评级则是严重的。
他补充说:“现在我们有了一个衡量技术债务的框架,可以追踪它。这样一来,我们就能够关注解决技术债务的重点部分以及我们现在应该采取的行动。
02、在路线图中优先偿还技术债务
Knapton强调了及时偿还技术债务的重要性。他详细描述了一个开发团队在过去的事件中因为没有及时更新Java库而导致的技术债务累积。这个决定虽然在初始阶段是合理的,但随着时间的推移,却阻碍了团队后续进行更新和改动的能力。
Knapton意识到,如果不对早期的临时决策进行重新评估,技术债务会变得越来越严重,从而降低企业的灵活性。为了应对这个问题,他们现在进行技术债务的衡量和管理,并在进入市场之后及时偿还技术债务。
为了确保技术债务能够得到及时偿还,Knapton和他的团队在时间表中加入了管理和解决问题的能力。他们将“减轻技术债务”纳入项目“完成”的标准,并将其列入路线图。这意味着,在技术债务得到妥善解决之前,项目并不算真正完成。
同样,其他人也主张为处理技术债务分配资源(包括时间和资金),并建立问责制。例如,Sharp提到了改进项目价值验证、关注漏洞以及为维护和新设备制定预算的重要性。然而,遗憾的是,许多企业并未采取这些措施。
总之,在路线图中优先解决技术债务,可以帮助企业确保技术健康和灵活性。通过在项目时间表中加入处理技术债务的步骤,团队可以确保在项目完成前解决潜在问题。同时,分配足够的资源和建立问责制能够确保技术债务得到有效的解决。
03、视技术债务为商业风险
微软数字应用创新专家Enoche Andrade曾针对技术债务问题向高层管理人员提供建议。他指出,技术债务不仅仅关乎IT领域,还涉及到业务、财务和安全方面的影响,因此它也构成了一种商业风险。
因此,Andrade认为,技术债务不应仅被视为IT部门的问题,而应成为所有高管和业务职能负责人需要关注的事项。关于何时以及如何偿还技术债务的决策应与业务战略和需求相一致。
他表示:“CIO承担着提高董事会和领导团队对技术债务认识的重要责任。为了培育一种关于技术债务的意识和问责文化,公司应鼓励跨职能团队合作,并设定共同的目标和指标,激励各个团队共同努力解决技术债务并推动创新。这包括为开发人员创造一个安全的环境,使他们能够尝试新的方法和技术,从而实现创新和持续改进。”
Knapton同意在决定何时承担技术债务、评估其影响以及确定优先偿还哪些债务时,需要业务部门的参与。
04、在承担新技术债务时需谨慎
哈特曼行政顾问公司(Hartman Executive Advisors)的CIO Mike Huthwaite将技术债务与金融债务相提并论。他指出,“债务的产生是由你决定的,解决它也是你的责任。”
Huthwaite解释说,正如有时候承担金融债务是合理的,同样地,选择技术债务往往比避免技术债务更有道理。他认为,团队可能会为了追求速度和灵活性而选择承担技术债务,因为市场竞争优势超过了技术债务的成本。这是一种权衡,如果将其与个人债务相类比,在某些场景或决策中,负债是有价值的。然而,它本质上依然是债务,因此你需要谨慎处理。
Huthwaite建议IT团队在承担技术债务时要慎重思考,平衡使用不佳代码所带来的好处以及这一决策可能产生的负面影响。他将其称为“有意的”技术债务,而那些未经仔细考虑而产生的则被称为“无意的”技术债务。
Andrade也提出了相似的观点,他表示,虽然企业无法完全消除所有技术债务,但他们可以采取措施来减少技术债务的产生(尤其是无意债务的产生)。
他建议团队采用敏捷开发方法、代码重构、自动化测试和简化流程。同时,团队还应使用代码分析工具来识别技术债务,并进行定期的同行评审和利益相关者检查,以确保代码质量并发现潜在问题。此外,他们还应致力于简化架构、组件化和标准化。
05、意识到债务管理是一个持续进行的过程
美国乡村电力合作协会CIO及IT高级副总裁Wayne F. McGurk认为技术债务没有好坏之分,而是“开发过程中自然产生的现象,因为在创造新事物时会出现。”他表示,“人们总是倾向于尽快获取最具价值的产品,而不需要一开始就构建过于复杂的应用程序。”团队在做出权衡时,会选择适合最小可行产品(MVP)的技术,但他们了解到,随着解决方案的扩展,这些技术可能会不够用。
因此,McGurk不仅在开发周期中考虑这个因素,还将其纳入IT运营,并采用各种策略来构建一个持续管理技术债务的整体方法。作为这一方法的一部分,McGurk的团队记录并详细说明了新技术债务的引入,并通过组织的票据系统跟踪这些债务,以便IT团队能够提取、报告和审查它们。
McGurk还关注了技术债务如何在五个核心领域影响运营:简洁性、灵活性、持续性、安全性和透明度。他解释说,“当技术债务开始妨碍这些运营原则中的任何一个时,它就达到了需要解决的程度。”
McGurk和他的IT团队会根据影响程度、对企业的风险和企业整体战略来确定优先处理的问题。然后,他们会公开这些决策,从而在整个企业中提高主题的可见性。
McGurk表示,所有这些都纳入了IT部门的工作流程,确保技术债务管理不被视为一次性项目,而是以持续的方式进行。例如,他的Scrum团队需要识别新的技术债务,并确定何时以及如何解决它。
他解释说:“你必须建立一种负责任的文化,让你的团队明白,仅仅因为一个项目交付了,并不意味着它已经完成。这是一个没有终点的旅程,因此,它需要成为你需求管理策略的一部分——既要处理新工作需求,也要处理遗留工作和技术债务。”
文章信息参考来源:企业网D1net
作者:Mary Pratt
– END –
开发者大赛
报告下载
大佬观点