无私编程 必须改变评价程序员价值的标准,每名程序员都 应该鼓励该组其他成员找出自己编写的代码中的 错误 ■不要认为存在错误是坏事,而应该认为是正常的 事情,应该把找出模块中的一个错误看作是取得 了一个胜利 ◆员组作为一个整体,将培养一种平等的团队精神, 任何人都不能嘲笑程序员所犯的编码错误。程序 坚信“每个模块都是属于整个程序员组的,而不 是属于某个人的”。 组无私的程序员将构成一个民主制程序员组
无私编程 ◼ 必须改变评价程序员价值的标准,每名程序员都 应该鼓励该组其他成员找出自己编写的代码中的 错误。 ◼ 不要认为存在错误是坏事,而应该认为是正常的 事情,应该把找出模块中的一个错误看作是取得 了一个胜利。 ◼ 任何人都不能嘲笑程序员所犯的编码错误。程序 员组作为一个整体,将培养一种平等的团队精神, 坚信“每个模块都是属于整个程序员组的,而不 是属于某个人的” 。 ◼ 一组无私的程序员将构成一个民主制程序员组
民主制程序员组的特点 民主制程序员组的一个重要特点是,小组成员完全平 等,享有充分民主,通过协商做出技术决策。 小组成员间的通信是平行的,如果一个小组有n个成员, 则可能的通信信道有n(n-1)/2条。 般说来,程序设计小组的规模应该比较小,以2~8 名成员为宜。 如果项目规模很大,用一个小组不能在预定时间内完 成开发任务,则应该使用多个程序设计小组,每个小 组承担工程项目的一部分任务,在一定程度上独立自 主地完成各自的任务。 ■系统总体设计应该能够保证由各个小组负责开发的各 部分之间的接口是良好定义的,并且是尽可能简单的
民主制程序员组的特点 ◼ 民主制程序员组的一个重要特点是,小组成员完全平 等,享有充分民主,通过协商做出技术决策。 ◼ 小组成员间的通信是平行的,如果一个小组有n个成员, 则可能的通信信道有n(n-1)/2条。 ◼ 一般说来,程序设计小组的规模应该比较小,以2~8 名成员为宜。 ◼ 如果项目规模很大,用一个小组不能在预定时间内完 成开发任务,则应该使用多个程序设计小组,每个小 组承担工程项目的一部分任务,在一定程度上独立自 主地完成各自的任务。 ◼ 系统总体设计应该能够保证由各个小组负责开发的各 部分之间的接口是良好定义的,并且是尽可能简单的
民主制程序员组的特点 小组规模小,不仅可以减少通信问题,而且还有其他 好处。例如,容易确定小组的质量标准,而且用民主 方式确定的标准更容易被大家遵守;组员间关系密切, 能够互相学习等 民主制程序员组通常采用非正式的组织方式,也就是 说,虽然名义上有一个组长,但是他和组内其他成员 完成同样的任务。在这样的小组中,由全体讨论决定 应该完成的工作,并且根据每个人的能力和经验分配 适当的任务。 为了使少数经验丰富、技术高超的程序员在软件开发 过程中能够发挥更大作用,程序设计小组可以采用主 程序员式的组织形式
民主制程序员组的特点 ◼ 小组规模小,不仅可以减少通信问题,而且还有其他 好处。例如,容易确定小组的质量标准,而且用民主 方式确定的标准更容易被大家遵守;组员间关系密切, 能够互相学习等。 ◼ 民主制程序员组通常采用非正式的组织方式,也就是 说,虽然名义上有一个组长,但是他和组内其他成员 完成同样的任务。在这样的小组中,由全体讨论决定 应该完成的工作,并且根据每个人的能力和经验分配 适当的任务。 ◼ 为了使少数经验丰富、技术高超的程序员在软件开发 过程中能够发挥更大作用,程序设计小组可以采用主
主程序员组 ■美国IBM公司在20世纪70年代初期开始采 用主程序员组的组织方式。采用这种组 织方式主要出于下述几点考虑: ■软件开发人员多数比较缺乏经验; 程序设计过程中有许多事务性的工作,例如, 大量信息的存储和更新 多渠道通信很费时间,将降低程序员的生产
主程序员组 ◼ 美国IBM公司在20世纪70年代初期开始采 用主程序员组的组织方式。采用这种组 织方式主要出于下述几点考虑: ◼ 软件开发人员多数比较缺乏经验; ◼ 程序设计过程中有许多事务性的工作,例如, 大量信息的存储和更新; ◼ 多渠道通信很费时间,将降低程序员的生产 率
典型的主程序员组 Baker描述的一个典型的主程序员组 由主程序员、后备程序员、编程秘书以及1~3名程 序员组成 在必要的时候,该组还有其他领域的专家(例如, 法律专家,财务专家等)协助 编程秘书 主程序员 后备程序员 程序员 程序员 程序员
典型的主程序员组 ◼ Baker描述的一个典型的主程序员组 ◼ 由主程序员、后备程序员、编程秘书以及1~3名程 序员组成 ◼ 在必要的时候,该组还有其他领域的专家(例如, 法律专家,财务专家等)协助