应对 DevOps 中的技术债务:创新与稳定性的微妙平衡

陈哥聊测试
• 阅读 266

技术性债务在DevOps到底意味着什么?从本质上讲,这是小的开发缺陷的积累,需要不断地返工。它可能由多种原因引起,例如快速交付新功能的压力,这可能会导致团队不得不牺牲代码的整洁和完善。但这些不完整的小代码,如经济上的债务一样,随着时间的推移会产生“利息”,在软件工程里就表现为修改的挑战或添加新功能的困难。

一、技术债务的原因

技术债务的主要原因之一是组织的开发方和业务方之间的脱节。开发团队经常会感到保持高特性速度的压力,有时会以适当的服务规划为代价。例如,不计划服务生命周期的结束可能会导致所谓的“老年服务”。这些服务可能做得不多,但对业务运营至关重要,并且可能在以后产生更多的技术债务。它们可能很难迁移,也可能是未知影子或僵尸API的产物。结果是,开发过程可能会被更高效的工作方式所阻碍,从而招致更多的技术债务。

二、技术债务的症状

没有严格的监控,技术债务可能会减缓整个开发和部署过程,降低产品质量,并限制组织在不断变化的市场中进行创新的能力。技术债务过多的一些迹象可能包括修复技术债务的成本和时间增加,每次发布和部署所需的时间持续增加,以及由于在遗留系统上工作和处理频繁故障带来的挫折,让员工的流动率更高。

三、什么情况下可以忽视技术债务?

虽然技术债务的负面影响是真实存在的,但并不总是需要立即解决,而且这也并不现实。在一些情况下,让债务累积是有意义的。例如,如果解决技术债务的成本在当下大大高于将来,如果债务没有影响短期业务需求,或者有紧急版本发布(如重大安全漏洞修复程序)。在做出正确的权衡时,牢记全局至关重要,管理良好的技术债务是缩短交付周期的有效工具,可以优先考虑重要部署。

这里存在一个关键点:区分“好的”技术债务和“坏的”技术债的上下文。这种分离归结为理解对客户和团队的实际影响。忽略一些技术债务毕竟并没有那么糟糕,只要有有共同的上下文来指导自己的决策就好。

应对 DevOps 中的技术债务:创新与稳定性的微妙平衡

四、忽视技术债务成为挑战

当技术债务开始阻碍组织有效运作的能力时,忽视技术债务就成了问题。当这种情况发生时,就是需要解决技术债务的明显信号了。如果不加以解决,累积的技术债务可能导致经营业绩不佳和收入损失,从这个本质上来说,技术债务也成为了经济债务。产品和品牌的形象可能会受损,导致失去机会。

五、管理技术债务

管理技术债务需要采取积极主动的协作方法。以下是一些可能有所帮助的策略:

  • 确定债务类型: 所有的技术债务不能等量齐观。区分目前尚可接受的债务和不适合积压的技术债务。
  • 分析和自动化: 分析债务的来源,并寻找方法来收紧工作流或自动化某些测试和流程。这有助于减少常见错误和隐藏的错误,防止它们滚雪球般地变成技术债务。
  • 制定新的规则和标准: 需要明确技术债务在什么情况是可以被接受的,什么情况会造成不可逆转的损失。例如,发布即时安全修补程序可能被认为是可以接受的,而允许最终导致相当长的停机时间的错误则不会被接受。
  • 沟通成本: 决策者和DevOps团队必须了解技术债务对产品质量和开发人员保留的影响。当另一个截止日期到来时,确保这些关键利益相关者意识到风险。如完全了解潜在成本,他们可能更可能调整交付日期或为其他开发商提供资金。

