写点什么

结对编程的经济价值论

  • 2009-06-25
  • 本文字数:1088 字

    阅读完需:约 4 分钟

“究竟为什么我们要使用两个人来同时做同一件事情呢?”这往往是初次听说

结对编程的人的第一反应。实际上,他们觉得结对编程使写代码的成本翻了一倍。Dave Nicollete 用数字说话,告诉大家结对编程是如何省钱,而不是浪费钱的。

由于错误地认为编程主要就是打字,结对编程的经济价值论也就经常被误解。事实上,当然,大部分的编程其实就是在思考,结果往往会做出很多糟糕的决定,或者犯下很多的错误——这些错误最终还得由开发人员(以及他们的公司)买单。

这就是结对编程价值论建立的基础,也是它为什么难以量化的原因。 Dave Nicolette 在他最近的一篇文章中是这么概述的:

结对的价值主要体现在手把手纠正,从而把错误扼杀在萌芽中。手把手纠正涉及面小,而且能跟结对编程的工作流程无缝结合起来,通常 甚至都感觉不到,很自然…带来的价值就是能够很方便地进行检查,从而防止在未来某个时间不得不返工的情况出现…要想观测或者量化实施后的效果并不 简单,因为坏的结果从来没有发生过,你也就没法比较了。

所以,结对的价值体现在节约了未来的

时间,“时间就是金钱”。但是

值多少钱呢?还是在这篇文章中,Dave 试着向大家阐述了几个观点来回答这个问题。

在最近的一次结对中,Dave 一直记录着结对伙伴指出搭档错误以及关于设计方面的讨论的时间。然后,他们给出这些事情为将来省下了多少时间,再利用这些信息继续做进一步的计算:

在 Alistair Corkburn 的早期著作中,他曾经计算过一个 IT 工作者的成本要每分钟 2.1 美元…在我们的结对过程中,我们进行了 2 次简短的关于设计的讨论,随 之做出了小的重构。根据我们的计算,这次重构为未来的维护工作节省出了 4 小时。这就意味着大约 2.1 x 120 = 252.00 美元。如果我们共发现了 12 个小错误,平均每个错误节约了 30 秒的调试时间,那么这就值.5 x 2.1 x 12 = 12.60 美元。总共的话,我们为公司每 90 分钟省下了 276.60 美元,或者说一小时省下大概 180.00 美元。

某公司有个小 规模的 IT 部门,总共 40 个开发人员,分散在几个 XP 团队。我们假设开发人员每天结对 5 个小时,那么一共每周结对时间为 20 对 x 5 小时 x 一周 5 天 = 500 小时。假设每个结对每小时节省 180 美金,那么平均每周节约 90000 美元。如果全年都把节约率控制在这个水平线上下,那么团队一年工作 50 周(这 是美国,假期不长),公司就会因为开发团队的结对编程,一年节省 450 万美元。

450 万美金呢,对一个只有 40 个开发人员的公司呀。但 Dave 也不得不承认,这只是从一次结对编程中获取的初步计算,所以并没有科学性,但这仍然可以引发大家的思考。

你怎么看呢?

查看英文原文: A Dollar Value On Pair Programming

2009-06-25 07:013203
用户头像

发布了 114 篇内容, 共 35.5 次阅读, 收获喜欢 2 次。

关注

评论

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

强势入局,区块链专利将成为银行下一个战场?

CECBC

区块链 金融 银行

数字电路后端设计流程

老壳有点爽

设计 flow 集成电路 IC

sed语言学习技巧(1)

老壳有点爽

vim 编程语言 sed 脚本语言

Linux指令简述&vim引入(1)

老壳有点爽

vim Linux 脚本

商业计划书制作(1):商业计划书的信息需求

老壳有点爽

创业 商业计划书 信息需求

MySQL备份与恢复场景示例

Simon

MySQL

2020深圳站-GIAC全球互联网架构大会PPT分享

九叔(高翔龙)

架构 分布式系统 服务治理 大型网站演变 全链路压测

Python 核心技术与实践 input&output

Bonaparte

集成电路工艺基础介绍

老壳有点爽

芯片 集成电路 IC 工艺 制程

成都信息工程大学的区块链工程成全国首个区块链工程本科专业

CECBC

区块链技术 区块链工程

模拟电路设计工程师发展九段

老壳有点爽

集成电路 IC 芯片设计 模拟电路

MySQL DDL详情揭露

Simon

MySQL

中国大陆芯片行业发展概况

老壳有点爽

芯片 集成电路 IC

区块链之物流产业上链解决痛点

CECBC

区块链 供应链

集成电路设计概括

老壳有点爽

芯片 集成电路 IC

世界集成电路发展概况

老壳有点爽

芯片 集成电路 IC 芯片营销

魅力非凡的半导体电路行业

老壳有点爽

芯片 集成电路 IC 芯片营销

数字后端工程师发展六阶段

老壳有点爽

芯片 集成电路 IC 数字电路工程师

IC设计流程及工具

老壳有点爽

芯片 集成电路 IC IC设计流程及工具

Golang领域模型-六边形架构

奔奔奔跑

微服务 领域驱动设计 架构设计 Go 语言

sed 语言学习技巧(2)

老壳有点爽

vim sed 脚本语言

芯片行业的主要生意模式

老壳有点爽

芯片 集成电路 IC

看门狗 | 分布式锁架构设计方案-01

九叔(高翔龙)

redis 分布式锁 RedLock WatchDog

Verilog 的debug技巧(1)

老壳有点爽

芯片 集成电路 IC Verilog 电路

Vim小技巧(2)

老壳有点爽

vim Linux 脚本语言

PySpark RDD 基础运算和操作总结

是老郭啊

spark pyspark RDD

最初芯片国产化是怎么来的?

老壳有点爽

芯片 集成电路 国产化 替代

芯片行业基本生态:设计生产封装的行业分工

老壳有点爽

芯片 集成电路 IC

半导体行业个人理解

老壳有点爽

芯片 半导体 集成电路 IC

看门狗 | 分布式锁架构设计方案-02

九叔(高翔龙)

redis 分布式锁 Jedis RedLock

物理实现(Physical Implementation)

老壳有点爽

芯片 集成电路 IC 物理设计 PI

结对编程的经济价值论_Java_Mike Bria_InfoQ精选文章