第11章组织民主制程序员组11
1主程序员组11
2现代程序员组11
3软件项目组11
5第一页,共五十一页
1民主制程序员组有两种极端方法可用来组织程序员组,这两种组织方法分别称为民主制程序员组和主程序员组
本节介绍民主制程序员组,下节介绍主程序员组
构成民主制程序员组的基本概念是“无私编程”
第二页,共五十一页
必须改变评价程序员价值的标准,每名程序员都应该鼓励该组其他成员找出自己编写的代码中的错误
不要认为存在错误是坏事,而应该认为是正常的事情,应该把找出模块中的一个错误看作是取得了一个胜利
第三页,共五十一页
任何人都不能嘲笑程序员所犯的编码错误
程序员组作为一个整体,将培养一种平等的团队精神,坚信“每个模块都是属于整个程序员组的,而不是属于某个人的”
一组无私的程序员将构成一个民主制程序员组
第四页,共五十一页
民主制程序员组的一个重要特点是,小组成员完全平等,享有充分民主,通过协商做出技术决策
因此,小组成员间的通信是平行的,如果一个小组有n个成员,则可能的通信信道有n(n-1)/2条
第五页,共五十一页
一般说来,程序设计小组的规模应该比较小,以2~8名成员为宜
如果项目规模很大,用一个小组不能在预定时间内完成开发任务,则应该使用多个程序设计小组,每个小组承担工程项目的一部分任务,在一定程度上独立自主地完成各自的任务
第六页,共五十一页
系统的总体设计应该能够保证由各个小组负责开发的各部分之间的接口是良好定义的,并且是尽可能简单的
第七页,共五十一页
小组规模小,不仅可以减少通信问题,而且还有其他好处
例如,容易确定小组的质量标准,而且用民主方式确定的标准更容易被大家遵守;组员间关系密切,能够互相学习等
第八页,共五十一页
民主制程序员组通常采用非正式的组织方式,也就是说,虽然名义上有一个组长,但是他和组内其他成员完成同样的任务