您当前的位置:首页 > 电脑百科 > 程序开发 > 程序员

摆脱技术债务,就是“成功的标志”

时间:2022-06-14 14:35:33  来源:CSDN  作者:

作者 | Scott Carey 译者 | 弯月

出品 | CSDN(ID:CSDNnews)

“债务就像陷阱,进去容易,想要脱身却很难。”

—— Josh Billings,美国著名的幽默作家

技术债务是科技行业最令人头疼的问题,就像生活中一提到债务就会让人感到压力重重。摆脱债务是一件苦差事。

特别是在软件工程中,技术债务通常指的是颇有年头且会占用大量工程师宝贵时间的系统。技术债务必须得到妥善地管理和维护,且应最小化。技术债务往往坐落在积压事项的最底部,管理不善就会拖垮你。

然而,凡是技术债务就一定是这个样子吗?

工程组织中越来越多的人认为,技术债务应该是所有软件开发人员工作的核心部分,积极管理技术债务不仅可以让团队免于被拖垮,而且还可以超越竞争对手。

摆脱技术债务,就是“成功的标志”摆脱技术债务,就是“成功的标志”

 

什么是技术债务?

这个概念最初由计算机科学家Ward Cunningham于1992年提出,指的是技术系统因构建短期解决方案而引发的一系列权衡,这些欠下的债务将来必须以工程作业的形式偿还。

正如软件开发人员 Martin Fowler 在 2003 年所描述的那样:

这个比喻说明,选择快速的折中方案会导致我们背上技术债务,就好像金融债务一样。技术债务与金融债务一样也会产生利息,我们将不得不在未来的开发中付出额外的努力。

根据 Stripe 2018 年的开发人员指数报告,软件开发人员平均每周需要花费13个小时以上的时间来解决技术债务问题。现如今,随着应用程序变得越来越复杂,管理这些债务的重要性也达到了空前的高度。Stepsize 的首席执行官 Alexandre Omeyer表示:“所有你认为是负债的代码都是技术债务。”

技术债务的形式多种多样。InfoWorld 专栏作家 Isaac Sacolick 去年写道:“就应用程序架构体系的底层来说,技术债务可能是一小部分需要重构的代码、需要升级的库或者修复的单元测试;而从高层来看,技术债务包括重新设计复杂的单体应用程序、移植过时的 Web 服务协议、将多个平台整合成一个标准、清理数据债务问题、现代化基础设施、引入可观察性实践或自动化积压的手动测试用例。最糟糕的技术债务类型是‘着火的平台’,意思是说”平台经常突发影响业务的中断和意外。

虽然相较于与“着火的平台”苦苦纠缠,每个人更加希望发布闪亮的新功能,但只有团队持续付出积极的努力来解决技术债务,开发人员才能避免长时间的痛苦。

Sacolick曾表示:“解决技术债务常常会被忽视,因为这些工作无法解决紧急的业务需求,尤其是在不怎么紧急的情况下,投资回报率不明确,因此被认为是可以推迟的。凡是长期的维护工作都会面临这种遭遇,无论是代码还是房屋。”

摆脱技术债务,就是“成功的标志”

 

窥探技术债务的深渊

Mik Kersten是《Project to Product》一书的作者,也是Tasktop 的创始人,他表示:“我们需要将技术债务视为首要问题,需要主动解决。然而不幸的是,对于很多人来说,这是一个新颖的概念。”

对于许多工程团队,尤其快速发展的组织中的团队来说,技术债务似乎与推出新功能之间似乎势同水火。但在Honeycomb的首席技术官与联合创始人Charity Majors来看,技术债务是“成功的标志,它意味着你还活着。”他表示,“千里之堤毁于蚁穴,我们必须妥善处理小问题。”

虽然说起来容易,但是要想认真地对待技术债务,整个组织都需要进行文化转变。

RedMonk 分析师 Rachel Stephens表示:“对于许多企业来说,能够按照优先级分配待办事项本身就是一个挑战,尤其是很多公司都会奖励推出新产品,但对于管理技术债务却没有任何特定的基于绩效的激励措施。”

