《人月神话》阅读笔记(3)

   对于效率和概念的完整性来说,最好由少数干练的人员来设计和开发,而对于大型系统,

则需要大量的人手,以使产品能在时间上满足要求。如何调和这两方面的矛盾呢?建立怎

样的组织架构是项目成功的关键。第三章作者提到了Mills的提议“大型项目的每一个

部分由一个团队解决,但是该队伍以类似外科手术的方式组建,而并非一拥而上”。即提

倡外科手术式的团队组织:就是一个主治大夫,其他的如助理大夫,护士等,都是配合主

治大夫来进行手术。在软件开发组织上的过份民主,往往带来的是没有效率和责任,参与

其中的人想法太多,层面参差不齐。所以,软件开发的组织,应该借鉴外科手术式的团队

方式,有一个主要的负责人,其他人都是分工协作的副手,这样效率最好,结果最好。

  外科手术这一章节其实比较简单,但是这个比喻可以说是很形象了。外科手术队伍的目的是

为了提高整体效率,要达到这个目的就需要分清主次,由外科医生和副手主体人员复制解决问

题和保持概念完整性。

《人月神话》Brooks一直强调概念完整性的重要性。概念的完整性,是指针对于一个领域,不

仅了解该领域的所有对象,并且了解所有对象之间的关系。概念不完整,就在开始注定一个软

件项目要失败了。概念不完整,换言之,就是,始终都没有搞明白问题域有那些对象,各个对

象之间是什么样的联系。而概念的完整性,是建立在已经完全了解领域的对象及对象之间的关

联。这种完全了解,并不是感性地了解,而是理性地了解。保证概念的完整性,一方面需要设

计人员具备良好的经验。同时,不要尝试着去将所有人的意见都融入其中。概念完整性是系统

设计中最重要的考虑因素。软件项目的核心概念要由很少的人来完成,以保证概念的完整性。

少就是多,项目的定位需要和功能多少的权衡。太多的想法,使项目没有焦点,什么都要放进

去,结果什么都做不像。

最后就是软件开发过程中必要的沟通手段。软件开发中最大的风险往往不是技术的缺陷,而是

缺少沟通。工作人员之间需要沟通确定任务分工,老员工需要花时间跟新员工交流清楚工作内

容,程序员更是需要与客户做好沟通,、外科医生和副手是核心保证高度的概念完整性,跟传

统按生命周期阶段来分角色的团队相比,我们可以看到一个显著的差别就是流水线式的沟通方

式朝扁平的总线式沟通方式转化。这种方式沟通更加高效,同时概念完整性更加容易保证,当

出现冲突的时候外科医生具有绝对的权威。

以上便是我对人月神话第三章外科医生的理解与感悟。

 

猜你喜欢

转载自www.cnblogs.com/Evak/p/10369252.html