【AICon】硅谷视野+中国实践,汇聚全球顶尖技术的 AI 科技盛会 >>> 了解详情
写点什么

技术债务是技术问题么?

  • 2010-01-26
  • 本文字数:865 字

    阅读完需:约 3 分钟

“技术债务”一词最初是由 Ward Cunningham 提出的(大家可以看看 Ward Cunningham 自己是如何描述这一术语的):

最初交付的代码就好像是欠债一样,但只要能通过重写快速地还债,那么少量的债务是会提升开发速度的。但是,如果债务得不到偿还,危险就会随之产生。花在并不太正确的代码上的每一分钟都将成为债务的利息。整个组织都会在债务的重压之下被折磨得精疲力竭。

最近,本文作者与一些同僚就技术债务及其解决方案展开了一次对话。此次讨论的中心议题是:本文作者认为技术债务是个技术问题,可以通过规范的手段加以解决,比如重构和测试等;而另一方则认为光是重构与测试并不能减少技术债务。

可以将本文作者一方的观点总结如下:为了减少技术债务,人们必须要不断增加测试数量和重构次数以首先满足系统的设计与架构要求,接下来逐步解决系统所面临的各种问题。这一方对技术债务的理解是:技术债务就是个技术问题,应该通过管理的手段加以解决。我们可以接受技术债务,但不要忘记偿还就行。 Martin Fowler Ward Cunningham 以及 Bob 大叔等人已经就这个主题、其重要性以及对开发团队的影响进行过多次讨论。

另一方的观点与本文作者并不矛盾,但他们认为技术债务只是真实问题的一小部分而已,我们可以解决表面症状,但如果没有足够的细心是无法解决其根源问题的。事实上,我们甚至在 TDD 和术语“重构”出来之前就已经在不断重构了。作为软件开发人员,我们会重新设计,重新构建系统,这不过是更大的重构周期(月、年而非分钟)的一部分。因此,TDD 和重构只是在解决表面症状而已。他们援引 Deming 的话说:

这并非是把人分成三六九等。每个人都要清楚自己的工作效率在很大程度上会受到所从事工作的影响…

上面这句话表明技术债务实际上是更大问题的一种症状表现,然而人们很难看清债务本身,对于开发者和组织来说,千万不要放任技术债务横行。因此,解决方案就是公开问题与解决问题的代价,而非向开发者提供一套新的工具集。

本文作者认为还需要一些时间来消化上面这些内容,同时感觉很有必要与社区分享这些内容。

查看英文原文: Is Technical Debt a Technical Issue?

2010-01-26 01:521568
用户头像

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

关注

评论

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

spring-beans 注册 Beans(三) ConfigurationClassPostProcessor处理BeanDefinition流程

梦倚栏杆

架构实战营 模块五课后作业

iProcess

架构实战营

架构模块5作业

高亮

架构训练营

MySQL基础之四:排序、分组

打工人!

MySQL 6月日更

架构实战营模块6作业

En wei

架构实战营

微博评论缓存架构设计

俞嘉彬

架构实战营

新手模拟实现call和apply

前端树洞

大前端 js this JavaScrip

spring-beans 注册 Beans(二) springboot启动流程

梦倚栏杆

Proxy 对象简介

编程三昧

JavaScript 大前端 ES6 Proxy

【译】编写整洁 React 组件的简单小技巧

KooFE

大前端 React 6月日更 整洁代码

架构训练营模块五作业

Geek_e0c25c

架构训练营 架构实战营

从水晶宫到甲秀楼:在数博会读懂智慧城市的“大工业时代”

脑极体

设计微博系统中”微博评论“的高性能高可用计算架构

贯通

#架构实战营

限流算法, 以 Golang 方式

hedzr

ratelimiter Go 语言 gin gin-middleware rate-limit

git stash误使用drop删掉本地保存,恢复代码一次记录

良知犹存

git

【Vue2.x 源码学习】第六篇 - 数据代理的实现

Brave

源码 vue2 6月日更

模块5-”微博评论“的高性能高可用计算架构

小遵

用Docker的方式编译OpenVINO

IT蜗壳-Tango

6月日更

模块五 作业

薛定谔的指南针

架构实战营

spring-beans 注册Beans(一) 之问题场景复现

梦倚栏杆

开源的 OpenHarmony 是每个人的 OpenHarmony

开放原子开源基金会

kubelet之volume manager源码分析

良凯尔

Kubernetes 源码分析 kubelet Ceph CSI

模块五:课后作业

黄先生

”微博评论“的高性能高可用计算架构

chenmin

架构训练营——模块五作业——微博评论

开拓纪

架构训练营 模块五 微博评论

运动居然成了我的奢侈品?

悟空聊架构

程序员 程序人生 运动 6月日更

架构实战营模块五作业

冷大大

作业 架构实战营 模块五

抖音封禁大量“卖惨带货”账号:应该严打恰烂钱的自媒体

石头IT视角

【架构实战营】第 5 模块作业

swordman

架构实战营

go训练营第二周作业

模块5作业 微博评论高性能高可用计算架构

TH

架构实战营

技术债务是技术问题么?_研发效能_Amr Elssamadisy_InfoQ精选文章