总之,技术债务如果得到有效管理,可以成为短期内优化交付速度和创新的工具。然而,重要的是要保持平衡,不要让它累积到开始降低产品质量、减缓开发速度或损害团队士气的程度。通过主动识别、分析、管理和沟通技术债务,开发运营团队可以在软件开发的这个具有挑战性的方面进行导航,并维护其基础设施的健康。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
QCon技术干货:个推基于Docker和Kubernetes的微服务实践
2016年伊始,Docker无比兴盛,如今Kubernetes万人瞩目。在这个无比需要创新与速度的时代,由容器、微服务、DevOps构成的云原生席卷整个IT界。在近期举办的QCon全球软件开发大会上,个推应用平台基础架构高级研发工程师王志豪,基于他在基础架构方面多年的经验,分享了《个推基于Docker和Kubernetes的微服务实践》。!QCon技术
Stella981 Stella981
3年前
DOIS 2019 DevOps国际峰会北京站来袭~
DevOps国际峰会是国内唯一的国际性DevOps技术峰会,由OSCAR 联盟指导、DevOps时代社区与高效运维社区联合主办,共邀全球80余名顶级专家畅谈DevOps体系与方法、过程与实践、工具与技术。会议召开时间:2019070508:00至2019070618:00结束会议召开地点:北京主办单位:DevOps
Stella981 Stella981
3年前
DevOps如何解决技术债务挑战?
!(https://oscimg.oschina.net/oscnet/32c0085858b04e6e80a771633912ce14.jpg)许多组织在迁移到云期间发现了大量的技术债务。但是什么是技术债务呢?DevOps如何帮助我们去解决技术债务呢?在这篇文章中,我们将讨论使用DevOps将您的技术债务负担减少的方式!什么是技
Stella981 Stella981
3年前
DevOps世界中的软件开发
!(https://oscimg.oschina.net/oscnet/f40e68cbfe8148deb00f040b4e917a0a.jpg)在整个软件开发过程中,开发人员通常需要花费大量时间来修复错误和漏洞,以便一切按计划进行交付。但是,通过DevOps实践,可以更轻松地管理和保护这些问题。这是由于以下事实:使用DevOps实践的软
Wesley13 Wesley13
3年前
2021年,是时候把技术债务管理提上日程了
开发人员面临着前所未有的压力:从传统的基础设施转移到现代的基础设施,减少效率低下的情况,并创建构建客户满意度和增加收入的产品。许多企业都在以DevOps的思维方式前进,但在他们前进的过程中,他们可能会忘记一件事,技术债务。的确,开发者可能会快速移动并破坏某些内容,但却从未真正去修复它们。因此,技术债务的积累,导致工程生产力的下降和生产成本的上升。
解锁数据潜力,天翼云TeleDB为企业数智蝶变添力赋能!
近日,第15届中国数据库技术大会(DTCC2024)在北京召开。大会以“自研创新数智未来”为主题,重点围绕向量数据库与向量检索技术实践、数据治理与数据资产管理、云原生数据库开发与实践、特定场景下的数据库管理与优化、大数据平台建设等内容展开分享和探讨。天翼云数据库产品线首席技术官李跃森、天翼云资深研发专家胡彬参会,分享了天翼云在数据库领域的产品布局、技术创新与实践应用。
京东云开发者 京东云开发者
9个月前
复杂SQL治理实践 | 京东物流技术团队
一、前言软件在持续的开发和维护过程中,会不断添加新功能和修复旧的缺陷,这往往伴随着代码的快速增长和复杂性的提升。若代码库没有得到良好的管理和重构,就可能积累大量的技术债务,包括不一致的设计、冗余代码、过时的库和框架以及不再使用的功能。这些因素都会导致软件结
敏捷开发 敏捷开发
7个月前
我们不可能永远都在救火 ——Scrum中技术债务“偿还”指南
这些技术债务到底是从何而来?为什么某些团队在Scrum开发过程中会导致技术债务的积累呢?我们该如何解决技术债务呢?
codigger codigger
3个月前
与Bug较量:Codigger之软件项目体检Software Project HealthCheck来帮忙
Codigger之软件项目体检SoftwareProjectHealthCheck工具旨在帮助团队在整个软件开发生命周期中维护高标准的代码质量,减少技术债务,提高开发效率,并确保软件产品的稳定性和安全性。
codigger codigger
3个月前
从混乱到有序:Codigger 软件项目体检助力软件项目管理
Codigger的软件项目体检(SoftwareProjectHealthCheck)工具,致力于协助团队在整个软件开发生命周期内保持高标准的代码质量,降低技术债务,提升开发效率,保障软件产品的稳定性与安全性。
陈哥聊测试
陈哥聊测试
Lv1
资深敏捷测试顾问,致力于测试自动化和DevOps等的实践和研究。
文章
45
粉丝
0
获赞
2