文档详情

浅析软件项目风险的形成及对策

daj****de2
实名认证
店铺
DOCX
15.86KB
约10页
文档ID:152669182
浅析软件项目风险的形成及对策_第1页
1/10

浅析软件项目风险的形成及对策摘要:现代软件项目的高失败率使得软件项目风险管 理成为项目管理的重要内容.该文基于软件项目风险的基本 性质和形成过程,对项目风险的形成机制进行了系统地分析, 发现项目的复杂性和人的认知水平的局限性之间的冲突是 导致软件项目风险产生的主要原因.基于此,给出两方面的对 策建议,一是系统分析项目复杂性,二是提高人的认知水平关键词:软件项目;风险;形成机制;对策?S着网络通信技术的迅猛发展和社会需求的不断扩大,软 件成为信息化的核心内容,主导着信息产业的发展,对于增强 企业的竞争力具有重要的意义2015年3月22日发布的《中 国IT产业发展年度报告》指出,中国I T产业创新指数从201 1年的5 34提高到2 0 14年的622,并且2 0 14年电子 信息产业收入超过了 14万亿,其中软件实现了 3.7万亿,同 比增长2 0.2%,与20 0 8年相比软件业务占整个IT产业 比重提升了1 2.9%然而,由于软件项目自身的特点,使得软 件项目开发的过程存在着很大的不确定性,项目往往在工期、 费用或功能、性能上不能达到人们的预期美国专门研究IT 项目的权威机构Standish G r oup在其每年的CHA OSR e p o rt上公布了 I 丁项目调查数据,软件项目的成功率从 1994 年的 16%、1 99 8 年的 26%、2 0 02 年的 34%、2006 年的35%到200 9年的32%,虽然有明显提高,但仍然处在一 个较低的水平。

软件项目如此高的失败率引起了企业界和学 术界的巨大关注,而软件项目巨大的风险与软件项目自身的 特点密切相关,已经成为了当前软件项目管理领域的热点问 题.1国内研究现状国内对软件项目风险的研究起步较晚,大多借鉴国外的 理论和方法在理论和模型方面,潘春光等对于分析评价了软 件项目风险管理的理论和方法;林关成所给出了经典的风险 管理模型;从风险因子的角度,季年芳等川提出了基于风险因 子分析的软件项目管理模拟模型;在风险评估上,杨莉田等根 据关联函数理论,建立软件项目风险综合评价的物元模型; 李华阿等提出了一种基于BP神经网络的软件项目风险评估 方法;张莉运用三维结构对软件项目进行分析然而,现有的 研究大多是从风险管理过程的角度对软件项目风险进行分 析,根据风险形成过程进行分析的研究较少赵金元对软件 项目风险形成的机制进行了分析,但并没有给出具体的对策 本文对软件项目风险形成的来源进行更深层次的分析,并给 出了相应的应对方法,对软件项目的风险控制提供了依据软件项目风险的基本性质和过程软件项目风险是指在软件项目的生命周期内,由于某些不 确定因素导致软件项目在进度、成本、质量等方面出现风险 事件从而形成损失。

一般地,软件项目风险具有如下的基本性质:客观性风 险的客观存在的,不管风险主体是否意识到风险的存在,在 一定的条件下风险就可能变成现实;不确定性风险发生的 不确定性,表现风险的程度大小;不利性风险一旦产生,就 会使风险主体产生挫折、失败和损失,对风险主体不利;可变 性风险的可变性表现为,在一定条件下风险与非风险可以 进行转化凹软件项目的开发过程中,由于软件系统本身的结构和技术 的复杂性,需要投入大量人力、物力和财力,加上需求频繁 变更,软件设计经常需要更改,而且编码工作量难以估计,还 常常要使用一些新技术、新产品,导致任务不确定性高,从而 给项目的开发带来风险风险发生的过程大致上可分为3个 阶段,分别是风险因素、风险事件和风险结果.风险因素多 来自于产品工程、开发环境和项目限制三方面风险因素导 致风险事件的发生,项目生存期的各个阶段都可能存在风 险风险事件造成损失,得到风险结果,一般是工期延长、费 用增加或性能不佳等・3软件项目风险的形成机制风险因素是项目风险发生过程的第一步,找出风险因素对 项目成功与否发挥着十分重要的作用项目本身风险因素是 客观存在的,主要来自于项目的复杂性,而人的认知能力的高 低决定了风险因素识别的程度。

