介绍
开发组织采用什么形式组织,不仅要考虑软件项目的特点,还需要考虑参与人员的素质。
组织原则
有以下3条:
尽早落实责任。要尽早指定专人负责
减少交流接口。组织的生产率随着通信路径数目的增加而降低。
责权均衡。管理人员承担的责任不应比赋予他的权利还大。
组织结构的模式
根据项目的分解和过程的分解,软件项目可以有以下多种组织形式:
按项目划分的模式:将开发人员组织成项目组,共同完成该项目
按职能划分的模式:按职能将项目的参与者组织成相应的 专业组,如:开发组(可进一步分为需求分析组、设计组、编码组)、测试组、质量保证组、维护组等。
矩阵模式:上述两种模式的组合,既按职能组织相应的专业组,又按项目组织项目组。每个软件人员既属于某个专业组,又属于某个项目组。每个软件项目指定一个项目经理,项目中的成员根据其所属的专业组的职能承担项目的相应任务。
程序设计小组的组织方式(开发组)
指从事软件开发活动的小组,有以下3种不同的组织形式:
主程序员制小组
由一名主程序员、若干名程序员、一名后援工程师和一名资料员组成。主程序员通常由高级工程师担任,负责小组的全部技术活动,进行任务的分配,协调技术问题,组织评审,必要时也设计和实现项目中的关键部分。
沟通成本
沟通路径:n-1
民主制小组
成员之间地位平等,虽然形式上有一位组长,但小组的工作目标和决策都是由全体成员决定的,互相合作
缺点:通信路径较多
沟通成本
沟通路径:
1+2+3+..+(n-3)+(n-2)+(n-1)=(1+n-1)*(n-1)/2 = n(n-1)/2
解释:根据高斯定理:
(第一个数 + 最后一个数) * 数量 / 2
- n个人,线的数量是n-1
- 第一个数:1
- 最后一个数:n-1
- 线数量:n-1
层次式小组
组织形式是一名组长领导若干名高级程序员,每名高级程序员领导若干名程序员。组长通常就是项目负责人,负责全组的技术工作,进行任务分配,组织评审
题
在进行软件开发时,采用无主程序员的开发小组,成员之间相互平等;而主程序员负责制的开发小组,由一个主程序员和若干成员组成,成员之间没有沟通。在一个由8名开发人员构成的小组中,无主程序员组和主程序员组的沟通路径分别是( )
A、32和8
B、32和7
C、28和8
D、28和7
答
D

