在这里要推荐下《观止-微软创建NT和未来的夺命狂奔》,非常精彩,讲述了windows NT开发过程中的人和事。这不仅仅是故事书,也可以看做一本项目管理方面的指南,可以看看这么巨大的项目(几百万行代码)所遭遇到的难题和痛楚。我更愿意将这本书当做《人月神话》的故事版,同样是创建划时代的OS,同样是管理众多人参与的大型的项目,也同样遭遇了种种困扰和痛苦,从这个角度也可以看出,人类的痛苦的相通的:)
单纯从软件构建的角度去看这本书,可以说说我看到的东西,这些是我今天早上走在上班路上的时候想的,咳咳。
1、开发OS是烧钱的事情,NT开发接近5年,每年的花费据说在5000万美刀,那可是在90年代初期,换算成现在更是天文数字。从另一个侧面也说明了 linux系统的伟大。开发一个这么烧钱的玩意,如果没有管理层的强力支持,那么不是被砍掉,就是遭遇流产的命运,幸运的是NT团队得到了盖茨的鼎力支持,大概也只有他能这么烧钱了。Dave Culter从DEC辞职的原因也是因为管理层砍掉了他的团队。盖茨另一个做法是不干涉NT团队的开发工作,他只提出目标和期望,然后就偶尔过来看看,不对不知道的东西指手画脚,这点可不容易。
2、每日构建非常重要,NT团队的构建实验室一开始是每周构建,后来做到了每日构建。只有每日构建,持续集成,才能帮你掌控产品质量,及时发现潜在的问题。我们现在的项目使用了hudson,比CC容易配置一点,效果还不错。
3、测试极其重要,专业的测试团队对于大型项目来说尤其重要。除了测试人员之外,开发人员需要做自测,需要对自己check-in的代码负责,如果你签入的代码导致构建失败,那么Dave culter可能冲破墙壁进来,拍着桌子冲你咆哮。对check in必须做严格控制和跟踪,如果在项目的最后冲击阶段,除了showstopper级别的修正代码允许签入之外,其他的修改都不被接受。开发者和测试人员很容易存在对立,检讨自己,我对测试人员也存在偏见和某种程度上的轻视和厌烦,如果从就事论事和都是为一个目标努力的角度来说,测试和开发并不对立,两者是相辅相成,甚至于测试人员更为至关重要。
4、在一个长期而复杂的项目中,如何保持团队成员的士气也是个难事儿。软件开发归根到底是的因素是人,而非工具或者其他,关注人,其实就是在关注你的软件。鼓励士气的常见做法就是设定里程碑,在这个里程碑上发布一个重要版本,让大家看到希望,但是对于OS这样的巨型项目来说,里程碑不是那么容易设定,这从书中项目的不断延期可以看到。另外就是宽松的工作环境和假期,微软的工作环境有目共睹,能做到每个员工独立一个办公室的国内企业还没有吧。国外的开发者似乎很会玩,赛车、滑雪、空手道,其实不是我们不会玩,是我们玩不起,国内的待遇和生活压力让你想玩也玩不起。
可是就算是再好的物质待遇,其实也换不来美好生活,书中充斥着开发者对家庭和婚姻的困惑和痛苦,为了NT,他们也失去了很多,对工作过度投入的后果就是失去平衡的家庭生活,再次验证上帝是公平的,有得必有失,就看你看重的是什么。
5、开发者的效率差异是惊人的,在《人月神话》里已经说明了这一点,开发者之间的效率差异可以达到惊人的10倍,在NT这样的团队里也再次验证了这一结论。
6、投入越多的人力,并不能带来效率的提升,当NTFS文件系统的进度拖慢的时候,微软的经理们考虑添加人手,但是经过慎重的考虑还是没有加人,因为文件系统是技术活,新人很难马上投入开发,而需要老手的带领和培训,引入了更多的沟通成本和培训成本。
7、优秀的代码无法通过行数来衡量,软件某种程度上还真是魔法的产物。
8、NT的一个教训是,应该及早设定你的性能目标,并在适当时候开始关注并优化系统。NT团队后期的很大部分工作都是在优化系统性能,并缩小尺寸。
9、设定Deadline常常是不靠谱的事情,对软件开发的时间估计也常常是不靠谱的事情,这一点从NT的一次又一次的延期可以看出。延期失望的不仅仅是客户,也会打击你的团队成员,遥遥无期的开发过程容易让人崩溃。
10、NT的开发贯穿了对市场的需求的考虑,有个牛X的产品经理还是相当重要的。当然,没有开发者喜欢添加新功能,特别是在已经完成一个新功能的情况下,以至发展到NT的开发者看到产品经理就不由得拿起球棒击墙的地步:)
这本书花了我两个晚上看完,还是看故事有趣呀,上面所说只是我的印象,书中还有许多八卦故事老少咸宜,如果有出入,请看原著:) 有空还得重读下。
从NT开发过程中看到的东西
对“从NT开发过程中看到的东西”的回应
《Showstopper! the Breakneck Race to Create Windows NT and the Next Generation at Microsoft》热门书评
-
从NT开发过程中看到的东西
46有用 3无用 阿丹 2009-08-13
在这里要推荐下《观止-微软创建NT和未来的夺命狂奔》,非常精彩,讲述了windows NT开发过程中的人和事。这不仅仅是故事书,也可以看做一本项目管理方面的指南,可以看看这么巨大的项目(几百万行代码)所遭遇到的难题和痛楚。我更愿意将这本书当做《人月神话...
-
此书的翻译体会
23有用 3无用 豆豆 2009-07-10
很多人都知道微软公司,它依靠软件变得非常富有。关于微软是如何从一个只有十来个人的小公司成长起来的故事,很多人都听过。听了后,不少人都觉得它很幸运。那么除了幸运之外,微软还有什么过人之处么?很基本的问题,它是如何开发软件的呢?这个...
-
原来微软也很山寨
15有用 1无用 1-2-3 2009-09-18
副标题定为“夺命狂奔”真是很贴切。不但是狂奔,而且是一口气不喘地狂奔了接近5年。最终挺下来的人,也许值得敬佩,或者更应该得到同情,因为他们的身体、心理、家庭受到了如此多的损耗。当一切真的结束时,没有狂喜,因为盼望这一天太久了,以至于当它真的到来时,反而显得那么不真实。在Google出道前,微软是程序...
-
好多低级翻译错误
13有用 0无用 Kenny 2009-09-07
我就是一个二把刀的英文水平,随便看两眼就找出一大堆错误,比如:Cash cow --> 现金奶牛 (应该翻译为“摇钱树”)Piss off --> 朝别人撒尿(应该翻译为“惹恼了别人”)Greek -> 希腊语 (应该翻译为“天书”)Rocket Science --> 火箭...
-
不得不推荐的一本好书
7有用 0无用 TerryLee 2009-08-05
昨天收到了华章寄来的新书《观止:微软创建NT和未来的夺命狂奔》,其实这本已经算不上是新书了,15年前英文版已经上市,而在15年之后终于有机会看到中文版。本来对这样一本书我是没有多大兴趣的,我一直认为这是一本歌颂微软有多么伟大、微软是多么有远见的书,但是当我读完前面几页的时候,发现我错了,这真的是一本...
书名: Showstopper! the Breakneck Race to Create Windows NT and the Next Generation at Microsoft
作者: G·Pascal Zachary
出版社: e-reads.com
出版年: 2009-6-1
页数: 336
定价: USD 14.95
装帧: Paperback
ISBN: 9780759285781