读书笔记-人月神话(2)

外科手术队伍

面对大型项目,不得不思考如何整合几百人的团队。薪水差二倍的工程师工作效率可差十倍,且与经验无关。小团队的成员间的沟通成本会比大团队少很多,在效率和概念的传达也更优,而在大项目和时间要求上小团队又不足面对。
外科医生-副手团队:
外科医生:对整个系统的开发设计者,需要天赋、经验以及应用数学。副手:经常与外科医生沟通,对系统的熟悉程度仅次于外科医生,作为替补。管理员:具体负责团队的财务、法律和人事。编辑:负责按外科医生的草稿编写所有文档。两个文秘:分别配合管理员和编辑。程序职员:这是离物理机最近的人,管理软件版本、输入与输出。工具维护人员:负责检查和开发基础依赖和公共库。测试人员:负责单测和计划的测试。语言专家:充分熟悉当前开发语言,能使用语言特性解决一些问题。

贵族专制、民主政治和系统设计

在修缮某些教堂的过程中,建筑师和时代特色会使一个教堂出现“混搭”。软件系统开发则是因为空间上拆分任务,不同的开发者可能损害系统完整性。
易用性:功能复杂度与理解难度的比值。单纯追求复杂和简洁的衡量标准都不均衡。简洁是系统体量的描述,直白是使用一致性的描述。设计的一致性和概念的完整性使得用户使用时不会有“混搭”的感觉。
团队合作上可以采用“专制”,概念和设计由少数设计者实现,兼顾创造性的想法能够得到好的讨论(局部想法须符合整体概念)。
为了填充等待时间让实现人员参与概念设计,在时间和质量上都会更糟。在系统功能的外部说明有了雏形后,系统结构、设计实现和物理实现的设计工作可以并行开始。这种开发模式使系统反应少数人的想法,概念一致性得到贯彻,而且垂直的工作划分会更节省人力,提升效率。

你可能感兴趣的:(读书笔记-人月神话(2))