第一章——死定了
布鲁克斯法则:“向已延误的项目中补充人力,只会使其继续延误。”对于软件而言,项目各有差异、工具不断升级,每当团队中加入一个新组员,老组员就得放下手下的工作,帮助新组员进入角色。就如IBM System/360主机操作系统的打造过程,该系统是当时规模最大的软件项目。那台巨大而昂贵的大型计算机,本应是后来二十年中生意场上的中流砥柱,但它的孕育和诞生却饱受延误和成本超支之苦。在深受进度罗睺之困时,不断招募新程序员参与项目,如同李将军(美国南北战争中的南军领袖)“派遣一个又一个旅团进攻墓园山脊”——结果发现后援力量非但不能挽救项目,而且让项目变得更糟糕。
软件公司售卖二进制文件,因为这样能够保护保密。比如,微软在售卖软件时,仅会出售二进制文件,即通过编译器,将Java或C或C++等语言编写的代码,将其翻译成机器语言。程序源代码是商业软件公司最重要的资产,知识产权法规的柏林墙保护着这些财宝。
瑞蒙德是从托瓦茨的工作中 看到超越布鲁克斯法则的第一人——这是一种新的软件开发模式,可集众程序员之长,且免于 让项目深陷泥潭。瑞蒙德指出其中两个要诀:第一,低成本、广泛地接入向互联网那样的网络,让开发者之间能建立迅速、可信的沟通渠道,存储可被开放访问的共享知识和代码池;第二,围绕一种领导方式——如托瓦茨那样的方式——形成合作团队的良好风气,欢迎新人进入、鼓励成员作出贡献,同时尽可能增加合格成员。瑞蒙德写道,一旦具备这些条件 ,就能彻底改进在程序中寻找和修正缺陷的过程。与其害怕竞争对手窃取代码而秘不示人,不如将其展现给全世界,邀请同道加入。而且,加入你独具魅力,且懂得如何管理一群开发者,或许还能 组织起自循环的集智系统。
· “李纳斯法则”——只要有足够多的Beta测试人员和开发者队伍,几乎所有问题都会很快被发现,而且总有人知道该怎么修复。或者不用太正式的说法,‘眼球足够多,缺陷无处躲’。
以前怎么做:
在开发过程中总是一个人做,其他人都不会太过关注,这样一个人开发出来的代码就会有错误,但是由于自己的代码书写习惯而自己不能发现自己的错误,但团队其他人也不会去指正,就这样一直的错下去了
结合课本:
团队成员之间的互帮互助是团队开发的基本要求,在每个人都各司其职的同时又互帮互助是以一个团队活力的表现,这样团对才会长久的活下来
解决办法:
团队每增加一个新的成员,都应该很快的融入这个团队之中,团队的其他成员也要帮助新成员快速融入集体,比如一起做一些增加团队意识的活动