标签:
在《梦断代码》这本书中,瑞蒙德的《大教堂与集市》提出了两种开发软件的方式,一种是大教堂模式:重要的的软件需要像建教堂一般,由独立的巫师或一对相互隔离的魔法师潜心打造,在面世之前绝不发布beta版本,另一种是菜市场方式:早发布、多发布、权委托、尽开放。看似一个乱哄哄的大集市,铺陈了各种日程和手法,要从中得到前后一致和稳定的系统,简直只能指望奇迹出现。可事实上,这种集市风格看来行之有效。这篇论文展示了开放集市如何能够融大群程序员之智慧于一炉,且不触及布鲁克斯法则的铁律,但却无法说明开源方式是否更易预测开发新程序的时间,或者加速软件面世的进程。
书中所说:"好的程序员懂得写什么,卓越的程序员懂得改写并复用什么,若能取之于现有,程序员绝不肯创之于本无"。我深受同感。现如今许多软件大都是在其他软件的基础上开发出来的。正如牛顿所说:"我之所以成功,是因为我站在巨人的肩膀上"。开放源代码使得程序员们能够不断创造和改进软件。开源本身,即让程序员学习和扩展代码的可能性。瑞蒙德之洞见,更多地体现于看到互联网和托瓦茨式的领导方式在让接触源代码更具有价值方面的重要性。
这本书主要讲解了开源软件项目-chandler的失败案例,该项目一开始就被寄予厚望,但最终还是摆脱不了失败的命运。作者在这个项目中给我们许多关于失败的教训,启发了我们的思维,也证实了书中所言"软件难做"。从这个项目里可以反思到其他的软件项目。其中漫无边际的需求是导致失败的原因之一。chandler起初本身是一个个人信息管理器,它的功能包含邮件,地址簿等等。像这种功能,微软的outlook已经做到了。所以,为了使它更与众不同,不断地引入了新的需求,使得后来越做越乱,进入了深深地无底洞中。所以在做软件时,必须确定软件需求,一旦确定便不能再更改。这样才能在规定的时间内交付软件。
标签:
原文地址:http://www.cnblogs.com/houtaoliang/p/4394679.html