[项目管理] 布鲁克斯法则

译至:http://d.hatena.ne.jp/hyoshiok/20140813/p1

虽然摩尔法则比较有名(18个月半导体的性能翻番),但与之相比布鲁克斯法则大家对之知之甚少。

http://commons.wikimedia.org/wiki/File%3AFred_Brooks.jpg *1

布鲁克斯是上世纪60年代IBM System/360的操作系统OS/360的开发负责人,这之后基于当时的经验写了人月神話一书。

这是描述大规模软件开发难度的一本划时代的书。是IT从业人员必读的一本书。如果你是软件开发人员或是项目管理者的话,姑且听我的,读一读这本书比较好。我的日记里也介绍了好几次。

先不谈人月神话的第二章,看下面的示例。有这样一个项目需要12个人月,那么3个人4个月就能完成该任务。然后,在每个月设定观测点A/B/C/D。

但是一个月就需要结束的A结果花了两个月完成。这相比于预估时已经是两个月之后了。怎么办?管理者有下面的对策。

  1. 虽然当初的估算是对的,仅仅是最初的工程弄错了。也就是说推断剩下9人月。因为有9人月的工作,两个月完成的话需要9/2=4.5人。追加两个人到这3人团队中。

  2. 当初的估算弄错了,不是12人月而是需要24人月。因为已经花了6人月的时间了剩下需要18人月。2个月完成的话,需要18/2=9人。追加6人到当初的3人团队。
  3. 重新安排任务。追加充足的时间到新的计划了。
  4. 调整工作目标。减少工作。

那么,应该采用什么方法呢。最开始的二个方法,不修改工作目标和工作进度表的话最初4个月完成目标的期望就破灭了。

假如追加2个人,这两人的培训成本,3人完成的工作用5个来做,就需要重新安排工作,这些成本没有被追加到估算中,结果的话最终期限无法完成。追加6个人的情况,这种成本加的更多。

这就是布鲁克斯法则。「追加人员到延迟的项目更会影响项目的进度」

如布鲁克斯所写的那样,无法按进度完成工作的话,只能降低工作目标作業。

这是软件产品开发中50年前发现的法则现在也是正确的。但是,几乎所有的开发者都不了解布鲁克斯法则,就算知道也不会去实践。

给延迟的项目加了就像是火上浇油。不理解这个法则的各位要好好的读一下人月神话。不管如何听我一句好好读读。作为项目管理在做决定前的共识,大家都要好好读读。推荐在此之上根据每个项目的特殊性来调整作业。

你的上司读过人月神话吗?试着问一下看看。

[项目管理] 布鲁克斯法则,布布扣,bubuko.com

时间: 2025-01-03 16:16:54

[项目管理] 布鲁克斯法则的相关文章

软件项目进度管理(含敏捷项目管理)

PMI 所定义的项目时间管理过程被分为 6 个子过程,分别是定义活动,排列活动顺序,估算活动资源,估算活动持续时间,制定项目进度计划和控制项目进度计划.这 6 个过程在项目过程中并不一定是顺序进行的,而是穿插在项目管理的整个流程中,遵循渐进明细的规律,其中前 5 个子过程时间上属于项目进度的制定,第六个过程属于项目进度的监控. 定义活动 即识别为完成项目可交付成果而采取的具体行动的过程.也就是在确定了项目的基本范围基准的基础上,将 WBS 分解为更为具体的,粒度更小的工作 item 方便落实到确

《梦断代码》第二篇总结

第4章讲述了当时技术工业处于了最低点时期,大量程序员失业,而同时在这个特殊时期OSAF获益匪浅,相继有志愿者和员工加入OSAF.软件常常涉及前台和后台,Chandler的后台工作陷入了艰难技术决定,他们需要一种“对象持久化”的机制,最简单的手段是采用另一种数据库技术,即对象数据库.各种部分的需求也越来越多,正经历一个危险时期.他们经过讨论开始了尝试,但是也遇到了很多难题.最后OSAF发布了Chandler第一个里程碑版本(其实是内部版本),虽功能很少,但是给团队成员带来了安慰和鼓励. 第5章管理

微管理——给你一个技术团队,你该怎么管

微管理--给你一个技术团队,你该怎么管(最简洁.最高效的团队管理落地实践方法,IT/互联网行业15年管理实践 + 中欧商学院EMBA经历,杨老师手把手教你如何用"微管理"打造高效团队/京东:最简洁高效的IT/互联网团队管理实践方法) 杨立东 著   ISBN 978-7-121-22886-5 2014年5月出版 定价:59.00元 236页 16开 编辑推荐 1.最简洁.最高效的团队管理落地实践方法,IT/互联网团队管理的宝典,用互联网思维打造的技术管理NO.1实战手册. 2.IT/

