武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

初探“技术债务”

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

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

关注

评论

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

从零手写react-router

helloworld1024fd

JavaScript

高级前端常见手写面试题指南

helloworld1024fd

JavaScript

ArkUI框架,更懂程序员的UI信息语法

HarmonyOS开发者

HarmonyOS

Zebec正在以流支付的方式,推动加密资产支付走上正轨

西柚子

新来了个同事,设计模式用的是真优雅呀!代码如诗!!

小小怪下士

Java 程序员 设计模式

写过vue自定义指令吗,原理是什么?.m

bb_xiaxia1998

Vue

常考vue面试题(附答案)

bb_xiaxia1998

Vue

云原生时代下,如何落地企业可观测体系?

嘉为蓝鲸

可观测性 自动化运维 嘉为蓝鲸 云原生时代

中台是企业架构的又一次实践吗?

涛哥 数字产品和业务架构

中台 企业架构

实施 GitOps 的三个关键步骤

SEAL安全

DevOps CI/CD gitops 12 月 PK 榜

从零开始实现一个Promise

helloworld1024fd

JavaScript

WeLink蒲公英表单,一款用了都说好的信息收集工具

科技怪授

华为云

软件测试丨单元测试框架怎么搭?新版的Junit5有哪些神奇之处?

测试人

软件测试 单元测试 自动化测试 测试开发 junit5

如何快速构建企业级数据湖仓?

字节跳动数据平台

大数据 湖仓一体 12 月 PK 榜

全新的 React 组件设计理念 Headless UI

阿里巴巴终端技术

前端 React

您有一封来神州云科冬季发布会的邀请函,请查收!

云科通明湖

openEuler社区开源项目:CPDS(容器故障检测系统)介绍

openEuler

开源 容器 云原生 操作系统 openEuler

LED显示屏行业演变趋势

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

Q1 20223 New Release of Chinese industrial WiFi module specialist MAXON

wifi6module

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

CPU火焰图初探-优化0.1%

FunTester

前端常见手写面试题合集

helloworld1024fd

JavaScript

HarmonyOS 3隐私安全中心真好用,为你带来前所未有的安全感

Geek_2d6073

全球银行最大分布式核心系统全面上线,邮储银行做到了!

华为云开发者联盟

数据库 后端 华为云 12 月 PK 榜

【深入浅出Dubbo3原理及实战】「SpringCloud-Alibaba系列」基于Nacos作为注册中心进行发布SpringCloud-alibaba生态的RPC接口实战

洛神灬殇

nacos SpringCloud SpringCloud Alibaba 12 月 PK 榜

WeOps上新啦 | WeOpsV3.13网络设备监控全新改造!

嘉为蓝鲸

自动化运维 嘉为蓝鲸 #WeOps

华为云WeLink协作文档,助您开启职场高效办公

i生活i科技

华为云

不愧是阿里资深架构师,这本“分布式架构笔记”写得如此透彻明了

钟奕礼

程序员 java面试 java编程 #java

常见经典vue面试题(面试必问)

bb_xiaxia1998

Vue

华为云WeLink,不仅更高效,还有更安全!

科技怪授

华为云

华为云WeLink飞羽审批,审批“嗖的一下”就通过了

科技怪授

华为云

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