3.1软件项目的复杂性当前信息产业发展迅速,人员流动加快,用户需求和技 术创新日新月异.在这种环境下,软件项目日益趋于复杂,企业 需要应对的挑战大大增加3. 11过程的复杂性软件项目过程是软件开发中用于开发和维护软件及其相 关产品的一系列活动、方法、实践和改造的步骤软件是由 需求驱动的,有了用户应用的实际需求才会引发一个软件产 品的开发软件项目过程包括需求的分析、产品设计、开发 过程、测试、安装和维护程序规模越来越大,代码行可能 达到数百万行,软件的维护也越来越困难,软件项目过程也 越来越复杂1. 2管理的复杂性与其他工程类项目管理相比,软件项目管理更加复杂范 围方面,针对软件性能范围的描述更加模糊,复杂,软件的需 求经常发生变更;时间方面,由于软件的生产开发过程中没有 明显的制造或重复生产过程,实际的生产进度与原有的计划 往往有很多的差异;质量方面,软件是纯知识产品,软件质量很 难估计和度量,需要通过单元测试、集成测试和系统测试等 加以评估,给软件项目的质量监控带来很大困难.3.13技术的复杂性技术创新速度的加快对于软件项目的开发提出了挑战 软件的开发受到计算机系统的限制,对计算机系统有不同程 度的依赖。

软件产品基本上是“定制的”,很难通过现有的 软件组装完成新软件的开发开发的环境日益复杂,代码共 享日益困难,需跨越的平台增多,这都增加了软件项目技术 上的复杂性4环境的复杂性软件项目的环境主要包括政策、市场等外部环境,组织结构 和资源等内部环境对于开发周期较长的软件而言,外部环 境中政府机构政策的变化必然对整个行业及软件需求造成 影响而在企业内部环境中,组织结构的各要素之间的差异 性、项目组织结构设计是否合理都会对项目造成影响在资 源方面,人是软件项目的核心,人才的流动也是企业经验财富 的损失 3. 2人的认知水平的局限性人作为执行项目的主体,决定着项目的成功与否,是项目中 最重要的资源软件项目是由不同角色的人共同协作完成的, 其中对于项目影响较大的主要是项目经理、团队人员和其他 项目干系人之间的差异3.2.1项目经理项目经理是项目组织的核心和项目团队的灵魂,对项目进 行全面的管理,其管理能力、经验水平、知识结构和个人魅力 等都? 0车康某砂芷鹱殴、?的作用然而,当前在政府机关 和企事业单位软件项目管理中存在的主要问题是,没有专门 项目管理专业的人员来担任项目经理专业项目经理人才的 缺乏使得在项目管理中出现失误或错误的可能大大增加,是 项目风险形成的原因之一。

32团队开发人员一个项目要取得成功,一个有效的团队是必不可少的.然 而,一方面我国软件项目行业尚处于发展阶段,团队成员人 数相比国外成熟开发团队明显不足;另一方面在软件项目开 发的具体阶段,一个软件项目通常被分成若干个子项目,由项 目团队中的各小组协作完成,小组内部成员之间的相互合作 和各小组之间的配合和协同使得团队开发过程中的复杂性 大大提高.3. 2.3其他项目干系人软件项目还涉及客户、项目管理办公室和商业合伙人等 三方面客户发起并参与软件的整个开发过程中;项目管理办 公室负责对其所辖项目进行集中协调管理;商业合伙人是企 业软件项目开发的合作伙伴,一般负责模块外包等,以追求 自身利润最大化为目标项目干系人在职责和目标上的差异 决定了各自的利益诉求的不同,使得项目在实施过程中产生 分歧和冲突,影响项目的进程3软性项目风险的形成软件项目的复杂性和人的认知水平的局限性之间的交互 作用是导致软件项目风险产生的主要原因,软件项目本身和 完成项目的人是成功执行一个项目的两大组成部分软件项 目本身是复杂的,各因素之间相互联系、错综复杂而人作 为执行项目的主体,是项目中最重要的资源由于人的认知水 平的局限性,项目的复杂性往往无法得到充分的认识,项目 相关人员在需求的搜集和分析、对新技术的应用、相互的协 调沟通以及自身的知识能力等方面往往无法尽如人意,使得 项目在执行过程中存在不确定性,在工期、费用或功能、性能 上不能达到人们的预期。