Tasktop 的 Kersten也表示:“仅对推出新功能的工作提出奖励,就会将自己置于技术债务死亡的漩涡之中。”

摆脱技术债务,就是“成功的标志”

 

如何承担技术债务

LaunchDarkly的首席技术官兼联合创始人John Kodumal早些时候曾表示,虽然“技术债务在软件开发中是不可避免的”,但主动减少债务总好过被堆积如山的债务压垮并影响到其他工作。

为了能够主动承担技术债务,你必须将技术债务视为正常敏捷流程中的一项工作。

Sacolick 表示:“维护应用程序、避免或延缓系统进入遗留状态的关键就在于,组织和团队如何管理技术债务。”我们必须积极主动,“制定政策、约定和流程,将减少技术债务的工作视为一项长期的成本。”

许多团队都会投入一定的人员和时间来解决技术债务,例如每个冲刺的20%。然而,Tasktop 的 Kersten 建议将项目的截止日期以及团队的能力考虑在内,采取一种更加灵活的方法。他说:“你应该衡量业务成果和技术债务的投资,并确保二者的平衡。将技术债务摆到眼前,这样你随时都能看到还有多少债务需要偿还。然后再设置一个目标交付百分比,当然这个比例必须随时间动态变化。”

对于云存储公司 Box 的首席技术官 Ben Kus 来说,偿还技术债务必须出现在所有工程团队的挤压工作列表中。“当然,技术债务的偿还会被推迟,但这是一项长期的任务,你必须持续投入时间和精力。”

但Kus不建议指派工程师专门解决技术债务,他表示:“千万别这么干,这会迫使某些员工离职。没有人愿意成天和技术债务、代码重构或类似的任务打交道。”

在Box,他们会将开发的工作以及在冲刺的过程中、事后分析和值班期间涌现的问题,平均地分配给各个工程团队。“我们有一个严格的事后分析流程,我们会找出有待解决的问题,以防止同样的问题再次发生。虽然我们不会说放下手头的一切工作,专门解决某个问题,但我们会明确表示,如果问题再次发生,就会追究责任。如果同样的问题再次出现,那将是非常不愉快的经历。”

摆脱技术债务,就是“成功的标志”

 

轮流值守的重要性

由于工程团队希望有效地挖掘和衡量导致团队开发速度减慢的技术债务,随时待命变得越来越重要。

Honeycomb的Majors支持让从事开发新功能的工程师定期轮流值守,专门负责修复bug、重构代码以及偿还技术债务等工作。他表示:“有一个主要负责小问题的工程师很重要。工程师不应在值班期间从事产品开发工作。这样可以增加系统开发的灵活性。”

Chris Evans 是 Incident.io 的创始人,该公司是一家专门从事应急响应的软件初创公司。Evans告诉我们:“跟踪并记录一切的意义是减少那些‘不言自明’的知识。在轮流值守期间,你需要处理自己不太擅长的工作。”

虽然听起来这项工作的压力很大,但我们不仅可以解决问题,而且还可以在事后的分析中强调出现的问题,这样解决技术债务的重要性也会变得更加明显。

Evans曾在博客文章中写道:“承担运营的工作可以帮助我们收紧发布新功能与运行系统之间的反馈循环。这有助于我们做出务实的工程决策,并在发布新功能和支持与改进现有功能之间保持健康的张力。”

例如,Incident.io最近遇到了这样一个问题:他们的一个数据库交互出了问题,导致工程团队的开发速度减慢。Evans说:“我们投入了一周的时间,建立了一种更好的与数据库交互的方式,这对我们将来构建每个功能都产生了一定的影响。”

类似于这样的改进值得庆祝,就像解决了某个重大问题或发布了某个新功能一样,“偿还技术债务的重要性不亚于赢得新客户。”

摆脱技术债务,就是“成功的标志”

 

《金融时报》对于技术债务的重新思考

