2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

初探“技术债务”

  • 2008-08-28
  • 本文字数:1180 字

    阅读完需:约 4 分钟

最近举行了一个技术债务研讨会,以改进我们对“技术债务(technical debt)”的理解及其解决之道,该研讨会迸发出一些有趣的观点。其中一个观点引起了包括 Michael Feathers 和 Brian Marick 在内的很多人的注意,那就是我们应该将对问题的理解集中在“资产”而不是“债务”上。

会议组织者 Matt Heusser 和 Steve Poling 介绍了他们对这个持续两天的会议的愿景:

成功的会议应能采取一些具体的度量,通过这些度量来对技术债务进行切实可行的讨论。当我们说自找麻烦就像借钱一样时,我们并没有自欺欺人,这一点会议已经给我们提供了证据。(往好点说,我们证明了另一个动态是在开玩笑。)该会议还将阐述债务管理和债务偿还策略以及它们何时会显现出来。

该会议意在解决如下三个主要问题: 1. 什么是技术债务?什么不是?
2. 我们如何对其进行度量?其影响如何?
3. 我们能否像管理其他债务一样去管理技术债务?

该会议迸发出一些有趣的观点, Heusser 总结如下: - 无知:劣质代码要么产生于无知,要么产生于错误的决定。请阅读 Brian Marick 的文章以深入了解这一点。

  • Bug 修复:发现 Bug 后一定要尽早修复;由此产生了 stop-the-line 文化。
  • 风险:客户没有对团队施加足够的影响会导致开发速度很快但是质量很低,这是由 Heusse 引入的观点。
    - 不匹配:如果开发者的技术水平参差不齐,那么就会对代码质量产生副作用,这使得开发任务很难完成。请阅读 Chris McMahon 的文章以深入了解这一点。
  • 流动的资产:或许“技术债务”让我们专注于错误的事情上;或许专注于相反的事情、专注于投资( McMahon 最近谈到了这一点)更有效。
  • 供给:证明团队在正常的情况下可以降低技术债务,这样就可以“增加资产”了。

或许上面这些观点中最有趣,大家也最熟悉的就是从另一个角度思考技术债务:努力“增加资产”。从会计学的“借贷”角度来说:一个人可以将精力集中于减少借款或者增加存款,但最终理想的目标还是增加资产。某些情况下这只是视角的问题。 就在会议之前 Michael Feathers 提出了“代码即资产”这样一种观点。他的观点很大程度上表明从“资产”角度看待代码会接近人类的本性,这会对代码质量及“技术债务”问题的反映产生更好的结果。根据Feathers 所述,这样做更好,因为人们都喜欢获取东西(“资产”)而不是损失东西(“债务”)。

随后Brian Marick 继续该讨论,他使用了“充裕的资产”来描述代码质量对开发所产生的结果。他将其类比于园艺,说到土壤必须保持肥沃以持续种植,但尽管如此也不能永远肥沃,这样就有碍于种植了。他的想法就是产品代码与此类似。

此外Brian Marick 还撰写了一篇简短但有趣的捧场文章,重点讲述了一些著名的敏捷文化的鼓吹者对降低债务的团队有什么特别之处这个话题的描述。

与往常一样,请点击下面的链接以了解全部内容的总结,然后回来谈谈你对这些观点的看法以及经历。

查看英文原文: A Fresh Look at ‘Technical Debt’

2008-08-28 09:25876
用户头像

发布了 88 篇内容, 共 273.6 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

系统运维联盟 5 月会议召开,围绕“进展、规划与合作”展开讨论

OpenAnolis小助手

操作系统 龙蜥社区系统运维联盟

实现Python日志点击跳转到代码位置的方法

霍格沃兹测试开发学社

好用的在线白板网站有哪些?这5款白板软件值得推荐!

彭宏豪95

职场 在线白板 办公软件 在线协作 效率软件

融合商品计划与供应链管理:打造高效协同供应链生态

第七在线

相聚杭州,53 位代表参会!龙蜥社区两大委员会圆满结束

OpenAnolis小助手

操作系统 龙蜥社区

社区新标准发布!龙蜥社区标准化 SIG MeetUp 圆满结束

OpenAnolis小助手

标准化 龙蜥meetup 龙蜥社区标准化SIG

发掘 Chrome 的实用命令:提升你的浏览器使用体验

霍格沃兹测试开发学社

java抽象类与接口的区别

小曾同学.com

接口 java\ 抽象类

SSH 简介:安全远程访问的利器

霍格沃兹测试开发学社

首家!腾讯云ES通过中国信通院检索增强生成(RAG)技术要求专项测试

腾讯云大数据

ES

快速入门 TinyVue 组件库一键换肤!get“多主题适配”技能

OpenTiny社区

开源 前端开发 web开发 OpenTiny TinyVue

线上观看人次2万+!「飞天技术沙龙-CentOS 迁移替换专场」北京站圆满结束

OpenAnolis小助手

操作系统 龙蜥社区 CentOS迁移 Alibaba Cloud Linux Anolis OS

低代码开发:企业数字化部门的数字化转型之路

不在线第一只蜗牛

低代码 数字化

观测云告警集成 PagerDuty 最佳实践

观测云

告警

哈银消费金融端午节金融知识普及,守护消费者权益,助力智慧消费!

极客天地

【三体学者】著名的黑暗森林理论是什么含义?

AppBuilder

MES生产车间物料如何管理才能降本增效?

万界星空科技

生产管理系统 mes 万界星空科技 物料管理 生产物料

10分钟搞定分布式应用缓存

俞凡

架构

云游戏怎么发行?云游戏发行商推荐

Ogcloud

云游戏 云游戏发行 云游戏平台 游戏云化

企业如何实现异地组网?SDWAN组网搭建教程分享

Ogcloud

SD-WAN 企业组网 SD-WAN组网 异地组网 SDWAN

Python 中寻找列表最大值位置的方法

霍格沃兹测试开发学社

利用机器学习助力发动机舱电磁场强仿真,实现快速预测

Altair RapidMiner

机器学习 数据分析 #人工智能

2024 年 5 月公链研报:监管调整与市场新动向

Footprint Analytics

探索 Go slog 标准库:设计与应用

俞凡

golang

初探“技术债务”_Java_Mike Bria_InfoQ精选文章