软件测试(二)

题目要求:在敏捷开发方法的12条原则中挑选1条你感兴趣的原则进行风险评估。(参见Lec.5, slide 9 and Lec.3, slide 10)

常见风险因素

  • 大型软件项目的风险管理:大型项目存在诸多风险因素,在不
    同程度上对软件开发过程和软件产品质量造成影响。风险不能
    全部消除,而只能采用避免、减轻、和接受三种应对策略。
    • 需求变更风险;
    • 进度风险、预算风险、管理能力风险、信息安全风险;
    • 应用技术风险、质量控制风险、软件设计与开发工具风险、员工技能风险;
    • 人力资源风险、政策风险、市场风险、营销风险

风险评估

选择对第二条进行风险评估

欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
  1. 需求变更风险:在需求变化后,存在很多需要解决的问题,导致程序开发过程中的成本增加,后期修改过程质量可能不过关,开发时期延长等等,特别是在开发后期,存在推倒重建风险。往往许多不清晰的客户需求会给开发带来灾难性的后果。所以提出的一些不合理的需求更改应当拒绝或者砍掉。

  2. 进度风险:需求的变化会使得开发进度缓慢,拖慢进度,使后期的任务难以完成或是无法在限定的期限完成,造成损失。

  3. 预算风险:和进度风险一样,抛弃旧的方案采用新方案则需要更多的预算,因此预估资金将会提高,需要重新考虑是否更改需求,否则会出现预算超支,或是为了满足预算而导致软件质量不过关。

  4. 管理能力风险:当客户需求发生变更的时候,项目开发可能因为没有能力去应对需求变更,在开发过程中对人力,组织的管理会出现混乱,打乱了正常的项目流程,而导致项目出现问题。

  5. 信息安全风险:当软件需求变更时,已完成的接口等的更改可能会并不完全被改掉,有可能会存在冗余的接口或者功能,之后的开发并未意识到其中的漏洞而被利用,导致信息安全问题。

  6. 应用技术风险:变更需求后可能需要额外的应用技术,若无相关知识人才,可能会增加人力预算或是学习成本,导致项目进度缓慢。

  7. 质量控制风险:需求变更导致预算或是进度方面出现问题,而选择加快进度,忽略了软件质量的把控,最终出现一个半成品或者是劣质品。

  8. 软件设计与开发工具风险:与应用技术风险相似,当需要额外的开发工具时,会增加开发成本(软件的费用)以及学习成本(时间)。

  9. 员工技能风险:和之前所说的学习成本一样,当需求变更可能需要相关技能的人员,若招不到相关人员采取临时培训的方法,会增加人力成本,导致项目进度缓慢,临时培训的员工技术不熟悉导致的质量问题。

  10. 人力资源风险:当需求变更后,项目在原有的基础上可能需要更多的人力去完成,出现人力资源问题。

  11. 市场风险:客户方提出的需求若是不清晰,模糊的需求,抑或是没有进行过市场调研的需求,会导致原本较好的方案被舍弃,而新的需求又没有较好的市场竞争力,导致项目失败。

  12. 营销风险:与市场风险类似,新的需求没有很好的市场竞争力,旧需求的基础上变更应当进行逐步更改,避免营销风险。