在过去六年中,《金融时报》一直在重塑其处理技术债务的方法。早在 2015 年,这家英国报纸网站由一款名为 Falcon 的“大而全”的应用程序搭建。2016 年,该公司的开发人员将 Falcon 转换成了一组微服务,总称为Next。他们的 332 个代码存储库由一组职责明确的团队长期负责,从应用程序、内容发现和广告到中央平台,他们只需要负责 72 个代码存储库。

《金融时报》的客户产品技术总监 Anna Shipman 在 4 月于伦敦举行的 QCon 会议上表示:“大约只过了一年,我们的系统就开始出问题了。”他们的技术团队搞不清楚整体的技术战略,以及哪些服务归谁管。这导致技术负债越来越多,甚至出现了“闹鬼的森林”——没有人愿意接管的孤立代码库,而且愿意轮流值守的工程师数量也不断减少。

Shipman的一位同事跟她说:“感觉这个系统不是我们的,我们根本驾驭不了。我们只是在不断往里塞东西。”

为了战胜这种困境,他们付出了巨大努力重建秩序,清除“闹鬼的森林”,接受复杂性,并有效地管理整个系统。只有明确技术栈的所有权,组织才能更有意识地对付技术债务和闹鬼的森林”。

Shipman表示:“这项工作不同于常规的功能交付,你需要留出适当的时间,并安排专人去解决。这项工作永无止境,不是说稍微整理一下就万事大吉。”

虽然他们没有统一决定分出20%的工程时间来清除“闹鬼的森林”和管理技术债务,但 Shipman 认为如今团队能够更好地平衡功能交付与技术债务了。

摆脱技术债务,就是“成功的标志”

 

将正确的观点传达给高层

通过上述讨论,相信你已重新认识技术债务,而且也明白放慢开发的速度,持续解决技术债务的价值,但挑战没有到此结束。你必须将这些观点传达给高级管理层。

Honeycomb 的 Majors 说:“产品和工程经理所有的时间都花在增加业务价值上了,就好像更多的附加功能和点缀是唯一的价值,但有时只有整体得到提升才能获得最大价值。”

对于工程经理来说,追求业务目标是当务之急,而技术债务常常被忽视,他们必须改变这种观点。

eBay 的高级首席架构师 David Van Couvering 在今年早些时候的一篇博客文章中写道:“在与工程师交谈时,我最常听到的抱怨之一就是,他们必须不断地开发功能,而他们使用的软件和工具变得越来越容易出问题、缺乏统一性,非常令人沮丧,这导致完成工作的难度越来越大。”

为了将这些风险转化为业务,就需要及时解决技术债务,让工程师们能够更快地工作,并确保软件更安全。

Van Couvering表示:“为了你自己,为了你的团队,也为了避免整个公司被技术债务拖垮,你必须学会向高层传达正确的观点。”

摆脱技术债务,就是“成功的标志”

 

避免风险

成功管理技术债务需要投入大量精力来改变根深蒂固的文化和工作方式,还需要改善工程团队与业务团队之间的沟通。公司应该推出相应的激励措施,鼓励开发人员做出改变,避免技术债务越累越高的风险。

RedMonk 分析师 Rachel Stephens 在 2017 年写道:“你必须帮助业务伙伴了解到今天的决策会导致未来风险增大,技术债务必须及时得到解决。你可以谈谈技术债务问题对项目造成的危害,并展示如今的妥协会对今后埋下何等祸根。”

虽然闪亮的新功能会让客户和高管喜笑颜开,但负债累累的系统会摧毁一切,相信灾后重建是任何人都不希望看到的局面。

原文地址:
https://www.infoworld.com/article/3660632/you-re-thinking-about-technical-debt-all-wrong.html

成就一亿技术人



