软件开发项目的风险管理[1]

发表于:2008-08-13来源:作者:点击数: 标签:软件开发风险管理项目
关键字:管理 众所周知, 软件开发 过程可分为: 需求分析 、设计、编码、 测试 、安装及维护等几个过程(在 RUP 方法中: 业务建模 、 需求 、分析设计、实施、测试、部署),实际上一个完整的 软件 项目前后还有其它过程,在这里列出的只是和软件开发相关的
关键字:管理
众所周知,软件开发过程可分为:需求分析、设计、编码、测试、安装及维护等几个过程(在RUP方法中:业务建模需求、分析设计、实施、测试、部署),实际上一个完整的软件项目前后还有其它过程,在这里列出的只是和软件开发相关的核心过程。 软件项目的生命周期可以分为四个阶段(不同行业的项目生命周期不同),即初始阶段、设计阶段、实施阶段、收尾阶段。软件开发过程在软件项目的这四个阶段中的分布情况如下(括弧里面表示RUP方法中的过程):

  初始阶段:大部分需求分析,少部分设计(大部分业务建模和需求,少部分分析设计)

  设计阶段:大部分设计,少部分编码(大部分分析设计,部分实施及测试,开始考虑部署)

  实施阶段:大部分编码和测试,少部分设计(大部分实施及测试,部分部署)

  收尾阶段:安装及维护(大部分部署)

  而项目管理则贯穿在整个生命周期的每个阶段。

  根据PMBOK,项目管理可以从范围管理、时间管理、费用管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理和整体管理等9个方面考虑,对于软件项目管理来讲软件配置管理(属于整体管理)、软件质量管理软件风险管理及开发人员管理(属于人力资源管理)等四个方面的管理尤为重要,软件开发的每个阶段、每个过程都要重视这几方面的管理。

  下面就以软件项目的风险管理为主题展开讨论。

  软件项目管理的四个阶段中,在初始阶段项目成功的可能性最小,风险发生的概率也就最高,但是这时候一旦预计的风险发生了,损失是最小的,比如:在这个阶段如果某种原因突然资金来源断了(这在需求阶段是很有可能的),以至于不能继续进行项目,不得不终止项目,那么这时候的损失只是需求分析阶段的投入。随着项目的进展项目成功的可能性变大,风险发生的概率逐渐变小,风险对项目的损失逐渐变大,快到收尾阶段的时候风险对项目的损失最大,随着收尾阶段的进行风险又逐渐变小。

  风险管理是对项目风险进行识别、分析和应对的过程。我们先看看项目风险可以怎么分,然后再对风险管理的这三个过程逐一进行讨论。

  1.风险的分类

  按内容分

  范围风险:与范围变更有关的风险

  质量风险:没有按照要求的技术性能和质量水平完成任务

  进度风险:没有在预算的时间范围内完成任务

  成本风险:没有在预算的成本范围内完成任务

  技术风险:技术变化

  法律风险:许可权、专利、合同失效、诉讼、不可抗力

  外部可预测风险:市场风险(原材料可利用性、需求)、日常运作(维修需求)、环境影响、社会影响、货币变动、通货膨胀、税收

  外部可预测风险:规章(不可预测的政府干预)、自然灾害

  内部非技术风险:战略风险(公司的经营战略发生了变化)、管理风险(公司管理人员是否成熟等)

  按可确定性分

  已知风险(Knowns):员工离职

  已知-未知风险(Known-unknowns):可预知风险

原文转自:http://www.ltesting.net