目录1.概述..................................................................................................22.风险类型..........................................................................................22.1客户相关风险...............................................................................22.2商业影响风险...............................................................................22.3产品规模风险...............................................................................32.4过程风险.......................................................................................32.5技术风险.......................................................................................42.6与人员数目及经验相关的风险...................................................51.概述软件风险伴随在项目的整个生命周期中,为了能把风险系统化的标识出来,在风险发生之前对其进行有效的预防、管理和控制,必须考虑不同类型的风险。2.风险类型2.1客户相关风险是否曾与这个客户合作过客户是否很清楚需要什么,能否花时间把需求写出来客户是否同意召开正式的需求收集会客户是否愿意建立与开发者的快速通信渠道客户是否了解软件过程客户是否愿意参加复审工作该客户是否具有该产品领域的技术实力该客户是否愿意让你的人来做他们的工作,即当你的人在做具体的技术工作时,该客户是否会坚持在旁边协助如果对这些问题中的任何一个的答案是否定的,则需要进行进一步分析,以评估潜在的风险。2.2商业影响风险本产品是否得到公司高级管理层的重视交付期限合理性如何最终用户的水平如何本产品必须能与之互操作的其他产品/系统的数目将使用本产品的用户数及本产品是否与用户的需要相符合必须产生并交付给用户的产品文档的质与量如何政府对本产品开发的约束延迟交付所造成的成本消耗是多少产品缺陷所造成的成本消耗是多少对每一个问题的回答都必须与过去的经验加以比较,如出现了较大百分差或数字相近但过去的结果很不令人满意,则风险较高。2.3产品规模风险是否以LOC或FP估算产品的规模估算出来的产品规模的信任程度如何产品规模与以前产品的规模平均值的偏差百分比是多少产品创建或使用的数据库大小如何产品的用户数有多少产品需求改变多少,交付之前有多少,交付之后有多少复用的软件有多少2.4过程风险开发人员是否同意按照文档所写的软件过程进行开发工作,并自愿使用它是否定期对需求规约、设计和编码进行正式技术复审是否定期对测试过程和测试情况进行复审是否对每一次的正式技术复审的结果建立了文档,其中包括发现的错误和使用的资源是否使用配置管理来维护系统/软件需求、设计、编码和测试用例之间的一致性是否使用一个机制来控制用户需求的变化及其对软件的影响对于每一个承包出去的子合同,是否有一份文档化的工作说明,一份软件需求规约及一份软件开发计划是否有一个可遵循的规程,来跟踪及复审子合同承包商的工作2.5技术风险该技术对于你的组织而言是否是新的客户的需求是否需要创建新的算法或输入、输出技术软件是否需要使用新的或未经证实的硬件接口待开发的软件是否需要与开发商提供的未经证实的软件接口产品需求中是否要求采用特定的用户界面待开发的软件是否需要与其功能及性能均未在本领域中得到证实的数据库接口需求中是否要求使用新的分析、设计、测试方法需求中是否有过分的对产品的性能约束客户能确定所要求的功能是“可行的”2.6与人员数目及经验相关的风险是否有最优秀的人员可用人员在技术上是否配套是否有足够的人员可用开发人员是否能够自始至终的参加整个项目的工作项目中是否有一些人员只能部分时间工作开发人员对自己的工作是否有正确的期望开发人员是否接受过必要的培训开发人员的流动是否仍能保证工作的连续性