大话程序界+推荐书籍!

作为中国人,有着优良传统文化,在IT界中,中国的程序员也总是想着创新,专研,提高程序代码,为什么却没有想着提高自己的视野.思维和经验呢?今天,现编就来大胆一说,和推荐给各位一些程序员很有用的书籍介绍! 我大胆把程序员分为两种——工人与艺人. 工人,类似于泥瓦匠,按部就班,可以做好本职工作,但不具备创造性,在编程时也没有考虑系统的架构.各模块之间的分工等.这种人往往死守某一种语言或技术,不肯接纳新思想,也拒绝接受新的技术.其最大的特点就是,写出的代码能勉强能运行,但没有经过任何重构,代码完全是一团

人月神话有感2

关于本书,即使很多没读过的人也能说出其中知名度最高的关于人月神话的观点.之前还在知乎上看过有人举了一个例子:一个人生孩子需要十个月,两个人去生孩子同样需要十个月.这一比喻虽不完全恰当,却也大致说出点内容.事实上,作者在书中这样来描述人月神话:软件开发项目常以人月来衡量工作量,这种度量暗示着人手和时间是可以互换的.这种"人多力量大"的想法是一种一厢情愿的虚妄神话,布鲁克斯法则:向滞后的软件项目追加人手会使得进度更迟缓(Adding manpower to a late software

梦断代码

作者迷恋于一个开放代码并可以由游戏玩家更改程序的一个游戏,并为在它的基础上创新和增添一些功能而乐此不疲.我想这大抵是一个程序员开发伊始的兴趣吧. 随着科技行业的兴盛,互联网时间带来了快速发展的技术产生.公司创立.创造财富等也同时带来了程序的缺陷问题.而对软件开发者来说,则过的是时快时慢:如果灵感到了,一切顺利,则全然忘记时间,全心投入高速的开发之中.反之遇到瓶颈,则举步维艰的软件时间.软件不能像建造桥梁那样一劳永逸可以造福上百年.反而漏洞百出,麻烦不断,错误不停.带来无穷尽的改进和苦恼. 而同样

梦断代码读书笔记(一)

第0章:软件时间 作者迷恋于一个开放代码并可以由游戏玩家更改程序的一个游戏,并为在它的基础上创新和增添一些功能而乐此不疲.我想这大抵是一个程序员开发伊始的兴趣吧. 随着科技行业的兴盛,互联网时间带来了快速发展的技术产生.公司创立.创造财富等也同时带来了程序的缺陷问题.而对软件开发者来说,则过的是时快时慢:如果灵感到了,一切顺利,则全然忘记时间,全心投入高速的开发之中.反之遇到瓶颈,则举步维艰的软件时间.软件不能像建造桥梁那样一劳永逸可以造福上百年.反而漏洞百出,麻烦不断,错误不停.带来无穷尽的改

《梦断代码》读后感一

刚开始读这本书的时候,我是抱着一种读故事的方式去读的,但是慢慢读的过程中,就会发现,这并不是一本故事书,在通过每一个小故事的讲述中,讲述了软件开发的历史,每一次大变革的经验,在这次的读书过程中,我对书中的内容作了如下摘要: 1.布鲁克斯法则:往已延误的项目中补充人力,只会使其继续延误.----<人月神话>作者2.布鲁克斯发现,在实际开发中,编码只占软件项目开发时间的1/6, 有一半时间用于测试和修正缺陷.3.布鲁克斯提到,“在预估及安排项目进度上的每一分努力”都是“危险且具欺骗性的神话”. 所

《梦断代码》随笔一

阅读过程中,对那些外国的人名实在是没感觉,一个字,乱.不过在之后的阅读过程中,还是记住了一些出现频繁的名字,像布鲁克斯等. 1.记得有一段时间编程的时候,程序代码可能比较短吧,每次编程的时候出结果的时候都很有成就感,觉察不到时间的流逝.但是要是一个程序总是有错,改来改去一直有错,陷入困境.在看书的时候,更加的理解程序员为何通常都是乐天派,“愉悦是金”.进取精神对于每一个程序员都是必需的,在如今计算机发展如此之快的年代,不进步就以为退步,进取精神将成为我们的立根之本. 2.现在我们还停留在写程序的