SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
技术债务的形成
Tony Deng
http://twitter.com/wolf.deng
http://friendfeed.com/tonydeng
http://weibo.com/greedywolf
http://wolfchina.blogbus.com
13年5月17日星期五
技术债务,是指在面对需求时,由于仓促实现某
些功能特性而对代码库产生了破坏(在此过程中
同时破坏了代码库的架构设计)。
13年5月17日星期五
技术债务可能对于大家是⼀一个陌生的概念
13年5月17日星期五
下面我会讲⼀一个小故事,大家估计就明白了
13年5月17日星期五
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
有一个农民,他有三只鸡,每只鸡每天生一
个蛋。农民与当地的一个杂货店有生意来
往。杂货商每天从农民那里买两个鸡蛋,这
样他可以在他的店里出售。一切都有条不紊
地进行着,直到有一天杂货商出现在农民的
家门口。
13年5月17日星期五
13年5月17日星期五
嘿,今天我想要一些鸡肉。
13年5月17日星期五
嘿,今天我想要一些鸡肉。
肉吗?这可不在我们约定的协议范围之内。
13年5月17日星期五
嘿,今天我想要一些鸡肉。
肉吗?这可不在我们约定的协议范围之内。
我知道,但我真的需要肉。这是为我计划的一个
企业家禽服务平台做准备的。
13年5月17日星期五
嘿,今天我想要一些鸡肉。
肉吗?这可不在我们约定的协议范围之内。
我知道,但我真的需要肉。这是为我计划的一个
企业家禽服务平台做准备的。
什么?
13年5月17日星期五
13年5月17日星期五
一些重要人物。你能给我一些吗?
13年5月17日星期五
一些重要人物。你能给我一些吗?
嗯…这不那么容易,我必须孵化鸡蛋然后等待雏
鸡长大。我认为这需要一个月左右的时间。
13年5月17日星期五
一些重要人物。你能给我一些吗?
嗯…这不那么容易,我必须孵化鸡蛋然后等待雏
鸡长大。我认为这需要一个月左右的时间。
13年5月17日星期五
13年5月17日星期五
一个月?时间太长了…我更喜欢现在就拿
到。
13年5月17日星期五
一个月?时间太长了…我更喜欢现在就拿
到。
大自然有其自身的规律,你必须等待一段
时间。
13年5月17日星期五
一个月?时间太长了…我更喜欢现在就拿
到。
大自然有其自身的规律,你必须等待一段
时间。
嗯…为什么你不杀一只鸡呢?这样一来,我将得
到我想要的肉,你仍然可以每天生产两个鸡蛋。
事实上你每天也不需要更多的鸡蛋,不是吗?
13年5月17日星期五
一个月?时间太长了…我更喜欢现在就拿
到。
大自然有其自身的规律,你必须等待一段
时间。
嗯…为什么你不杀一只鸡呢?这样一来,我将得
到我想要的肉,你仍然可以每天生产两个鸡蛋。
事实上你每天也不需要更多的鸡蛋,不是吗?
嗯…我不认为这是一个好主意。当其它的鸡发生
一些意外的状况时,这会让我陷入困境,可能
无法提供两个鸡蛋。
13年5月17日星期五
说完,农民拿起屠刀将其中的一只鸡送
到了造物主那。杂货商拿着他的肉回到
13年5月17日星期五
来吧,不会有什么事情发生的…况且,我真的,
真的需要肉!你能给我吗?
说完,农民拿起屠刀将其中的一只鸡送
到了造物主那。杂货商拿着他的肉回到
13年5月17日星期五
来吧,不会有什么事情发生的…况且,我真的,
真的需要肉!你能给我吗?
好吧,我想我可以…
说完,农民拿起屠刀将其中的一只鸡送
到了造物主那。杂货商拿着他的肉回到
13年5月17日星期五
来吧,不会有什么事情发生的…况且,我真的,
真的需要肉!你能给我吗?
好吧,我想我可以…
说完,农民拿起屠刀将其中的一只鸡送
到了造物主那。杂货商拿着他的肉回到
13年5月17日星期五
来吧,不会有什么事情发生的…况且,我真的,
真的需要肉!你能给我吗?
好吧,我想我可以…
说完,农民拿起屠刀将其中的一只鸡送
到了造物主那。杂货商拿着他的肉回到
13年5月17日星期五
来吧,不会有什么事情发生的…况且,我真的,
真的需要肉!你能给我吗?
好吧,我想我可以…
说完,农民拿起屠刀将其中的一只鸡送
到了造物主那。杂货商拿着他的肉回到
13年5月17日星期五
⼀一天后
13年5月17日星期五
13年5月17日星期五
嘿!
13年5月17日星期五
嘿!
嘿,怎么啦?
13年5月17日星期五
嘿!
嘿,怎么啦?
听着,上次的肉很好。事实上,它真的很美
味,而且卖得非常好。所以现在,也就是明天
之前,我至少要拿到一只鸡。
13年5月17日星期五
嘿!
嘿,怎么啦?
听着,上次的肉很好。事实上,它真的很美
味,而且卖得非常好。所以现在,也就是明天
之前,我至少要拿到一只鸡。
这是不可能的。如果我给你另一只鸡,我就无
法按照合约里面的条款每天供应两个鸡蛋了。
13年5月17日星期五
13年5月17日星期五
哎呀,快点啦。客户想要肉,而且我已经答应
了明天一定会提供肉的…
13年5月17日星期五
哎呀,快点啦。客户想要肉,而且我已经答应
了明天一定会提供肉的…
不,我不能这样做。如果我这样做,我就不能
履行合同,你明白吗?如果我这样做了,鸡蛋
就不能保证。
13年5月17日星期五
哎呀,快点啦。客户想要肉,而且我已经答应
了明天一定会提供肉的…
不,我不能这样做。如果我这样做,我就不能
履行合同,你明白吗?如果我这样做了,鸡蛋
就不能保证。
但是我真的,真的,真的需要肉!就在明天!否
则客户会生气,地球会毁灭,整个世界正如我们
所知道的那样会结束!给我一只鸡,现在!
13年5月17日星期五
哎呀,快点啦。客户想要肉,而且我已经答应
了明天一定会提供肉的…
不,我不能这样做。如果我这样做,我就不能
履行合同,你明白吗?如果我这样做了,鸡蛋
就不能保证。
但是我真的,真的,真的需要肉!就在明天!否
则客户会生气,地球会毁灭,整个世界正如我们
所知道的那样会结束!给我一只鸡,现在!
嗯…如果你真的很想要,那你拿走吧!但是我
要再次提醒你,从现在开始,我无法保证每天
有足够的鸡蛋。明白吗?
13年5月17日星期五
13年5月17日星期五
当然了,这我知道的。但是你是一个聪明的家
伙,我想无论如何你会想出办法解决这个问题
的。拜拜!
13年5月17日星期五
当然了,这我知道的。但是你是一个聪明的家
伙,我想无论如何你会想出办法解决这个问题
的。拜拜!
13年5月17日星期五
当然了,这我知道的。但是你是一个聪明的家
伙,我想无论如何你会想出办法解决这个问题
的。拜拜!
13年5月17日星期五
当然了,这我知道的。但是你是一个聪明的家
伙,我想无论如何你会想出办法解决这个问题
的。拜拜!
13年5月17日星期五
再⼀一天后
13年5月17日星期五
13年5月17日星期五
你好!鸡蛋出什么问题了?
13年5月17日星期五
你好!鸡蛋出什么问题了?
你是指什么?
13年5月17日星期五
你好!鸡蛋出什么问题了?
你是指什么?
鸡蛋,就是指鸡蛋,怎么只有一个鸡蛋?出
什么问题了?
13年5月17日星期五
你好!鸡蛋出什么问题了?
你是指什么?
鸡蛋,就是指鸡蛋,怎么只有一个鸡蛋?出
什么问题了?
出什么问题了?我有三只鸡,你拿走了两只,现
在,这里只有一只鸡。一只鸡下一个鸡蛋,我想
这是很清楚的事情。
13年5月17日星期五
13年5月17日星期五
但是合约中没有这些!合同规定的条款就摆在这
里。你每天欠我两个鸡蛋!现在你要我怎么向我
的客户解释?
13年5月17日星期五
但是合约中没有这些!合同规定的条款就摆在这
里。你每天欠我两个鸡蛋!现在你要我怎么向我
的客户解释?
嗯,对此我是非常清楚的,而且我也无能为力。
13年5月17日星期五
但是合约中没有这些!合同规定的条款就摆在这
里。你每天欠我两个鸡蛋!现在你要我怎么向我
的客户解释?
嗯,对此我是非常清楚的,而且我也无能为力。
好吧,好吧,天哪,算了吧,说点别的吧…如果
能再拿一些肉走那还不错,我能拿走一些吗?
13年5月17日星期五
请大家联系自己实际的情况思考⼀一下,如果避免这种情
况出现?
13年5月17日星期五
所以,不要当一个农民。当需求来时,拒绝可能对你的
代码库造成无法挽回的破坏的需求,一旦你被强迫去做
这样的事情,绝对不要对已被破坏的残骸负责。
同样,不要当一个杂货商,不要要求一些不可能完成的
任务,同时为自己的决定承担责任。
13年5月17日星期五
谢谢
13年5月17日星期五

