写点什么

结对编程的经济价值论

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

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

关注

评论

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

java基础学习:java中的反射

Java快了!

java;

观测云&亚马逊云科技「可观测性体验日」北京站圆满落幕

观测云

对jdbc的讲解

楠羽

JDBC 笔记 9月月更

「工作小记」小程序开发的喜怒哀乐

叶一一

小程序 前端 9月月更

发挥CODING 敏捷开发能力,腾讯云加速提升国产芯片研发效率

科技热闻

用过这个API接口工具后,确实感觉postman有点鸡肋......

Liam

Java Postman swagger API开发 API调式

使用 CRD 开启您的 Ingress 可观测之路

观测云

Xshell 7 安装激活与换机转移许可证教程详解

淋雨

Linux xshell #运维

设计模式的艺术 第七章原型设计模式练习(在某销售管理系统中设计并实现了一个客户类Customer,其中包含一个名为客户地址的成员变量,客户地址的类型为Address。用浅克隆和深克隆分别实现Customer对象的复制)

代廉洁

设计模式的艺术

2022服贸会 | 洞见科技姚明:从智能化到密态化,数据科技向善升级

洞见科技

由循环开始的前端学习杂谈话事录-sam9029

Sam9029

前端 个人博客 成长笔记 9月月更

五分钟了解 Databend 全新 SQL 类型系统

Databend

开源项目 sql 开源社区 SQL分析

验证一个小小的问题

艾小仙

Java MySQL 编程 程序员 compact

ShareSDK iOS端微信如何获取authcode值

MobTech袤博科技

微信 iOS SDK

WAIC 2022 | 洞见科技在可信AI论坛联合发布《可信人工智能产业生态发展报告》

洞见科技

无代码开发平台怎么选?选择合适无代码平台的13个关键步骤

优秀

无代码平台

Koordinator 0.6:企业级容器调度系统解决方案,引入 CPU 精细编排、资源预留与全新的重调度框架

阿里巴巴中间件

阿里云 云原生 Koordinator

ShareSDK Android端主流平台分享示例

MobTech袤博科技

an'droid

Java 并发编程解析 | 如何正确理解Java领域中的锁机制,我们一般需要掌握哪些理论知识?

Java快了!

Java并发 java;

MobLink后台基本配置

MobTech袤博科技

android 开发者 iOS SDK

WAIC 2022 | 洞见科技王湾湾出席BPAA第二届应用算法实践典范,共话前沿算法产业发展

洞见科技

与紧张为友,享受紧张

宇宙之一粟

读书笔记 个人成长 演讲 9月月更 享受紧张

mysql查询 limit 1000,10 和limit 10 速度一样快吗?如果我要分页,我该怎么办?

Java快了!

MySQL

面向对象分析与设计的底层逻辑

阿里巴巴中间件

阿里云 云原生

lodash 在vue3+vite中按需加载

木叶🐱

vite Vue3 lodash

蓝凌OA

科技云未来

Dragonfly 基于 P2P 的文件和镜像分发系统

SOFAStack

容器 云原生 镜像 日志 文件

前端食堂技术周刊第 51 期:pnpm v7.10.0、8 月登陆网络平台的新内容、重新思考流行的 Node.js 模式和工具、打包 JavaScript 库的现代化指南

童欧巴

chrome Node React Chrome开发者工具 pnpm

「工作小记」关于业务组件的思考

叶一一

前端 React 组件开发 9月月更

Dubbo Mesh:从服务框架到统一服务控制平台

阿里巴巴中间件

阿里云 微服务 云原生 dubbo

【xShell 7】强悍的Linux远程链接工具、终端模拟器

淋雨

Linux 运维 xshell

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