人月神话阅读笔记02

书中提出了外科手术式的团队组织,在软件开发组织上过分的民主,往往带来的是没有效率和责任,参与其中的人想法太多,层面参差不齐。所以,软件开发的组织,应该借鉴外科手术式的团队方式,有一个主要的负责人,其他人都是分工协作的副手,这样效率最好,结果最好。在这样的一个团队里,交流就像是润滑剂,保证各个部件的协调,大道至简。小型、精干队伍是最好的。这一点在软件工艺和极限编程里都得到了充分的体现。

概念完整性是系统设计中最重要的考虑因素。为了获得概念完整性,设计必须由一个人或者具有共识的小型团队来完成。对于非常大型的项目,将设计方法、体系结构方面的工作与具体实现相分离是获得概念完整性的强有力方法。纪律、规则对行业是有益的。外部的体系结构规定实际上是增强,而不是限制实现小组的创造性。体系结构、设计实现、物理实现的许多工作可以并发进行。

在系统设计中,概念完整性应该是最重要的考虑因素。也就是说,为了反映一系列连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统,哪怕它们其实包含着许多很好的设计。

以易用性作为目标,功能与理解上复杂程度的比值才是系统设计的最终测试标准。单是功能本身或者简洁都无法成为一个好的设计评判标准。

外部的体系结构规定实际上是增强,而不是限制实现小组的创造性。

整个创造性的活动包括了三个独立的阶段:体系结构(architecture)、设计实现(implementation)和物理实现(realization)。是在实际情况中,它们往往可以同时开始和并发地进行。

问题:读完这些,我了解到,软件开发应该有组织的有明确分工的开发,这样的效率是最高的,即所谓的外科手术团队式的开发模式。

原文地址:https://www.cnblogs.com/jmdd/p/11068970.html