摘 要:从风险管理的角度,对国内中小软件企业在软件项目开发中存在的问题进行了分析和总结,提出中小软件企业应明确认识自身的不足,结合自身的特点,建立风险管理机制;遵循风险管理要求的“风险识别”、“风险分析”、“风险应对”的步骤,时潜在和已经发生的项目风险进行有效管理和控制。
1 风险管理在软件开发中的引入
1.1项目风险管理
项目风险可能出自技术、政治、经济、资源等各个方面,对项目开发本身或是项目目标的实现产生重大影响,有些风险甚至可能是致命的,使项目严重滞后或直接废弃。项目风险管理是为了最好地达到项目的目标,识别、评估、应对项目生命周期内风险的科学与艺术。项目风险管理的目标是使项目本身潜在的机会或回报最大化,使潜在的风险最小化。
1.2风险管理活动
项目风险管理应贯彻在项目的整个生命周期内,是一个连续不断的过程。风险管理涉及的主要活动包括:风险识别,风险量化,风险应对计划制定和风险监控。
1.3软件项目的风险管理
软件项目由于其本身的创造性,注定了其风险的复杂性。一个完整的软件项目周期包含项目计划、需求分析、概要设计、详细设计、编码实现、软件测试、软件发布和维护等多个相互交织、互相影响的过程。这就注定软件项目管理是一项复杂的活动,涉及到计划、度量、组织、实现、时间、成本、进度、质量等方方面面的问题。这些问题相互纠缠、累积在一起,会产生各种不确定的因素,影响项目的进行。
软件项目中的风险表现在:需求风险、计划编制风险、设计实现风险、组织和管理风险、人员风险、客户风险、产品风险、过程风险。
这就需要我们在进行软件开发项目时更加注重风险管理,注重风险分析,做好风险管理计划,积极寻求风险应对方法,寻找切实可行的解决方案。
2 中小软件企业项目开发的特点和面临的风险
2.1中小软件企业的特点
目前,国内大多数中小软件企业虽然人力成本很低,但是在许多方面都处于劣势。如:软件企业普遍规模偏小,实力相对较弱;企业自身的技术实力低,技术单薄,积累少;项目缺乏统筹规划,生产方式是小作坊式,编程方式是个人英雄式;软件开发流程不规范,产品标准化程度差;项目管理知识和管理经验欠缺,缺乏严格的项目管理和质量保证体系;人员流动率高,缺少充足的人才储备。公司林立,项目竞争多,对很多软件企业来说,最重要的是维持生存,在合同的实施中,处于弱势地位。这些都是阻碍企业顺利完成软件项目的不利因素。
2.2 中小软件企业项目管理的不足
中小软件企业自身固有的不利因素,使得他们在项目管理中存在诸多不足:缺乏合理的进度安排、开发流程不完善、不重视测试、缺乏缺陷管理机制。
2.3中小软件企业软件项目面临的主要风险
客户需求不确定中小软件企业在项目中的弱势地位,造成客户可能随意变更需求,使开发无明确的方向。不完善的系统分析和设计又使得类似情况出现时,开发人员不知所终,造成混乱。
进度安排过紧进度计划往往脱离实际,多数无法按时完成。
技术风险中小软件企业的技术积累和技术储备往往不足,这在软件产品的设计、实现、接口、检验和维护等方面都有体现。此外,技术陈旧、不确定、不成熟,以及采用非主流的第三方设备或组件,都会给产品开发带来重大影响。
人员风险中小软件企业人员流动性大,而最终产品对项目组中某一个或几个开发人员依赖大,这些关键人员的流动,会使开发工作受到影响,甚至陷于停顿。
项目组成员不固定,增加交流成本中小软件企业常忽略项目组成员的交