写点什么

技术债务是技术问题么?

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

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

关注

评论

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

Tensorflow for Java + Spark-Scala分布式机器学习计算框架的应用实践

Qunar技术沙龙

机器学习 tensorflow spark 后端 分布式计算

架构实战营 毕业总结

竹林七贤

极致性能一睹为快!阿里全新出品性能优化手册 从此拒绝系统瘫痪!

Java 编程 程序员 架构师 计算机

某宝付费的Redis核心原理深度实践PDF,竟在GitHub标星86k+霸榜

白亦杨

Java 编程 程序员 架构师 计算机

使用MLlib进行机器学习(十-下)

Databri_AI

spark 决策树 优化

如何下载YouTube视频/影片(4K画质)

资源君

分享 经验分享 youtube视频下载 工具分享 教程分享

Java版人脸检测详解上篇:运行环境的Docker镜像(CentOS+JDK+OpenCV)

编程菌

Java 编程 程序员 后端 java技术宅

15年前的3篇论文,变成了万亿大生意

百度大脑

人工智能 论文

掌握这些核心算法,拿不到10+个offer你来找我,我锤飞你个不争气的

北游学Java

Java 算法

Baetyl邀你来战EdgeX中国挑战赛!

百度开发者中心

人工智能 最佳实践 物联网

2021年FiL最新消息:fil值得投资吗?

区块链 IPFS fil fil矿机 fil行情

Go 语言的信号式抢占原理

Xargin

后端 Go 语言 系统编程

学生管理系统详细架构设计文档

张文龙

#架构实战营

祝贺中国跳水队夺金!百度智能云挺敢做梦的人

百度大脑

人工智能 跳水队

基于深度学习的实时噪声抑制——深度学习落地移动端的范例

声网

人工智能 算法 移动端

时序数据库助力安全监控

greatersecurity

为什么双赞安卓ARM工控主板应用前景那么好?

双赞工控

PancakeSwap交易所做市机器人|交易所画K线机器人

Geek_23f0c3

交易所机器人 pancakeswap 做市机器人

CODING 携手 CoDesign:让设计与开发更简单

CODING DevOps

DevOps 设计 开发工具 CoDesign

《面试八股文》之 Redis 16卷

moon聊技术

redis 面试

关于体验设计的十大重要定律

石云升

读书笔记 用户体验 商业洞察 7月日更 体验设计

spring,springboot,底层原理解析

java小李

"开放数据,蔚然成林"—浪潮助力多地获得数据开放全国标杆

浪潮云

云计算

应届女生美团Java岗4面,一次性斩offfer,我受到了万点暴击

编程菌

程序员 面试 后端 计算机

【云厂商】部分知名云服务商名单

行云管家

云计算 公有云 云服务 私有云 云厂商

一种Vue应用程序错误/异常处理机制

devpoint

Vue 异常处理 vue2 7月日更

都2021年了,还在问网络安全怎么入门,气得我当场脑血栓发作

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

Vue进阶(三):Axios 应用详解

No Silver Bullet

Vue axios 7月日更

粉了!京东商城核心亿级流量并发Java系统架构设计方案手册

Java架构追梦

Java 架构 面试 高并发 京东

架构训练营 模块三

小卷儿

加码物联网安全,熵核科技做终端安全的守护者

熵核科技

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