Más contenido relacionado

Más de Tony Deng

我们为何工作--找到正确的工作方式
我们为何工作--找到正确的工作方式我们为何工作--找到正确的工作方式
我们为何工作--找到正确的工作方式Tony Deng
 
漫谈职业规划
漫谈职业规划漫谈职业规划
漫谈职业规划Tony Deng
 
一次Http请求过程分析
一次Http请求过程分析一次Http请求过程分析
一次Http请求过程分析Tony Deng
 
一次Code review引发的思考
一次Code review引发的思考一次Code review引发的思考
一次Code review引发的思考Tony Deng
 
My sql迁移总结
My sql迁移总结My sql迁移总结
My sql迁移总结Tony Deng
 
一次项目的探险旅程
一次项目的探险旅程一次项目的探险旅程
一次项目的探险旅程Tony Deng
 
Scrum敏捷开发模型
Scrum敏捷开发模型Scrum敏捷开发模型
Scrum敏捷开发模型Tony Deng
 
Shoutv 冯晓东
Shoutv 冯晓东Shoutv 冯晓东
Shoutv 冯晓东Tony Deng
 
我们不了解的计算机世界(二)
我们不了解的计算机世界(二)我们不了解的计算机世界(二)
我们不了解的计算机世界(二)Tony Deng
 
