【翻译】铁三角(规模、时间和资源的限制)并不适用于软件开发

当我们开始偷工减料并仓促完成,就会开始犯小错误,然后堆积成大错误,然后花更多的时间(和开支)来查找并修复这些错误。

The Iron Triangle Does Not Apply to Software Development

by David Bernstein · May. 06, 16 · Agile Zone

翻译 KumaT  2016.5.18 (如有纰漏恳谢指正)(翻译后的顺序对比原文做了微调。)

There are three main constraints in manufacturing that are sometimes referred to as the “iron triangle.” These are scope, time, and resources.

生产中的三个主要因素(又称“铁三角”):规模、时间和资源。

Scope refers to the size of the project or the amount of work to be done.Time refers to when the project will be finished or how long it will take.The “resources” for developing software are people.

规模是指项目的大小或要做的工作量。时间是指项目完成期限或工作将耗费的时长。“资源”在软件开发中指的就是人。

In manufacturing they say, “Pick two of these three things to flex, but one must remain fixed.”

在生产中常常是让其中的两个因素有弹性,但另一个因素必须固定不变。

But this model does not apply to software development.

然而这种模式并不适用于软件开发。

And because developing software requires a great deal of communication and coordination among people, when we add more people to a project it almost always has the short-term effect of slowing the project down.

由于开发软件需要大量的沟通和协调,当我们为项目加更多人时几乎总会使开发效率在短期内下降。

Assembling software is not like assembling a car. In software development, resources are generally fixed because adding more people to a project doesn’t make it go faster.

组装软件不像组装一台车。在软件开发中,资源一般情况下是固定的,因为添加更多的人并不能使开发进展得更快。

On a Waterfall project, scope and time are also fixed, which often creates a nearly impossible situation.

在瀑布流项目上,规模和时间也被限制往往会造成一种不切实际的情况。

If scope, time, and resources are all fixed then what’s left to flex?

如果规模、时间和资源全都限制了,那还剩下什么弹性呢?

Developers know the answer to this question because they often find themselves in this situation.

开发者知道这个问题的答案,因为他们自己就常常陷入这种情况中。

When all three sides of the iron triangle are fixed the only thing that can flex is the quality of their own work — and this is the one thing that developers must not compromise on.

当铁三角中的三个角都被固定时,唯一能牺牲的就是他们的工作质量—而这件事是开发者们绝对不应该妥协的。

As we start cutting corners and rushing we start making little mistakes that cluster into big mistakes that cost considerable time (and therefore money) to find and fix.

当我们开始偷工减料并仓促完成,就会开始犯小错误,然后堆积成大错误,然后花更多的时间(和开支)来查找并修复这些错误。

Teams very quickly get on a downward spiral that puts them in a reactive rather than proactive development environment.

团队很快进入一个恶性循环,使得他们置身于一个被动而非主动的开发环境中。

A real and sincere effort toward quality software has been the hallmark of every highly productive team I’ve ever seen.

为高质量软件切实而纯粹地努力是我所见的每一个高效团队共有的特性。

原文地址 by David Bernstein · May. 06, 16 · Agile Zone 翻译 KumaT  2016.5.18(如有纰漏恳谢指正)

时间: 2024-11-05 00:42:07

【翻译】铁三角(规模、时间和资源的限制)并不适用于软件开发的相关文章

我是如何用半年时间工资提高四倍的?软件开发

人的受教育程度,一定程度上决定着人的生存和生活方式,接受贾愉悦差的人生活方式越简单,甚至只能停留在谋生.糊口的阶层:或者过着物质富有,而精神空虚,生活没有品位,生活属于那种残缺不全的.生命的旅程是一种残疾型的. 受教育程度差的人处于求生的本能,又不心甘情愿被社会边缘化,却又不得不面对,其中相当一部分人,用夸张的发型.劣质的地摊"时髦货"装点自己,表面上看他们一样拥有现代生活的标志性东西,如手机.时尚的服饰等,但绝大多数属于山寨货,他们的举止就是其受教育程度的标签,手里拿着时髦的手机,不

《Programming WPF》翻译 第6章 2.资源与样式

原文:<Programming WPF>翻译 第6章 2.资源与样式 WPF的样式机制以来于资源体系来定位样式.正如你在第5章看到的,样式在元素的资源片段中定义,而且样式通过其名字被引用,正如示例6-18所示: 示例6-18 <Window x:Class="ResourcePlay.Window1" Text="ResourcePlay"     xmlns="http://schemas.microsoft.com/winfx/ava

