写点什么

结对编程的经济价值论

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

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

关注

评论

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

高斯 Redis 在IM场景中的应用

华为云开发者联盟

数据库 IM 华为云 GaussDB(for Redis)

飞桨刷新分子性质预测榜单,助力AI药物研发

百度大脑

百度 AI 飞桨

京东M-PaaS平台之Android组件化系统私有化部署改造实践

京东科技开发者

系统架构 mPaaS

SD-RTN——毫秒级网络加速带来全新的体验

anyRTC开发者

android 5G 音视频 WebRTC RTC

NA公链双重隐私技术为NAC公链护航涅磐

区块链第一资讯

区块链 公链 挖矿

化蛹成蝶,华为云DevCloud助力互联网+转型,重构钢铁产业链

华为云开发者联盟

Scrum 代码 华为云 devcloud 敏捷管理

5G与房地产

ES_her0

28天写作 3月日更

密码学系列之:csrf跨站点请求伪造

程序那些事

安全 密码学 CSRF 程序那些事

产品的基准线:确定性的产品

boshi

产品设计 研发管理 七日更

鲸品堂开篇

鲸品堂

行业资讯 通信 科技

有道精品课实时数据中台建设实践

有道技术团队

大数据

智汇华云 | ArcherOS Stack共享存储虚拟化技术剖析

华云数据

Go训练营第4周总结

Glowry

随便说说“借鉴”那些事「Day 26」

道伟

28天写作

面试官:线程池中多余的线程是如何回收的?

Java小咖秀

Java 面试 多线程

zookeeper的数据模型详解

大数据技术指南

大数据 zookeeper 28天写作 3月日更

比电脑屏保还酷?在电脑桌面实时显示当前时间。

彭宏豪95

效率 效率工具 时间 应用 桌面时钟

MindSpore学习(一)

依旧廖凯

28天写作 3月日更

万象:百度的海量多媒体信息处理系统

百度开发者中心

#富媒体# #信息系统#

翻译:《实用的Python编程》06_03_Producers_consumers

codists

Python

Swagger 常用注解

insight

swagger 3月日更

EGG公链——ETFalk开启了新一代去中心化社交革命

币圈那点事

高效使用Chrome浏览器,你可能不知道的10个技巧。

彭宏豪95

chrome 效率 浏览器 使用技巧

有意义的选择——初谈心流

Justin

心理学 28天写作 游戏设计

图像基本概念,Python 图像算法取经之旅 365 天的第 2 天

梦想橡皮擦

28天写作 3月日更

数仓集群管理:单节点故障RTO机制分析

华为云开发者联盟

GaussDB 集群 GaussDB(DWS) RTO 单节点故障

篮下有球-用例2

z

防火墙双机热备

详解 ZooKeeper 数据持久化

HelloGitHub

Java zookeeper ZooKeeper原理

都在讲Redis主从复制原理,我来讲实践总结

华为云开发者联盟

数据库 redis 复制 服务器 非关系型数据库

这可能是今年最值得入手的一本思维导图书

博文视点Broadview

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