软件项目的风险形成机制可用下图 描述4. 软件项目风险的对策软件项目是一个复杂的系统基于系统论的方法,如果项 目的复杂性大于人的认知水平,项目就有很大的不确定性,此 时软件项目具有很大的风险如果项目的复杂性小于或等于 人的认知水平,此时人们充分认识到项目的复杂性,因此软件 项目的风险就低然而项目本身的复杂性是客观存在的,不会 变化的因此,提高人对项目复杂性的认识,找出完整的风险 因素是降低项目风险的关键4ol系统分析项目复杂性在分析项目本身时,首先要进行过程定义,将过程以一种 合理的方式描述出来,并建立企业内部的过程库,使过程成为 企业内部可以被重用的共享资源,并不断改进和完善过程其 次,运用科学的项目管理方法、体系指导管理工作基于经验 的方法重点关注管理中常见的问题虽然每一个项目都是一 个新项目,但是通过查询相似软件项目的经验数据或者向相 关专家请教,对于及时避免软件项目中常见的风险有很大的 帮助然后,在技术上,一方面要及时更新技术以避免导致 项目目标功能的不完备,另一方面避免采取过多的创新型技 术形成“信息孤岛”,并通过培训等多种措施提高人员的综 合素质最后,在项目环境上,对内可以通过项目团队定期召 开会议等方式加强沟通和团队建设,选择合适的项目组织结 构,避免人才的流动对软件的开发造成影响;对外建立专门风 险管理机构和人员,以对市场、政策等进行预测.由于软件项 目开发周期的因素,软件项目常常在很久之后才交付给客户, 因此及时对外部环境中政府机构政策的变化作出预测对软 件项目的成功有重大意义。

此外,市场中同行业竞争者的战略 的变化、客户的需求变更等也会给软件项目的开发提出挑 战2提高人的认知能力提高认知能力主要是针对项目经理、团队人员和其他干 系人而言.对项目经理进行系统地项目管理知识培训,多数 项目经理在技术上独当一面,而在管理方面特别是项目管理 方面的知识比较缺乏在一个特定的项目中,项目经理要对 项目实行全面的管理,包括制定计划,报告项目进展,控制反 馈,组建团队,在不确定环境下对不确定性问题进行决策,在 必要的时候进行谈判及解决冲突等对项目团队成员,一方 面要加强培训以提高成员的综合能力,另一方面给予项目成 员一定的激励,如薪酬激励、机会激励、环境激励和情感激励 等我国IT软件项目整个行业尚处于发展阶段,人力资源 不足,项目开发人员在知识水平及开发应用方面有很大的差 异通过培训等方式提高团队成员的综合能力并施以激励, 对于提高团队的开发能力和避免人才流动具有重要作用对 项目干系人之间的差异而言,本文站在项目管理者即项目经 理的角度,要重点发挥项目管理办公室的作用,对项目进行集 中协调管理,努力减小项目干系人之间的差异客户通过在开 发过程中根据需要变更需求,在项目收尾阶段接收并验证产 品,在整个阶段参与到软件的开发过程中。

因此对客户要积 极建立沟通机制,控制其需求变更商业合伙人通过负责模 块外包等以追求自身利润最大化,对商业合伙人,一方面通过 各种条件严格控制商业伙伴的选择,寻找信用好的伙伴,建立 长期合作关系另一方面可以通过对外包业务实行按照项目 完成度支付报酬的方法,激励企业合作伙伴高效地完成项目5 .结束语现代软件项目的高失败率使得软件项目风险的管理成为 项目管理的重要内容.本文在研究软件项目风险的基本性质 类型和风险过程的基础上,对项目风险的发生进行了系统地 分析,发现项目的复杂性和人的认知水平局限性之间的冲突 是软件项目风险产生的根本原因,并给出了相应的对策建议 但本文从软件项目管理整体上进行了分析,并没有对软件项 目进行分类,今后应根据不同类型的项目进行更细致的分 析,从而给出具体有效的对策手段。

下载提示
相关文档
正为您匹配相似的精品文档