0%

开发管理(四)软件开发的质量与风险

一、软件质量管理

项目质量管理包括保证项目能满足原先规定的各项要求所需要的过程。

总体管理功能中决定质量方针、目标与责任的所有活动,并通过诸如质量规划、质量保证、质量控制、质量改进等手段在质量体系内加以实施。

1、质量计划

判断哪些质量标准与本项目相关,并决定应如何达到这些质量标准。

在软件质量计划阶段应该完成如下活动:

1.对项目的软件质量活动做出计划。
2.对软件产品质量的可测量的目标及其优先级进行定义。
3.确定软件产品质量目标的实现过程是可量化和可管理的。
4.为管理软件产品的质量提供适当的资源和资金。
5.对实施和支持软件质量管理的人员进行实施和支持过程中所要求的培训。
6.对软件开发项目组和其他与软件项目有关的人员进行软件质量管理方面的培训。
7.按照已文档化的规程制订和维护项目的软件质量计划。
8.项目的软件质量管理活动要以项目的软件质量计划为基础。
9.在整个软件生命周期,要确定、监控和更新软件产品的质量目标。

2、质量保证

定期评估项目总体绩效,建立项目能达到相关质量标准的信心。

质量保证应贯穿于项目的始终,在事件驱动的基础上,对软件产品的质量进行测量、分析,并将分析结果与既定的质量标准相比较,以提供质量改进的依据。

如果属于软件外包,还需要对软件产品的定量质量目标进行合理的分工,分派给项目交付软件产品的承包商。

3、质量控制

监测项目的总体结果,判断它们是否符合相关质量标准,并找出如何消除不合格绩效的方法。

软件质量的控制不单单是一个软件测试问题,评审、调试和测试是保证软件质量的重要手段。

质量控制应贯穿于项目的始终。

项目结果既包括产品结果(例如可交付成果)、也包括项目管理结果(例如成本与进度绩效)。

软件质量控制包括如下活动:
1.对软件产品进行测试,并将测试结果用于软件质量管理活动的状态。
2.高级管理者定期参与评审软件质量管理的活动。
3.软件项目负责人定期参与评审软件质量管理的活动。
4.软件质量保证评审小组负责评审软件的质量管理活动和工作产品,并填写相关报告。

评审目标包括如下部分:
1.发现任何形式表现的软件功能、逻辑或实现方面的错误;
2.通过评审验证软件的需求;
3.保证软件按预先定义的标准表示;
4.已获得的软件是以统一的形式开发的;
5.使项目更容易管理。

二、项目风险管理

事前控制——风险管理规划,事中控制——风险管理方法,事后控制——风险管理报告。

1.项目风险管理的概念

(1)内部技术风险:技术变化和创新是项目风险的重要来源之一。

(2)内部非技术风险:公司的经营战略发生了变化相关的战略风险、涉及公司管理/ 项 目管理人员管理水平等的管理风险,以及与范围变更有关的风险;没有按照要求的技术性能 和质量水平完成任务的质量风险;没有在预算的时间范围内完成任务的进度风险;没有在预 算的成本范围内完成任务的成本风险。

(3)外部法律风险:包括与项目相关的规章或标准的变化,如许可权、专利、合同失效、诉讼等。

(4)外部非法律风险:主要是指项目的政治、社会影响、经济环境的变化,组织中雇佣关系的变化,如公司并购、政府干预、货币变动、通货膨胀、税收、自然灾害等。这类风险对项目的影响和项目性质的关系较大。

2.风险管理的过程

1 风险管理规划,决定如何指导和规划项目的风险管理活动。
2 项目风险识别,找到哪些风险可能影响项目,并记录其特征。
3 定性风险分析,完成风险和环境的定性分析,并按其对项目目标的影响进行排序。
4 定量风险分析,度量风险的可能性和后果,估量其对项目目标的潜在影响。
5 风险应对计划,创建过程和技术来为项目目标增进机会和减小威胁。
6 风险监督与控制,在项目生命周期中监视现存的风险、识别新的风险、执行缓解风险计划及评估其效果。

(1)风险识别。

(2)风险分析。

风险得失值:

指一旦风险发生可能对项目造成的影响大小,说明可能造成的损失。如果 损失的大小不容易直接估计,可以将损失分解为更小部分再评估它们。风险得失值可用相对 数值表示,建议将损失大小折算成对计划影响的时间表示。

风险概率:

它是风险发生可能性的百分比表示,是一种主观判断。

风险值:

风险值又叫风险曝光度或风险暴露,他是评估风险的重要参数,“风险值”=“风险概率” * “风险影响”。如:某一风险概率是 25%,一旦发生会导致项目计划延长 4 周,因而,风险值为25% * 4周 = 1周。

(3)风险应对方法。

制订风险应对策略主要考虑以下 4 个方面的因素:可规避性、可转移性、可缓解性、可接受性。

(4)风险应对计划。

(5)风险监控。