实时任务调度
实时任务调度实时任务调度
实时任务调度Tony Deng
 
施耐庵究竟怎样写武松
施耐庵究竟怎样写武松施耐庵究竟怎样写武松
施耐庵究竟怎样写武松Tony Deng
 
我们的岛,又有多大
我们的岛,又有多大我们的岛,又有多大
我们的岛,又有多大Tony Deng
 
数据挖掘九律
数据挖掘九律数据挖掘九律
数据挖掘九律Tony Deng
 
核辐射乱谈
核辐射乱谈核辐射乱谈
核辐射乱谈Tony Deng
 
Bash的快捷键
Bash的快捷键Bash的快捷键
Bash的快捷键Tony Deng
 
西游记里那些可爱的小妖们
西游记里那些可爱的小妖们西游记里那些可爱的小妖们
西游记里那些可爱的小妖们Tony Deng
 
红楼拾取
红楼拾取红楼拾取
红楼拾取Tony Deng
 

Más de Tony Deng (20)

我们为何工作--找到正确的工作方式
我们为何工作--找到正确的工作方式我们为何工作--找到正确的工作方式
我们为何工作--找到正确的工作方式
 
SDN介绍
SDN介绍SDN介绍
SDN介绍
 
漫谈职业规划
漫谈职业规划漫谈职业规划
漫谈职业规划
 
一次Http请求过程分析
一次Http请求过程分析一次Http请求过程分析
一次Http请求过程分析
 
图解Git
图解Git图解Git
图解Git
 
一次Code review引发的思考
一次Code review引发的思考一次Code review引发的思考
一次Code review引发的思考
 
My sql迁移总结
My sql迁移总结My sql迁移总结
My sql迁移总结
 
一次项目的探险旅程
一次项目的探险旅程一次项目的探险旅程
一次项目的探险旅程
 
Scrum敏捷开发模型
Scrum敏捷开发模型Scrum敏捷开发模型
Scrum敏捷开发模型
 
Shoutv 冯晓东
Shoutv 冯晓东Shoutv 冯晓东
Shoutv 冯晓东
 
我们不了解的计算机世界(二)
我们不了解的计算机世界(二)我们不了解的计算机世界(二)
我们不了解的计算机世界(二)
 
HBase
HBaseHBase
HBase
 
实时任务调度
实时任务调度实时任务调度
实时任务调度
 
施耐庵究竟怎样写武松
施耐庵究竟怎样写武松施耐庵究竟怎样写武松
施耐庵究竟怎样写武松
 
我们的岛,又有多大
我们的岛,又有多大我们的岛,又有多大
我们的岛,又有多大
 
数据挖掘九律
数据挖掘九律数据挖掘九律
数据挖掘九律
 
核辐射乱谈
核辐射乱谈核辐射乱谈
核辐射乱谈
 
Bash的快捷键
Bash的快捷键Bash的快捷键
Bash的快捷键
 
西游记里那些可爱的小妖们
西游记里那些可爱的小妖们西游记里那些可爱的小妖们
西游记里那些可爱的小妖们
 
红楼拾取
红楼拾取红楼拾取
红楼拾取
 

技术债务的形成