添加时间:2016-6-20 17:02:16 文章来源:
淄博软件开发
做生意有风险,买股票有风险,软件开发项目当然也有风险,淄博软件开发对软件项目管理中的风险做了一些简单的分类研究。
1.在软件项目管理中如何做好风险防范?
2.软件项目中的典型风险事件是哪些?
下面就以软件项目的风险管理为主题展开讨论。
软件项目管理的四个阶段中,在初始阶段项目成功的可能性最小,风险发生的概率也就最高,但是这时候一旦预计的风险发生了,损失是最小的,比如:在这个阶段如果某种原因突然资金来源断了(这在需求阶段是很有可能的),以至于不能继续进行项目,不得不终止项目,那么这时候的损失只是需求分析阶段的投入。随着项目的进展项目成功的可能性变大,风险发生的概率逐渐变小,风险对项目的损失逐渐变大,快到收尾阶段的时候风险对项目的损失最大,随着收尾阶段的进行风险又逐渐变小。
风险管理是对项目风险进行识别、分析和应对的过程。我们先看看淄博软件开发对项目风险的分类,然后再对风险管理的这三个过程逐一进行讨论。
一.风险的分类
按内容分
范围风险:与范围变更有关的风险
质量风险:没有按照要求的技术性能和质量水平完成任务
进度风险:没有在预算的时间范围内完成任务
成本风险:没有在预算的成本范围内完成任务
技术风险:技术变化
法律风险:许可权、专利、合同失效、诉讼、不可抗力
外部可预测风险:市场风险(原材料可利用性、需求)、日常运作(维修需求)、环境影响、社会影响、货币变动、通货膨胀、税收
外部可预测风险:规章(不可预测的政府干预)、自然灾害
内部非技术风险:战略风险(公司的经营战略发生了变化)、管理风险(公司管理人员是否成熟等)
按可确定性分
已知风险(Knowns):员工离职
已知-未知风险(Known-unknowns):可预知风险
未知-未知风险(Unknown-unknowns):不可预知风险
二.风险识别
风险的识别就是确定何种风险事件可能影响项目。在项目开始、每个项目阶段中间、主要范围变更批准之前都要进行风险识别,实际上它在整个项目生命周期内都是一个连续的过程。
要识别风险,首先我们应该了解在软件开发的各个阶段都有可能发生哪些风险(风险事件或风险来源)。
初始阶段
在这个阶段进行大部分需求分析、少部分设计(大部分业务建模和需求、少部分分析设计)。
可能的风险事件:
l 项目目标不清
2 项目范围不明确(范围太大太小都不可以)
3 用户参与少或和用户沟通少
4 对业务了解不够
5 对需求了解不够
6 没有进行可行性研究
设计阶段
在这个阶段进行大部分设计、少部分编码(大部分分析设计,部分实施及测试,开始考虑部署)
可能的风险事件
l 项目队伍缺乏经验,如缺乏有经验的系统分析员
2 没有变更控制计划,以至于变更没有依据,该变更的不变,不该变的也变,这样得来的设计势必会失败或者偏离用户需求
3 仓促计划,可能带来进度方面的风险
4 漏项,由于设计人员的疏忽某个功能没有考虑进去
实施阶段
在这个阶段进行大部分编码和测试,也涉及少部分设计(大部分实施及测试,部分部署),如:设计变更或补充设计。
可能的风险事件
l 开发环境没有具备好
2 设计错误带来的实施困难
3 程序员开发能力差,或程序员对开发工具不熟
4 项目范围改变(突然要增加或修改一些功能,需要重新考虑设计)
5 项目进度改变(要求提前完成任务等)
6 人员离开,在一个项目内软件开发工作有一定的连续性,需要移交和交接,有时人员离开对项目的影响会很大
7 开发团队内部沟通不够,导致程序员对系统设计的理解上有偏差
8 没有有效的备份方案
9 没有切实可行的测试计划
10 测试人员经验不足
收尾阶段
在这个阶段进行安装及维护(大部分部署)。
可能的风险事件
l 质量差
2 客户不满意项目管理培训
3 设备没有按时到货
4 资金不能回收
以上只是例具了常见的风险事件,对不同项目可能发生的风险事件不同,应该对具体项目识别出真正有可能发生在该项目的风险事件。而且还要对这些风险事件进行描述,如:可能性、可能后果范围、预计发生时间、发生频率等。
风险识别的有效方法有很多,如:建立风险项目检查表、因果分析图、采访各种项目干系人等。
软件项目的风险可以从以下几方面检查:
产品规模风险
业务影响风险检
与客户相关的风险
过程风险
技术风险
开发环境风险
与人员的模式和经验有关的风险
以上我们讨论了在软件项目各个阶段中可能发生的风险事件和识别方法。下面我们看看如何对这些风险事件进行分析。
三.风险分析
风险分析就是对以上识别出来的风险事件做风险影响分析。
和风险相关的有四个因素:
风险事件,破坏或影响项目的事件
风险概率(%),事件发生的可能性
风险得失量(金额),说明可能造成的损失
风险影响(金额),等于 风险概率 × 风险得失量
通过对风险及风险的相互作用的估算来评价项目可能结果的范围,从成本、进度及性能三个方面对风险进行评价,确定哪些风险事件或来源可以避免,哪些可以忽略不考虑(包括可以承受),哪些要采取应对措施。
四.风险应对
一、应对方法
项目中的风险永远不能全部消除,PMBOK提到三种应对方法:
避免
通过分析找出来发生风险事件的原因,消除这些原因来避免一些特定的风险事件发生。
比如:
如何避免客户不满意?
客户不满意有两种情况,一种情况是没有判断客户满意度的依据,即没有双方互相认可的客户验收标准,还有一种是开发方没有达到验收标准,即没有满足用户需求。不管是哪一种,开发方都有不可推卸的责任,只要做好以下环节完全可以避免:
l 业务建模阶段要让客户参与
2 需求阶段要多和客户沟通,了解客户真正的需求
3 目标系统的模型或DEMO系统要向客户演示,并得到反馈意见,如果反馈的意见和DEMO系统出入比较大时,一定要将修改后的DEMO系统在次向客户演示,直到双方都达成共识为止
4 要有双方认可的验收方案和验收标准
5 做好变更控制和配置管理
通过降低风险事件发生的概率或得失量来减轻对项目的影响。也可以采用风险转移的方法来减轻风险对项目带来的影响。项目预算中考虑应急储备金是另一种降低风险影响的方法。
二、开发应对计划
针对需要采取应对措施的风险事件,开发应对计划,一旦发生风险事件,就实施应对计划。
软件开发项目前期如果能有效的规避这些风险,那么离一款软件的成功也就不远了。
想要了解更多详情欢迎来电咨询18678812288,或登陆网址www.wfydkj.net。联系人:王经理。