随着各种软件技术的不断创新、相关软件产品的开发规模越来越大,面对如此重要而且投入与影响逐年增加的软件研发活动,要求对其进行科学有效的管理变得尤为重要。科学技术对经济发展、社会进步、人类生活质量的提高、国家综合国力的增强起着巨大的作用。随着信息技术日新月异的发展,软件行业作为极具挑战性和创造性的一项行业,其软件项目的研发更是极具挑战性。因此,各软件企业都努力利用项目管理方法去管理软件研发项目,以便对其整个研发过程实施科学有效的管理。
项目管理(Project Management):是运用各种相关技术、知识、技能、方法及工具,在计划、组织、领导、控制等方面所开展的各种活动,其目的是为了达到或超过项目需求方对项目所设定的要求或期望。从项目管理的概念可以看出,软件研发项目管理是根据管理科学相关理论,结合软件产品研发的实际,通过对资源、成本、质量、进度、风险、绩效等进行系统分析、管理及控制,使软件研发项目按照质优原则朝着预设目标进展。项目管理的最终目标是高质量地按时在项目预算成本内完成项目全部任务指标。
同时也要注意到,与其它行业的项目管理相比,软件业项目管理有其自身的特殊性。首先,软件不同于硬件,它是计算机系统中的逻辑实体而非物理实体,具有抽象性,因此是纯知识性产品,在资金投入上可计量性不强,很难参照常规方法进行估量其研发进度和质量,使得研发效率难以准确预测和保证。其次,软件产品研发复杂性高也导致了在研发过程中难以预见和控制各种潜在风险性。另外,软件研发还需考虑社会因素的影响,所有这些均可能致使项目研发前功尽弃。
软件项目管理的对象是软件工程项目,它所涉及的范围覆盖了软件项目研发的整个过程: 需求分析、软件设计、编程实现、软件测试以及后期运行维护等。因此与之相对应,软件项目管理的内容主要包括软件项目需求管理、软件项目估算与进度管理、软件项目质量管理、软件项目资源管理、绩效考核管理等。本文结合笔者多年从事科技管理与实际软件研发项目管理工作中的经验,就软件研发项目管理中应注意的几个问题进行研究分析。
1、软件需求分析管理
对任何项目而言,需求是灵魂。需求分析作为软件研发过程的基础,其结果优劣将直接影响整个软件的研发过程,成功的软件产品必然是以成功的需求分析为前提。
正如企业在研发新产品前需掌握市场需求,软件研发亦如此,据相关资料显示,因需求分析因素所造成的软件项目失败或缺陷约占60%,而系统实施阶段的其它错误导致软件研发项目失败的比率约为40%,由此可看出需求分析的重要性。由于需求分析不明确导致项目失败的根源在于研发人员没有准确把握客户的真正需求。一方面可能是用户最初没有清晰明确的需求,而是在项目研发过程中,不断地变更或提出新需求,这些变更不仅加大了研发成本,同时产生项目无法按时完成等问题;另一方面,也可能是研发人员对用户需求调研不彻底,没有真正熟悉客户的业务流程,未能从专业的角度研发挖掘客户的潜在大量实践均已证明,项目管理在软件产品的全生命周期中占据极其重要的地位,软件项目研发失败更多的是管理层面问题,并非技术层面问题。
需求,导致项目的进展及质量均难以控制,严重的后果是使整个项目研发失败。因此,必须加强软件项目需求管理来解决不断变化的需求问题。需求管理的目的是在客户与研发方之间建立双方对需求的协商机制,并严格控制需求的变更。在需求正确建立过程中,要做到准确识别需求,必须利用相关专业领域知识分析、挖掘,才能确认需求。
因此要求需求分析人员不仅具备很