Tags:技术   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
刘强东数字人直播带货:2000万观众背后的技术与情感挑战
想象一下,一个由人工智能驱动的数字人,不仅外貌和声音酷似真人,还能在直播中与观众互动、带货。这不是科幻小说的情节,而是京东直播的新现实。4月16日,以京东创始人刘强东为形象...【详细内容】
2024-04-18  Search: 技术  点击:(2)  评论:(0)  加入收藏
北京技术人员月平均薪酬中位值超1.2万元
本报讯(记者赖志凯)日前,北京市人社局发布《2024年北京市人力资源市场薪酬状况报告(一季度)》(以下简称《报告》)。《报告》显示,一季度专业技术人员月平均薪酬中位值达到了12...【详细内容】
2024-04-15  Search: 技术  点击:(4)  评论:(0)  加入收藏
10年架构师感悟:从问题出发,而非技术
这些感悟并非来自于具体的技术实现,而是关于我在架构设计和实施过程中所体会到的一些软性经验和领悟。我希望通过这些分享,能够激发大家对于架构设计和技术实践的思考,帮助大家...【详细内容】
2024-04-11  Search: 技术  点击:(2)  评论:(0)  加入收藏
SASE技术应用落地的五个关键趋势
在Gartner 最新发布的《2023网络技术成熟度曲线》报告中认为,SASE技术已经开始走出最初的技术炒作期,将逐步迈向新一轮的实用落地阶段。在Gartner发布的《Hype Cycle for Ente...【详细内容】
2024-04-01  Search: 技术  点击:(13)  评论:(0)  加入收藏
域名跳转技术你知道有什么用吗?
域名重定向,又称为域名转向或域名跳转,是一种网络技术,它允许网站管理员将一个域名指向另一个域名或者一个具体的网页地址。这样,当用户在浏览器中输入一个域名时,会被自动重定向...【详细内容】
2024-03-26  Search: 技术  点击:(10)  评论:(0)  加入收藏
苹果手机将搭载百度AI技术?百度人工智能A股小伙伴有这些
财联社3月24日讯(编辑 若宇 俞琪)据华尔街日报周五晚间报道,苹果在中国寻找本土生成式AI提供方,苹果讨论了在中国的设备中使用百度的人工智能技术。受该利好消息刺激,百度美股周...【详细内容】
2024-03-26  Search: 技术  点击:(21)  评论:(0)  加入收藏
国家安全部:95后“技术宅”遇间谍网络勾连,共享国家级项目数据后次日举报获奖
国家安全部微信公众号3月25日发文介绍一起网勾案件,全文如下:2023年,某高新技术企业的青年设计师阿强,拨打国家安全机关12339举报受理电话称,某科技论坛上一名昵称“暗影Dark”的...【详细内容】
2024-03-25  Search: 技术  点击:(23)  评论:(0)  加入收藏
“只要能看到脸的都能换” 滥用“AI换脸”技术伪造女明星涉黄视频 法院判了!
“AI换脸”相信大家都不陌生。只需要一张照片,通过人工智能深度合成技术,任何人都能成为视频中的主人公,甚至连表情和动作都能以假乱真。然而,这项新技术,却让一些人产生了不良想...【详细内容】
2024-03-22  Search: 技术  点击:(14)  评论:(0)  加入收藏
古人没有指纹技术,为何还要按指纹画押?专家:我们低估老祖宗了
现代科技比较发达,能够用很多方式识别身份,比如指纹识别和面容识别等。这些身份识别的方式广泛应用于生活之中,我们日常使用的手机,以及公安机关刑侦过程都离不开这些方式。指纹...【详细内容】
2024-03-21  Search: 技术  点击:(19)  评论:(0)  加入收藏
汽车OTA技术解析:它是什么以及有何作用?
汽车OTA技术,即Over-The-Air技术,是一种空中下载技术,通过移动通信的接口实现对软件进行远程管理。简而言之,它允许车主通过手机应用程序或互联网连接直接向车辆发送更新,而无需...【详细内容】
2024-03-19  Search: 技术  点击:(17)  评论:(0)  加入收藏
▌简易百科推荐
全球首个AI程序员Devin造假?业内人士:质疑有理,但程序员已离不开AI
·号称全球首个AI人工智能软件师Devin日前被网络博主质疑造假、炒作。业内人士分析认为,该位博主质疑有理有据,Devin的“惊人效果”确实存在一些商业炒作的嫌疑。号称“...【详细内容】
2024-04-17    澎湃新闻  Tags:AI程序员   点击:(5)  评论:(0)  加入收藏
李彦宏:以后只要会说话,就可以成为一名开发者
中新网4月16日电(中新财经记者 吴涛)“AI正在掀起一场创造力革命,未来开发应用就像拍个短视频一样简单,只要会说话,就可以成为一名开发者,以后人人都是开发者、创造者。”16日,百...【详细内容】
2024-04-17    中国新闻网  Tags:李彦宏   点击:(2)  评论:(0)  加入收藏
雷军:10年编程路,给程序员的几点建议
随着小米SU7的火热发售,雷军凭借“跨界灭霸”称号又一战封神。作为中国互联网历史上极富传奇色彩的连续创业者,他向大家生动地诠释了“人生在于奋斗”的真谛。雷军作为中国第...【详细内容】
2024-04-15    dbaplus社群  Tags:雷军   点击:(6)  评论:(0)  加入收藏
首个AI程序员造假被抓,Devin再次“震撼”硅谷!扒皮视频文字详解附上
白交 衡宇 发自 凹非寺量子位 | 公众号 QbitAI首个AI程序员,演示视频大幅度造假???不久之前震撼硅谷的Devin,再度震撼硅谷——但这次是被打假。事情是这样的:油管程序员...【详细内容】
2024-04-14    量子位  Tags:AI程序员   点击:(2)  评论:(0)  加入收藏
AI程序员上岗 垂类大模型应用迎来井喷期
能自动写代码的“AI员工”、逐渐告别不够好用的智能客服,无需费时费力开发的工业AI控制器……随着人工智能大模型能力开始深入多个行业,IT、工业生产、金融、服务...【详细内容】
2024-04-07    千龙网  Tags:AI程序员   点击:(5)  评论:(0)  加入收藏
首个AI程序员上岗,码农们暂且不必过度焦虑
“AI程序员上岗”或许是噱头,但淘汰焦虑仍然近在咫尺,需要积极面对。全文2418字,阅读约需7分钟 撰稿 / 马尔文(媒体人)编辑 / 何睿 校对 / 张彦君▲随着相关技术的突飞猛进,AI也在...【详细内容】
2024-04-07    新京报  Tags:AI程序员   点击:(6)  评论:(0)  加入收藏
为何大语言模型不会取代码农?
译者 | 布加迪审校 | 重楼生成式人工智能(GenAI)会取代人类程序员吗?恐怕不会。不过,使用GenAI的人类可能会取代程序员。但是如今有这么多的大语言模型(LLM),实际效果不一而足。如...【详细内容】
2024-03-21    51CTO  Tags:大语言模型   点击:(28)  评论:(0)  加入收藏
AI程序员Devin:通过了面试,但不一定适合职场
昨天,AI圈上演了第一场“大男主爽文”:一个少年成名的编程天才,组建起仅有10人的编程界奥林匹克“梦之队”,在全球瞩目的科技风暴正中心创办了一家公司。成立不到两个月,其推出的...【详细内容】
2024-03-18    甲子光年  Tags:AI程序员   点击:(19)  评论:(0)  加入收藏
微软AI程序员登场,10倍AI工程师真来了?996自主生成代码,性能超GPT-4 30%
新智元报道编辑:桃子 润【新智元导读】全球首个AI程序员Devin诞生之后,让码农纷纷恐慌。没想到,微软同时也整出了一个AI程序员——AutoDev,能够自主生成、执行代码等...【详细内容】
2024-03-18    新智元  Tags:AI程序员   点击:(26)  评论:(0)  加入收藏
李彦宏称程序员职业将不复存在,周鸿祎:程序员热十年内不会减弱,AI时代更需要程序员
李彦宏称程序员职业将不复存在,周鸿祎:程序员热十年内不会减弱,AI时代更需要程序员3月10日,360创始人周鸿祎在社交平台上发文称,“大模型将替代程序员?未来不用学编程了么?我认为,程...【详细内容】
2024-03-11    九派新闻  Tags:程序员   点击:(33)  评论:(0)  加入收藏
站内最新
栏目相关
站内热门
站内头条