读书笔记--人月神话之概念完整性
概念完整性
在系统设计中,概念完整性应该是最重要的考虑因素。也就是说,为了反映一系列连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统,哪怕它们其实包含着许多很好的设计。概念完整性要求设计必须由一个人,或者非常少数互相有默契的人员来实现。
贵族和民主
- 难道设计师结构师是新贵,它们是一些智力精英,专门来告诉可怜的实现人员如何工作?
这个问题无法回答是或否,只能说对少数的结构师而言,答案是肯定的,他们工作产物的生命周期比那些实现人员的产物要长,并且结构师一直处于在解决用户问题,实现用户利益的核心位置。若要系统概念上 完整性,必须有人控制这些概念。实际上是一种无需任何歉意的贵族专治统治。
- 是否所有的创造性工作都被这些精英所独占,实现人员仅仅是机器中的齿轮?
这个明显是否命题,外部技术说明的编制工作并不比具体设计实现更富有创造性,它只是一项性质不同的创造工作而已。在给定的结构下实现其设计,通用需要编制技术说明一样的创造性、同样的思路和卓越的才华。实际上,产品的成本性能比在很大程度上依靠实现人员,就如同易用性在很大程度上依赖于结构师一样。
- 难道不该遵循民主,从所有员工中收集好的创意,以得到更好的产品。
我不认为只有结构师才有好的创意,新的概念往往来自于实现人员或用户。然而,系统概念完整性决定了其使用的容易程度。不能与系统基本概念进行整合的良好想法和特色,最好放到一边,先不考虑。如果出现了非常多重要但不兼容的构想,就应该抛弃原来的设计,对不同概念进行合并,在合并后的系统上重新开始。
失败原因
- 整个开发过程中没有一个真正的产品负责人,或称总设计师,用于负责产品的整体结构设计、各模块的交互设计、功能设计和实现方案取舍。
- 这个人必须十分了解整个产品及设计方案,他可以不写代码,因为维护整个产品设计方案的工作贯穿于开发全过程,工作量很巨大。他就是维护产品概念完整性的那个人。