大型项目存在诸多风险因素,在不同程度上对软件开发过程和软件产品质量造成影响。
需求变更风险
需求变更风险是指需求已经成为项目基准,但需求还在继续变化;需求定义欠佳,而进一步的定义会扩展项目范畴;添加额外的需求;产品定义含混的部分比预期需要更多的时间;在做需求中客户参与不够;缺少有效的需求变化管理过程。无限度的需求变更使项目承建方有亏损的风险。
可以通过让用户参与开发过程、开发用户界面原型、需求讨论会议、强化需求分析与评审等措施减轻需求变更风险。
进度风险
软件项目工期估算是软件项目初期最困难的工作之一。很多情况下,软件用户对软件的需求是出于实际情况的压力,希望项目承担方尽快开发出软件来。在软件招标时,开发方为了尽可能争取到项目,对项目的进度承诺出已远远超出实际能做到的项目进度,使项目在开始时就存在严重的时间问题。软件开发组织在工期的压力下,往往放弃文档的编写与更新,结果在软件项目的晚期大量需要通过文档进行协调时,却拖累软件进度越来越慢。此外,由于用户配合问题、资源调配等问题也可能使软件项目不能在预定的时间内完成任务。软件项目过程中有自身的客观规律性,用户对软件项目的进度要求不能与软件开发过程的时间需要相矛盾。
减轻进度风险的措施有迭代开发、技术评审、持续集成。
信息安全风险
信息安全风险是指在信息化建设中,各类应用系统及其赖以运行的基础网络、处理的数据和信息,由于其可能存在的软硬件缺陷、系统集成缺陷等,以及信息安全管理中潜在的薄弱环节,而导致的不同程度的安全风险。
为了减轻信息安全风险,需要充分论证系统架构的安全性、加强网络应用和物理设备的防护、设计应急预案、配置冗余备用设备、强化人事和资产管理。
应用技术风险
指系统发生技术故障、兼容性问题、性能问题,导致运行不畅或中断,不能保障正常、有序、高效、顺利地运行,带来经济或声誉损失的风险。
可以通过充分论证、同行交流经验、全面设计、充分测试、配置冗余备用设备减轻应用技术风险。
质量控制风险
软件质量问题是软件工程开发的关键问题,也是软件工程生产中的核心问题。软件质量问题是导致软件项目进度延误、预算超支或项目失败、项目终止等软件危机的根本原因。
提高软件质量,可以降低项目开发的总成本;通过减少并及早检测纠正实际的软件开发过程和软件开发结果与预期不符的情况,降低错误成本。