软件公司必读:软件开发项目人员的分工与管理技巧

软件开发项目的开发实践表明,软件开发各个阶段所需要的技术人员类型、层次和数量是不同的。软件开发项目的计划与分析阶段只需要少数人,主要是系统分析员、从事软件系统论证和概要设计的软件高级工程师和项目高级管理人员。概要设计时要增加一部分高级普通软件开发人员,详细设计时,要增加软件开发工程师和普通软件开发人员,在编码和测试阶段还要增加普通软件开发人员、软件测试员。在此过程中软件开发管理人员和各类专门人员逐渐增加,到测试阶段结束时,软件开发项目开发人员的数量达到顶峰。软件运行初期,参加软件维护的人员比较多,过早解散软件开发人员会给软件维护带来意想不到的困难。软件运行一段时间以后,由于软件开发人员参与纠错性维护,软件出错率会很快衰竭,这时软件开发人员也就可以逐步撤出。如果系统不做适应性或完善性维护,需要留守的维护人员就不多了。上述人力资源安排类似下所示Rayleigh-Norden曲线。根据Putnam得出的软件开发项目开发工作量与开发时间的四次方成反比的结论,得出软件开发的人员-时间折衷定律:在时间允许的情况下,适当减少人员会提高工作效率,降低软件开发成本。F.Brooks从大量的软件开发实践中发现:“向一个已经延期的软件开发项目追加开发人员,可能使项目完成的更晚。”这从另一个角度说明软件开发宁可时间长一点,人员少一点。这样可以大大减少人员之间的通信开销,工作效率会更高些。

软件开发项目或软件开以小组可以配置若干个秘书、软件工具员、测试员、编辑和律师等到。秘书负责维护和软件配置中的文档、源代码、数据及所依附的各种磁介质;规范并收集软件开发过程中的数据;规范并收集可重用软件,对它们分类并提供检索机制;协助软件开发小组准备文档,对项目中的各种参数,如代码行、成本、工作进度等,进行估算;参与小组的管理、协调和软件配置的评估。大型软件开发项目需专门配置一个或几个配置管理人员,专门负责软件开发项目的程序、文档和数据的各种版本控制,保证软件系统的一致性与完整性。软件开发小组内部和小组之间经常交流情况和信息,以便减少误解,删除软件中的个人特征,提高软件的质量.


大型软件开发项目需要很多人的能力合作,花费一年或数年的时间才能完成。为了提高工作效率,保证工作质量,软件开发人员的组织、分工与管理是一项十分重要和复杂的工作,它直接影响到软件开发项目的成功与失败。首先,由于软件开以人员的个人素质与差异很大,因此对软件开发人员的选择、分工十分关键。1970年,Sackman对12名普通软件开发人员用两个不同的程序进行试验,结论是:程序排错、调试时间差别为18:1;程序编制时间差别为15:1;程序长度庆功别为6:1;程序运行时间差别为13:1。近年来,随着软件开发方法的提高、工具的改善,上述差异可能会减小,但软件人员的合理选择及分工,充分发挥每个人的特长和经验显然是十分重要的。其次,因为软件产品不易理解、不易维护,因此软件人员的组织方式十分关键。一个重要的原则是,软件开发人员的组织结构与软件开发

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301