在软件项目的开发过程中,拥有一支有能力、有经验的软件技术开发队伍无疑是项目开发成功的重要保障。但人员组织形式和配置方法的不得当,往往也会影响到项目开发的进度乃至质量。如有的项目工期长,项目人员工作量不饱满,使开发成本增高、项目效益降低;有的项目工期短,项目组人员配置不足,造成开发人员长期加班加点。因此,确立一套完整、科学、可操作的工作方法,对项目开发的人员构成、组织结构、人数安排等进行合理的配置,是大中型开发项目在开发最初阶段必须考虑的重要问题。
倪显利
档、源代码、数据及所依附的各种磁介质;规范并收集软件开发过程中的数据和可重用软件,对其进行分类并提供检索机制;协助软件开发小组准备文档,对项目中的各种参数,如代码行、成本、工作进度等进行估算;参与小组的管理、协调和软件配置的评估。
(#)软件工具员。负责软件开发、测试等工具的收集、准备和保管。
($)软件配置员。负责软件项目的程序、文档和数据的各种版本控制,保证软件系统的一致性与完整性。
(%)设计开发人员。负责软件设计、代码编写与调试工作。
(&)软件测试员。人数与开发人员相当,负责软件测试及测试结果的整理。
(’)编辑。负责软件各类文档资料的撰写和编辑工作。
(()律师。负责对软件界面、文档资料进行审查,为防止版权冲突提供法律咨询。
!\"项目组的人员构成
在规模化、产业化的软件开发企业中,开发分工日趋细化,工种及人员角色较为明确,如微软公司就配置了产品规划人员、产品管理人员、项目管理人员、产品设计人员、可用性评估人员、软件开发人员、软件测试人员、软件本地化人员、文档发布人员、产品支持人员和运营管理人员等不同角色。
在具体的产品开发过程中,我们可以根据软件功能与特性将软件开发人员划分成若干个开发小组。小组成员可细分为以下几种。
(!)秘书。主要负责维护和管理软件配置中的文
#\"软件开发人员的组织形式
由于软件开发人员的个人素质与能力各不相同,应对软件开发人员进行合理分工,充分发挥每个人的特长。同时,软件开发的组织结构应与软件项目开发模式、
中国金融电脑!\"\"#年第#期·12
科技管理$%&’()*)+,-.(.+%/%(0决策支持软件产品的结构相对应,达到软件开发方法、工具与人的统一,降低对软件开发过程进行管理与质量控制的复杂性。对软件开发人员可以按照树形结构进行组织。树的根是软件项目经理和项目总技术负责人,可由一个人或一个小组担任。树的结点是程序员小组。为了便于项目管理,树的结点每层不超过)个,并在此基础上尽量降低树的层数。程序员小组可以按主程序员进行组织,由主程序员负责小组全部技术活动的规划、协调和审查。小组的其他成员*如后备工程师,是主程序员的助手,必要时可以代替主程序员领导小组工作以保持工作的连续性;程序员负责软件的分析和开发。软件开发小组还可以根据任务需要配备数据库设计人员、远程通信专家等专业人员。小组人数应视任务大小和开发时间而定,一般为+,&人。为降低系统开发过程的复杂性,软件开发小组内部和小组之间应经常交流,互通信息,避免因软件中的个人特征而影响软件质量。程序员小组之间和小组内程序员之间的任务界面必须清楚并尽量简化。如微软公司的编程人员共分为&个等级,最高等级只有&人,-./0123加大量的程序员和软件测试员。到测试阶段结束时,软件项目开发人员的数量也达到了顶峰。图!表示了一个软件工程项目中技术人员和管理人员在不同阶段的需求情况。从图中可以看出,人员分配在整个项目的开发过程中不是一成不变的,这与目前大多数小组始终如一的人力结构和分配模式有较大差别。根据项目性质的不同,在一个完整的项目周期中的不同阶段,可以按照表!的标准进行人员配置。表!开发人员在项目各开发阶段的分配比例占项目开发总人数的比例\"#$项目阶段可行性分析阶段需求分析、概要设计和详细设计阶段编码和功能测试阶段整体测试阶段运行阶段!%!&’%(%&美国著名学者789/:;在估算软件开发工作量时得出了软件开发项目的工作量!与交付时间\"0的(次方成反比,并由此得出了软件开发的权衡定律:在时间允许的情况下,适当减少人员会提高工作效率,降低软件开发成本。曾担任<=>公司操作系统项目经理的?6“向一个已经=@11A3也从大量的软件开发实践中发现:延期的软件项目追加开发人员,可能使项目完成得更45、-./0123+%%%操作系统的核心开发队伍只有!%人左右。内核程序由核心人物亲自编写,而提供软件开发工具的队伍则多达+%%%人,编写各种程序模块的外围编程人员也有!%%%多人。’6人力分配与人数的确定软件项目的开发实践表明,软件开发各阶段所需要的技术人员类型、层次和数量不同。软件项目在计划与分析阶段需要的人数较少,但该阶段决定和影响着项目的生存和实施,应主要由从事软件系统可行性论证的项目高级管理人员、系统分析员以及参加概要设计的高级程序员组成。进行概要设计时,要增加一部分高级程序员和软件配置员。详细设计时,要增加高级程序员和程序员。在编码和测试阶段还要增1!·中国金融电脑
!\"\"#年第#期
决策支持科技管理$%&’()*)+,-.(.+%/%(0!!中国金融电脑!\"\"#年第#期·11
因篇幅问题不能全部显示,请点此查看更多更全内容