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:25867
用户头像

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

关注

评论

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

建立java和jin函数之间的关系

北洋

6月月更

洞见科技承建国家工信安全中心「隐私计算平台」,筑基互联互通生态底座

洞见科技

隐私计算 数据要素

数值转换

Jason199

js 数据转换 6月月更

Spark Shuffle 原理

丛培欣

大数据 spark

GameFi新的契机,AQUANEE市场近状一览

西柚子

通用池化框架GenericKeyedObjectPool性能测试

FunTester

模块三作业

NFT市场进入聚合时代,OKALEIDO成BNB Chain上的首个聚合平台

小哈区块

G7与E6宣布完成合并

极客天地

NFT市场进入聚合时代,OKALEIDO成BNB Chain上的首个聚合平台

西柚子

寻找 Web3 的灵魂

CECBC

同步屏障CyclicBarrier

急需上岸的小谢

6月月更

Hoo首发上线CloudChat(CC) 推出空投5,000 USDT活动

区块链前沿News

Hoo

面向艺术家的Web3商业生态,由OKALEIDO的NFT聚合交易赋能

西柚子

全国首批“持证上岗”的区块链应用操作员来了

CECBC

当Spring邂逅Kafka,有趣的知识增加了

Geek_rze78a

kafka spring 6月月更

端午节的咸鸭蛋

红毛丹

前端 6月月更

在 GitHub 上玩转开源项目的 Code Review

胡说云原生

GitHub 开源 DevOps Code Review DevStream

Flutter 开发一个通用的购物车数量编辑组件

岛上码农

flutter 安卓开发 ios 开发 跨平台应用 6月月更

太卷了!腾讯一面被问到内存满了,会发生什么?

Java全栈架构师

Java Linux 程序员 面试 操作系统

客户之声|携程基于 OceanBase 读写分离方案的探索与优化

OceanBase 数据库

数据库 oceanbase

每日一题 | LeetCode977 有序数组的平方

武师叔

Leet Code 6月月更

网络整体设计思路

阿泽🧸

6月月更 网络设计

盘点:2022年10款比较火的项目管理软件

优秀

项目管理软件

数据库每日一题---第5天:变更性别

知心宝贝

数据库 前端 后端 6月月更

华为云鲲鹏代码迁移工具的功能与特性

乌龟哥哥

6月月更

引入区块链技术 是开展碳信息审计的有效举措

CECBC

vue指令-3

小恺

6月月更

NFT市场进入聚合时代,OKALEIDO成BNB Chain上的首个聚合平台

BlockChain先知

【LeetCode】马戏团人塔Java题解

Albert

LeetCode 6月月更

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