关于产品规模与快速软件开发关系的疑惑

产品规模是对开发进度影响的最大的一个因素. 本书中作者提到产品规模减小一半,通常会使开发时间缩短三分之二. 作者同时也提到可以通过只开发最必要的部分来减小产品规模. 这里我产生了一个疑问. 是否应该为了产品的开发速度而牺牲产品的规模. 通过网络可知,加快产品开发的好处基本不会多余以下两点: 加速产品开发可获得两方面的优势,即战略优势和操作的优势. 而最近有个产品快速开发的经典失败案例:叮咚社区. 叮咚社区获得了天使基金一亿人民币的投资.在产品还存在非常多可以完善的方面的时候就推出了产品,并且进行

高质量,高效率的多国语言软件开发(Web/PC/Mobile),使用接口约束/调用不同语言资源

偶然间翻出了几年前写的一个小程序,把当时的资料整理整理分享一下. 当时为了给自己的软件实现多国语言功能,而开发的辅助工具:SE String Resource. 这是当时基于自己另一款 IDE 软件抽取的框架而开发的,并不是很复杂. 以下资料根据当时的记录整理,难免错漏,请见谅. SE String Resource 是一款辅助多国语言软件开发的实用工具,根本目的在于通过生成接口来约束不同语言资源的实现,使开发人员可以基于接口调用资源,多语言开发时不但对语言资源的可控性好,并且省时省力.除此之外

闲谈:价值、服务、时间、用户体验、美、过度开发

http://bbs.ngacn.cc/read.php?tid=12529195 巨人转身慢:百度被AT拉开差距 AI像是一场赌局 关于这则新闻的评论里,百度被喷的体无完肤.被诟病的主要被集中在"无德"方面. 作为一家公司,在市场上生存下去并赚钱,是天经地义的. 公司和用户,是互相依存的,用户是公司生存下去的基础,公司之间互相竞争,为用户提供服务. 当公司发展过程中,因为各种内因外因,不能为用户提供满意的服务了,那么用户第一阶段是满腹牢骚,第二阶段就是人去楼空(等到人家不骂你了,你就

提升效率,减少时间和资源的消耗

尽量用最少的文字描述清楚问题. 事情起因是这样的: 要做遥控小车的平台迁移,STM32开发板无法方便地供电,因此又拿出了尘封的51(STC89C52RC),搭配上最小系统板就可以用排针加杜邦线供电了. 测试的时候出了点问题,51开发板上用作显示的数码管会闪动,而在逻辑正确的情况下是不会出现这个情况的(后来发现数码管的位选段选信号有点小问题).在排查过程中,一步一步找到了中断处理程序. 51一共有5个中断源,其中有2个定时器中断T0 T1,2个外部中断,1个串口中断.52比51多一个定时器中断T2

原文翻译 Android_Develop_API Guides_Animation Resources(动画资源)

英文原文:http://developer.android.com/guide/topics/resources/animation-resource.html#Property 一个动画资源可以使用如下两种动画类型的一种来定义:Property Animation    通过 Animator 获得到的一系列的时间集来改变一个对象的属性值创建的动画.View Animation    通过视图动画框架,这里有两种类型的动画你可以定义.    ·Tween animation(补间动画) : 通

Oracle清除数据库中长时间占用资源的非活动的会话

1.启动资源计划 alter system set resource_limit=true scope=spfile; 2.设置非活动回话十五分钟断开,释放资源 alter profile default limit idle_time 15; 3.  清楚非活动的进程 (没10分钟发送检测包) $ORACLE_HOME/network/admin 添加 SQLNET.EXPIRE_TIME=10; SELECT SID, SERIAL#,MODULE, STATUS FROM V$SESSIO

【krpano】krpano xml资源解密(破解)软件说明与下载(v1.2)

欢迎加入qq群551278936讨论krpano技术以及获取最新软件.  百度云下载:http://pan.baidu.com/s/1qYkpQyw 版本更新说明: 1.最新版本的解密工具合并了三种模式(详见http://www.cnblogs.com/reachteam/p/5441633.html),用户无需手动切换模式了,软件会自动识别输入的是网址,密钥,还是krp字符串. 2.并添加了js解密模式(无需输入krp字符串) js模式使用说明:只需要找到含有"krp:"字符串的js