继续人月神话的阅读学习,这一次看一个新的章节——外科手术队伍。

1483_人月神话阅读笔记_外科手术队伍_架构师

1483_人月神话阅读笔记_外科手术队伍_人月神话_02

效率高的人在开发的速度上,兴许能够比普通的人快不止一个数量级才对。在之前看过的RMS的故事中可以看得出来RMS的战斗力,兴许别人眼中的优秀人员是一个10X的程序员,而他则是一个100X的高手。

我在编程人生中看到过一个观点,一个高效的软件开发团队最好是5个人以内,这样能够实现很高效的配合。这里出现的这个描述,看起来也有类似的考虑。

1483_人月神话阅读笔记_外科手术队伍_软件开发_03

但是,对于这种精干的小分队来说,可能开发大型的项目的时候会出现效率低下的问题。因此,在效率以及人员投入上需要找到一个平衡点,让这个平均效率有效发挥的同时保证开发的推进速度。

1483_人月神话阅读笔记_外科手术队伍_软件开发_04

如果解决大型项目中,精干小组不适用的问题,还可以采用另外的方式:那就是把大型的项目进行一定程度的拆分。

一个高效的小组,应该如何来构成。首先得有一个外科医生,这个是这个团队的灵魂人物,需要比较高的天分、丰富的经验以及广博的只是。另外,还得有一个人做的扶手帮他打打配合。

1483_人月神话阅读笔记_外科手术队伍_人月神话_05

管理员的角色,或许在国外的文化氛围中非常重要,我们现在的一些环境下可能也会有体现。不过,通常来说在项目实施中,这种因素不是主要的关注点。

关于文档处理的角色,在我看到的团队中一般叫做系统工程师。而这样的工作角色其实也应该分为两层,这的确是有一定的作用的也是非常合理的。

1483_人月神话阅读笔记_外科手术队伍_人月神话_06

工具的选择以及开发会有很多可能性,最终工具是否适合的评判标准是外科医生,也就是架构师的角色。测试人员负责相关的测试以及测试环境的部署。

语言专家我觉得可能是实力雄厚的团队才会拥有的,但是有这样的角色存在肯定会让这个团队的整体能力有一定的提升。

1483_人月神话阅读笔记_外科手术队伍_人月神话_07

尽量确定关键环节中的决策人物,表面没有必要的纠纷。

1483_人月神话阅读笔记_外科手术队伍_人月神话_08

工作的分解技术并不是分解的越细致越好,而是应该把相应的工作分解到与当前的团队相匹配。这样,比较大的项目就可以通过灵活的拆解之后分而治之。

1483_人月神话阅读笔记_外科手术队伍_人月神话_09

设计上如果考虑管理以及接口的清晰以及容易维护,把一部分的工作做成标准化会是很好的手段。因此,针对现在我接触到的工作,能够明确这种标准化并且使用标准化的用法会是很好的实践尝试。