软件项目的风险管理详解
软件项目风险管理

软件项目风险管理软件项目风险管理方法一、引言随着信息技术的飞速发展,软件项目在各个领域中扮演着越来越重要的角色。
然而,由于软件项目的复杂性和不确定性,风险管理成为软件项目管理中不可或缺的一部分。
本方法提供了对软件项目风险管理的全面指南,以确保项目的成功实施。
二、风险管理的重要性1.预防和减轻风险:预防潜在问题并减轻负面影响,从而确保项目的顺利进行。
2.资源合理分配:更好地分配资源,优先处理高风险项目部分。
3.提高决策质量:更全面的风险评估有助于制定更加合理的项目决策。
4.提升项目成功率:降低风险可提高软件项目的成功率。
三、风险管理框架1.风险识别:分析项目中可能出现的风险源和因素,包括技术风险、市场风险、人力资源风险等。
2.风险评估:对识别出的风险进行量化和定性评估,确定其发生的可能性和影响程度。
3.风险应对计划:制定针对不同风险的应对策略,如规避、转移或减轻风险。
4.风险监控与报告:持续监控已识别的风险,及时报告新出现或已发生变化的风险。
四、具体风险管理方法1.SWOT分析:通过分析项目的优势、劣势、机会和威胁,识别潜在的风险和机会。
2.敏感性分析:评估项目关键因素变动对项目目标的影响,识别敏感点和风险点。
3.蒙特卡洛模拟:通过模拟项目不同场景的概率分布,评估项目的风险和不确定性。
4.风险优先级排序:根据风险发生的可能性和影响程度,确定风险的优先级,进行有重点的管理。
5.风险审计与复核:定期对风险管理过程进行审计和复核,确保其持续的有效性。
五、实施建议1.建立风险管理文化:确保团队成员都认识到风险管理的重要性,并积极参与。
2.持续培训与教育:定期为团队提供风险管理培训,提高其识别、评估和管理风险的能力。
3.跨部门合作:鼓励不同部门之间的沟通与合作,共同识别和应对风险。
4.灵活调整策略:根据项目进展和风险变化,及时调整风险管理策略。
5.注重反馈与改进:持续收集反馈,对风险管理过程进行持续改进。
六、结论软件项目风险管理是一个持续的过程,需要不断地识别、评估、应对和监控风险。
软件项目风险管控措施

软件项目风险管控措施软件项目风险管控措施主要包括以下几个方面:1.建立风险识别和评估机制:在项目启动阶段,团队需要进行全面的风险识别和评估。
通过广泛的调研和分析,确定潜在的风险事件,并估计其对项目成功的影响程度。
这可以通过头脑风暴、需求分析、市场调研和专家评估等手段来实现。
2.制定风险管理计划:基于风险识别和评估结果,项目团队需要制定详细的风险管理计划。
该计划应包括具体的措施,并明确责任人。
风险管理计划应作为项目实施的指导方针。
3.风险跟踪和监控:在项目实施过程中,团队需要定期跟踪和监控潜在风险的实际发生情况。
这可以通过建立风险指标、定期会议和风险报告等手段来完成。
及时发现和处理风险事件,有助于避免其对项目进展的负面影响。
4.主动的风险应对策略:如果软件项目组对于风险采取主动的方法,则避免永远是最好的策略。
这可以通过建立一个风险缓解计划来达到,即制定对策。
对不同的风险项要建立不同的风险驾驭和监控的策略比。
如对于开发人员离职的风险项目开始时应作好人员流动的准备采取一些措施确保人员一旦离开时项目仍能继续;制定文档标准并建立一种机制保证文档及时产生;对每个关键性技术岗位要培养后备人员。
对于技术风险,可以采用的策略有,对采用的关键技术进行分析,避免软件在生命周期中很快落后;在项目开发过程中保持对风险因素相关信息的收集工作,减少对合作公司的依赖尤其是对延续性强的项目应该尽可能地吸收合作公司的技术并变为自己的技术,避免因为可能发生的与合作公司合作的终止带来的影响和风险降低投入成本。
5.建立风险管理团队:确保有一个专门负责风险管理的团队,他们具备专业的风险管理技能和经验,能够有效地识别、评估和控制项目中的风险。
6.制定风险管理计划并定期审查:制定详细的风险管理计划,包括风险识别、评估、应对和监控的步骤。
定期审查风险管理计划,确保其与项目的实际进展保持一致,并根据需要进行调整。
7.建立风险报告机制:建立定期的风险报告机制,向项目干系人提供关于项目风险的最新信息。
软件项目风险管理

风险管理作为项目管理的主要组成部分,应得到双方的高度重视,有责任在尽可能早的时期对风险进行识别,并进行分析、监控等工作,提出缓解计划与应对计划。
项目风险列表如下:
序号
风险措施
1
开发组无法按时
提供集成测试版本,或者提供的集成测试版本失败率超过50%
中
高
开发将使用加班手段,开发组加强单元测试的覆盖率,减少失败率,测试时间需顺延
5
测试范围增加,导致测试资源(如测试人员、测试时间)不足
中
中
保证优先级别高的交易得到较充分测试,或适当增加人力资源
2
内部集成测试硬件环境无法按时准备好
中
高
测试时间需顺延
3
文档、项目信息传达和沟通不及时、不完全
高
中
建立统一沟通管理平台;
如:文档及时基线,并开放给相关人员,让项目组在统一的项目文档和信息下工作
4
内部集成测试使用的多为模拟测试工具和仿真数据,对业务数据正确性的测试执行有一定难度
高
中
建议在SIT阶段更多给予关注
软件项目风险管控

软件项目风险管控引言概述:软件项目的开辟过程中,风险是无法避免的。
为了确保项目能够按时交付、达到预期的质量标准,软件项目风险管控显得尤其重要。
本文将从五个方面详细阐述软件项目风险管控的内容。
一、项目风险识别与评估1.1 风险识别:通过对项目的需求、技术、资源、进度等方面进行全面分析,识别可能存在的风险。
可以采用头脑风暴、专家咨询、历史数据分析等方法进行风险识别。
1.2 风险分类与排序:将识别出的风险进行分类,并根据其可能性和影响程度进行排序。
常用的分类方法包括技术风险、进度风险、需求风险等。
1.3 风险评估:对每一个风险进行定性和定量评估,确定其潜在影响和可能性。
可以采用概率分析、敏感性分析等方法进行风险评估。
二、风险规划与预防2.1 风险规划:根据风险评估结果,制定相应的风险规划,明确风险的应对策略和措施。
包括风险避免、风险转移、风险缓解等方面的规划。
2.2 风险预防:在项目开辟过程中,采取相应的预防措施,减少风险的发生概率。
例如,加强需求管理、技术验证、人员培训等,以提高项目的稳定性和可控性。
2.3 风险监控与反应:建立风险监控机制,及时发现和跟踪风险的变化情况。
一旦风险发生,及时采取相应的反应措施,减轻风险对项目的影响。
三、团队管理与沟通3.1 团队组建:建立合适的团队,具备相关技术和经验,提高项目的开辟能力和风险应对能力。
3.2 团队培训:通过培训和知识分享,提高团队成员的技术水平和风险意识,增强团队的协作能力。
3.3 沟通与协调:建立良好的沟通机制,确保团队成员之间的信息流通畅,及时解决问题和风险。
四、项目管理与控制4.1 进度管理:建立合理的项目计划和进度控制机制,及时发现和解决进度风险,确保项目按时交付。
4.2 质量管理:建立有效的质量控制机制,确保项目的质量符合预期要求,减少质量风险的发生。
4.3 成本管理:进行有效的成本控制和预算管理,避免成本风险对项目的影响。
五、风险回顾与总结5.1 风险回顾:在项目结束后,对项目风险进行回顾和总结,分析风险的成因和应对措施的有效性。
软件项目风险管理计划(模板)

软件项目风险管理计划(模板)1. 背景和目标本文档旨在为软件项目提供一个风险管理计划的模板。
风险管理是确保项目顺利完成的重要步骤,以识别、评估和应对可能的风险。
这份模板将帮助项目团队在项目的各个阶段有效管理风险。
2. 风险识别在项目开始之前,项目团队应该认真进行风险识别。
通过评估项目的各个方面,识别潜在的风险因素。
以下是一些常见的风险类别:- 技术风险:与软件开发相关的技术挑战和限制。
- 时间风险:项目进度不稳定,无法按时交付。
- 成本风险:预算超支或资金不足的情况。
- 范围风险:需求变更或无法满足客户的需求。
3. 风险评估对于识别出的风险,项目团队应该进行风险评估,以确定其对项目的潜在影响和可能性。
评估风险可以使用定性和定量方法。
根据风险的重要性和可能性,为每个风险分配适当的级别,如高、中、低。
4. 风险应对策略根据风险评估结果,项目团队应该采取适当的风险应对策略。
以下是几种常见的应对策略:- 风险规避:采取措施以避免潜在风险。
- 风险转移:将风险转移给外部实体,如保险公司或供应商。
- 风险减轻:采取措施减少风险的潜在影响。
- 风险接受:在风险发生时,接受其潜在影响。
5. 风险监控和控制一旦项目开始,项目团队应该定期监控风险的状态和进展情况。
这可以通过定期检查风险矩阵和风险日志来实现。
如果风险状态发生变化或新的风险出现,项目团队应该及时采取适当的控制措施。
6. 风险沟通在整个项目周期中,项目团队应该与相关利益相关者进行风险沟通。
这包括定期更新项目风险矩阵、风险日志和风险状态报告。
及时的风险沟通可以帮助提高项目的透明度和管理效率。
7. 文档维护这份风险管理计划应该定期进行审核和更新。
项目进展、风险状况和控制措施的变化都应该及时记录和反映在文档中。
保持文档的准确性和完整性对于项目的成功非常重要。
以上是软件项目风险管理计划的模板。
项目团队可以根据具体项目的需求进行适当的调整和修改。
软件项目的风险管理

软件项目的风险管理软件项目的风险管理随着信息化时代的到来,软件项目的开发和实施已经成为各个行业的常见事务。
然而,由于软件开发具有一定的复杂性和不确定性,项目面临的风险也相对较高。
为了确保项目的顺利实施和成功交付,软件项目的风险管理变得至关重要。
软件项目的风险指的是可能导致项目无法按计划实施或不符合预期目标的因素。
这些风险可能来自项目的内部,如团队成员能力不足或需求变更,也可能来自项目的外部,如市场竞争或技术变革。
风险管理的目标是识别、评估和应对这些风险,以降低风险对项目的影响。
软件项目的风险管理可以分为以下几个步骤:1. 风险识别风险识别是风险管理的第一步,也是最关键的一步。
团队需要全面地审视项目,识别可能的风险因素。
常见的风险包括项目需求不清晰、资源不足、技术问题、进度延误等。
在识别风险时,可以借助过往经验和专业知识,以及与相关利益相关者的交流,收集各方的意见和建议。
2. 风险评估在识别了风险后,团队需要对每个风险进行评估。
评估的目的是确定每个风险的概率和影响程度,以确定其优先级。
概率和影响程度可以使用定性或定量的方式进行评估。
定性评估通常使用高、中、低或红、黄、绿等符号表示,定量评估可以使用概率和影响的数值表示。
通过评估,团队可以了解哪些风险最为严重,需要优先处理。
3. 风险应对在评估了风险后,团队可以制定相应的应对策略。
应对策略可以分为四种类型:避免、减轻、转移和接受。
避免风险意味着采取措施以消除或减少风险发生的可能性。
减轻风险意味着采取措施以减少风险发生的影响程度。
转移风险意味着将风险转移给第三方,如购买保险或外包。
接受风险意味着团队认为风险发生的概率和影响程度较低,可以接受其发生。
4. 风险监控和控制风险管理不仅仅是一次性的活动,而是需要在整个项目周期中持续进行的过程。
团队需要建立相应的监控机制,以及及时的沟通和反馈机制。
通过监控风险的变化和控制措施的执行情况,团队可以及时调整风险管理策略,以防止风险演变成问题。
软件工程中的项目风险管理和决策分析
软件工程中的项目风险管理和决策分析项目风险管理和决策分析是软件工程中不可或缺的重要环节。
在软件开发过程中,项目团队需要面对各种风险,如技术风险、进度风险、需求风险等。
为了确保项目的成功实施,有效的项目风险管理和决策分析策略是至关重要的。
1. 项目风险管理在软件工程中,项目风险管理是识别、分析和控制项目中可能出现的风险的过程。
项目团队需要通过以下几个步骤来管理项目风险:1.1 风险识别风险识别是项目风险管理的起点。
项目团队需要仔细审核项目的需求和约束条件,确定可能会对项目实施产生不利影响的因素。
这些因素可以是技术问题、不明确的需求、人力资源不足等。
通过认真分析和讨论,团队可以识别出潜在的风险。
1.2 风险分析风险分析是进一步评估识别到的风险的严重性和概率的过程。
项目团队可以借助一些工具和技术,如风险矩阵、概率分析和影响分析等,对风险进行量化和评估。
这有助于确定哪些风险是最紧迫和最重要的,并为制定风险应对措施提供依据。
1.3 风险应对风险应对是制定和执行措施来降低风险的过程。
根据风险的严重性和概率,项目团队可以采取不同的应对策略。
例如,对于高风险项目,团队可以采取避免、转移或减轻风险的方法。
对于低风险项目,团队可以选择接受风险。
风险应对措施的制定需要充分考虑项目的资源和约束条件。
1.4 风险监控与控制风险监控与控制是在项目实施过程中对风险进行跟踪和控制的过程。
项目团队应该建立有效的监控机制来检测风险的变化和出现新的风险。
一旦风险发生,团队应该及时采取措施进行控制和应对,以最小化风险对项目的影响。
2. 决策分析在软件工程中,决策分析是项目团队在面对不确定性和复杂性时进行决策的过程。
决策分析可以帮助项目团队做出明智的决策,选择最佳的方案。
2.1 决策环境分析决策环境分析是对决策所处环境的全面评估。
项目团队需要了解决策的背景、目标和约束条件。
此外,还需要评估决策所面临的风险和不确定性,以及可能的影响。
2.2 决策问题建模决策问题建模是将复杂的决策问题简化为更容易理解和分析的形式的过程。
软件研发项目风险管理报告书模板
软件研发项目风险管理报告书模板在软件研发项目中,风险管理是至关重要的一环。
随着项目规模和复杂度的增加,项目风险的隐患也会相应增加。
因此,进行有效的风险管理成为确保项目顺利进行的关键。
在本文中,将介绍一个软件研发项目风险管理报告书模板,以帮助企业更好地管理和应对项目风险。
一、项目概况在报告的第一部分,需简要介绍软件研发项目的背景和目标。
包括项目规模、预算、时间表和交付要求等信息。
此外,还应明确项目的愿景和价值主张,为后续风险管理工作奠定基础。
二、风险评估与分类在风险管理报告书中,需对项目可能面临的各种风险进行评估和分类。
可以根据不同的风险来源和性质进行分类,如技术风险、商业风险、人员风险等。
同时,还需要对每一类风险进行详细的分析和评估,包括风险的发生概率、影响程度、应对策略等。
三、风险识别与辨识在项目启动阶段,团队需要共同努力,认真进行风险的识别和辨识工作。
可以通过头脑风暴、专家访谈、故事板等方式,收集团队成员对可能出现的风险的看法和意见。
同时,应该充分借鉴历史项目的经验教训,及时发现和识别风险。
四、风险分析与评估在确定了项目可能面临的风险后,需要对这些风险进行详细的分析和评估。
可以采用风险矩阵、风险优先级排序等方法,对风险的概率和影响程度进行量化评估。
通过风险分析和评估,可以为项目后续的风险应对工作提供参考依据。
五、风险应对与控制在风险管理报告书中,应明确团队对各类风险的应对策略和控制措施。
对于高优先级的风险,团队应及时采取有效的措施,降低其发生概率或减轻其影响程度。
同时,应建立完善的风险跟踪和监控机制,及时更新风险日志和风险报告。
六、风险沟通与报告在整个软件研发项目期间,风险管理团队需要做好风险的沟通和报告工作。
可以定期召开风险管理会议,向项目干系人汇报项目的风险状况和风险管理成果。
通过积极的风险沟通和报告,可以提高团队对风险管理工作的重视程度,有效减少项目风险的发生。
总结软件研发项目风险管理报告书模板是项目管理中的重要工具,能够帮助团队更好地识别、分析、评估和应对项目可能面临的各种风险。
10软件项目风险管理计划
10软件项目风险管理计划软件项目风险管理计划是软件项目管理中非常重要的一部分,它能够帮助项目团队识别、分析和应对可能对项目产生负面影响的各种风险。
下面是十个常见的软件项目风险和相应的风险管理计划。
1.需求不明确或变更频繁对于需求不明确或变更频繁的风险,可以采用下面的风险管理计划:-与项目干系人充分沟通,确保理解其需求;-在项目初期制定一个完整的需求文档,明确项目范围;-尽早发现和处理需求中的问题,避免频繁的变更。
2.技术难题对于技术难题的风险,可以采用下面的风险管理计划:-在项目初期进行技术风险评估,识别潜在的技术问题;-招聘具有相关技术能力的人员,提升项目团队的整体技术水平;-寻找合适的技术解决方案,并进行充分的技术验证。
3.人员流失对于人员流失的风险,可以采用下面的风险管理计划:-建立合理的薪酬体系,吸引和留住优秀的人才;-提供良好的工作环境和发展机会,增加员工的工作满意度;-实施知识管理,确保项目团队的知识不会随人员流失而流失。
4.项目进度延迟对于项目进度延迟的风险,可以采用下面的风险管理计划:-在项目计划中考虑一定的缓冲时间,以应对潜在的延迟;-监控项目进展,及时发现并解决导致延迟的问题;-与干系人主动沟通,及时调整项目计划,确保进度的可控性。
5.成本超支对于成本超支的风险,可以采用下面的风险管理计划:-在项目初期进行成本预估,建立合理的项目预算;-加强项目成本的管理,及时检查和控制项目的开支;-在项目过程中及时调整项目计划,以降低成本。
6.第三方依赖对于第三方依赖的风险,可以采用下面的风险管理计划:-在选择第三方之前进行全面的评估,确保其能够满足项目需求;-与第三方签订合同,明确双方的责任和义务;-在与第三方合作期间进行定期的沟通和协调,确保项目进展顺利。
7.没有合适的工具和技术对于没有合适的工具和技术的风险,可以采用下面的风险管理计划:-在项目初期进行工具和技术的评估,选择合适的工具和技术;-提供培训和学习机会,提升团队成员对工具和技术的熟练度;-对新工具和技术进行充分的试验和验证,确保其适用性。
如何进行软件项目风险管理和缓解
如何进行软件项目风险管理和缓解软件项目风险管理和缓解在软件开发的过程中,风险管理和缓解是关键的一环。
有效地进行风险管理可以帮助项目团队识别潜在风险,并采取相应措施来最小化风险对项目进展和质量的影响。
本文将介绍如何进行软件项目风险管理和缓解。
一、风险识别和评估风险识别是风险管理的第一步。
项目团队需要全面审查项目,确定可能存在的风险因素。
这些因素可能包括技术风险、进度风险、资源风险等。
在识别风险因素后,项目团队需要对每个风险因素进行评估。
评估风险的关键指标包括风险发生可能性以及对项目影响的程度。
通过对风险因素进行评估,项目团队可以确定哪些风险应该被优先考虑并采取相应的措施。
二、风险规划风险规划是指制定应对风险的计划和方法。
项目团队需要根据评估的风险程度和可能性,确定相应的应对策略。
常见的风险应对策略包括避免、减轻、转移和接受。
1. 避免风险:对于一些高风险且可避免的风险,项目团队应该考虑采取措施避免这些风险的发生,例如通过技术调整、项目范围的优化等。
2. 减轻风险:对于一些无法完全避免的风险,项目团队可以采取措施来减轻其对项目的影响。
例如,建立备用计划、调整资源分配等。
3. 转移风险:对于一些无法避免和减轻的风险,项目团队可以考虑将风险转移到其他方面或者借助保险等方式来分担风险。
4. 接受风险:对于一些无法避免、减轻或转移的风险,项目团队只能接受其发生并做好应对准备。
三、风险监控和控制风险管理并非一次性的工作,而是需要持续监控和控制。
项目团队应该设立有效的风险监控机制,定期检查已识别的风险因素,并根据实际情况进行调整。
在风险监控过程中,项目团队应该密切关注风险的变化和演化。
一些原本低风险的因素可能会随着项目进展而变成高风险因素,因此需要及时采取相应的控制措施。
风险控制是风险管理的核心步骤之一。
项目团队应该根据项目实际情况制定和执行风险控制计划,监督项目进度和质量,并采取措施保证项目在风险控制的范围内稳定推进。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
龙源期刊网 http://www.qikan.com.cn 软件项目的风险管理详解 作者:姜波 来源:《软件工程师》2011年第09期
我是一名计算机软件开发人员。我精通多种编程语言。我热爱这份工作,设计程序、编程、调bug、解决问题……这一切让我觉得很兴奋、很有成就感。我愿意学新东西,解决一个又一个技术难题——这让我觉得自己是一个“有用的人”。
“我喜欢我的同伴们,他们是一群很棒的人,我们谈得来,技术上的事儿我们总能一起找到办法。”
“但是项目是另外一回事儿,有时候真的让人很恼火,我们团队只有3个人,却干着6个人的活儿!”
“我们只有1台调试机,几个团队都要用,每天因为争用调试机打架。” “忙死了,还要带一帮新人干活,他们什么都不会,光添乱!他们要是早一点儿来我还有时间带他们,现在?算了,我还是加班自己来吧。”
“早干嘛去了,这时候才说要改架构,我们开发都进行一半了!” “这活儿真没法儿干,客户干嘛总是来指手画脚啊,打乱我们的计划了。” “我在公司接受了3个月的培训,现在正式加入这个项目了。项目很大,任务很重,据说对公司的前途至关重要,我很兴奋。前辈们很有经验,也很忙,我也想做点儿什么,但是他们好像不太欢迎我加入,有点儿沮丧”。
如果你是一名软件开发者(或任何需要团队合作的工作参与者),上面的话是不是感觉很熟悉?每个人都有干劲儿,大家目标也一致,但是总是有这样那样的问题使我们无法专注于自己的“本职”工作。
问题,问题,那么多的问题!虽然说解决难题能带来成就感,但是相信我,当意料之外的问题组团出现的时候,它们带来的只能是混乱!更糟糕的是,火气、丧气、疲惫感也一起来凑热闹。对于项目,尤其是大项目来讲,这可不是个好现象。
好吧,让我们静下来,想一想,那些问题在成为问题之前,我们真的一点儿都没预料过么?如果能预料的话,是否能够提前做些什么来避免,或者减轻问题的破坏力?退一步讲,最龙源期刊网 http://www.qikan.com.cn 起码让人喘口气,问题别一起出现!要达到上述目的,用一个术语化的说法,就是进行“风险管理”。
通俗的说,风险就是“问题发生的可能性”。所谓问题,就是之前我们提到的各种各样的不希望发生的“闹心事儿”。
风险管理的主要任务是:在问题发生之前,识别它、评估它、做对策,降低其发生的可能性和发生时的危害程度;然后,在对策的实施过程中,进行定期跟踪、再评估、调整对策,以确保问题是可控的,直到安全解决。
风险管理 综上所述,风险管理主要体现在下面几方面: ● 风险识别:找到可能发生问题的地方 ● 风险评估:是哪类问题、发生的可能性、发生后的影响度以及危险等级 ● 风险对策:什么时间、做哪些工作、能降低风险发生的可能性还是发生后的影响 ● 风险跟踪:可能性的变化、影响度的变化、危险等级的变化、风险对策是否需要调整、是否引起新的风险等等
风险管理是软件项目整个生命周期中的常规工作。在项目策划、项目范围变更、项目计划变更、定期项目跟踪时,都要进行风险管理。
风险识别 在软件开发项目中,要识别风险,一个基本方法是“模拟法”——用现有的人员、技术、资源(设备、能够得到的支持等),在项目开始的时点上,审视现有流程上的每一个步骤,思考并预测将会遇到什么问题。这项工作将使我们得到一份风险描述的列表。
对风险列表中的风险进行“合并同类项”处理,尤其是当一个项目涉及到多个团队、较多人,不同的团队和个人提出与他们相关的风险的时候,这种“合并同类项”的处理就显得尤为重要。它可以保证资源的统一调配,最大限度复用,避免各自为政造成的浪费。
风险评估 龙源期刊网 http://www.qikan.com.cn 对风险进行深入的评价,主要分析风险的种类、可能性和影响。 ● 风险的种类 一般来讲,所有的风险都可以归结到软件项目的几个要素上去。现在,我们首先来提取这些要素。
什么是项目?通俗的讲就是:在特定的时间内、特定的成本下、完成特定的工作,成果物要质量达标,令用户满意。所以说,项目有下面几个关键的维度:
○ 进度:在什么时间完成 ○ 成本:花费多少代价 ○ 范围:做什么,做到什么程度 ○ 质量:成果物的质量属性(例如千行代码bug数、安全运行天数) ○ 客户满意度:令客户满意 所谓风险的种类,在软件项目中,通常指上述维度的某一个。当然,从市场及企业经营的级别来看,会有另外一套关于种类的定义标准,这里不做深入讨论。
● 可能性:这个风险演变成问题的可能性有多少 ● 影响:这个风险演变成问题的话,其破坏力有多大 ● 风险级别:根据风险演变成问题的可能性和影响度,形成各风险评级。风险级别越高,越应该得到管理者的重视
下表列举了风险评级的方法(表1): 首先,量化描述可能性及影响度,然后把风险放到矩阵中的相应位置上,最后根据风险所处的区域,判断是S、A、B、C的哪一个级别。
S级:影响大、发生的可能性大。这样的风险必须进行处理,一定要制定对策降低风险或者规避风险。
A级:影响度在中等程度以上,发生的可能性比较大,或者影响度虽然小,但是发生可能性很高。这样的风险也应该进行处理,制定相应的对策来降低或者规避风险。 龙源期刊网 http://www.qikan.com.cn B级:影响大,但是发生概率很低。这样的风险不应该消耗太多的管理成本,不必专门制定对策,只需做定期跟踪。
C级:影响小且发生概率低。这样的风险可以暂时不纳入管理体系。 需要注意的是,不同的领域、不同的项目,对风险的影响度和发生可能性的量化标准是不一样的。对风险的容忍度,也就是SABC的判定标准也是不一样的。例如:同样是“发生几率为万分之一的‘死机’”这样的风险。在某些日用消费品中,是完全可以接受的,可以列为C级风险,不予关注。但是在航天项目中,则是绝对不能容忍的,必须以S级来处理。
所以说,任何一个项目都需要为自己量身定做风险判断基准。甚至需要在项目外、组织级进行定义。在组织级定义项目风险判断基准的好处是:同一个组织内,为风险制定统一的量化标准,则不同项目的风险之间具有可比性,为管理和决策提供依据。
因为风险评估对后期的决策有很重要的影响,所以,为慎重起见,有些评估会经与相关人员一起进行几轮的讨论,才能最后确定下来。
风险对策 根据风险评估中得出的风险级别,优先处理S、A级别的风险,并为每一个风险制定专门的对策。
在制定风险对策的时候,我们会发现,风险是可以“转移”的。不同的风险,根据对策的不同可能在属性上有所转移,可能对原有的风险造成影响,也可能会带来新的风险。
下表是对一个风险的识别、评估和对策(表2):
上述对策会降低原有的风险,但是同时会增加一个新的风险,如下(表3)所示: 上述对策就是一个典型的用“成本”换“日程”的例子。如果对策获得认可,就会对开发计划等其他方面造成影响,所有受到影响的部分,在分析影响范围的时候,也要再次回顾已经识别的风险是否会因为这个变化而变化。
在为风险制定对策的时候,需要掌握一个原则:控制风险水平、分散重大风险。 每一个风险都是一个不确定因素,是定时炸弹,尽量不要把太多的炸弹尤其是大炸弹集中在一个阶段解决。分散处理的话,万一问题爆发,控制起来也相对容易一些。 龙源期刊网 http://www.qikan.com.cn 多数情况下风险的对策都不是唯一的,虽然对策本身可能也会带来风险,但是要尽量均衡的考虑对策本身对项目的影响。尽量让项目总的风险水平处于平稳,避免过大的波峰。
如图1所示,文章开头所述的一团糟的情况,可能就是对风险没有事先的管理和干预,导致集中爆发或者风险过高,从而给项目整体带来不良的影响。更糟糕的是,打一场没有准备的仗,我们输掉战争的同时也输掉了士气和信心。
如果有事先的管理和干预,项目的风险将会被控制在一个相对稳定的水平,管理起来会容易很多,如图表2所示。即使最后问题还是发生了,但是最起码之前大家对此有预期,知道会发生什么,对团队情绪方面的影响也会小很多。(图1、2)
风险跟踪 我们为项目识别了风险,评估了风险的级别,为重要风险制定了对策,在这些工作之后,还需要对风险进行跟踪。
一般在项目进行周报、月报的时候,要同时进行风险的跟踪和报告。 对风险的跟踪主要集中在以下几个方面: ● 对策跟踪:对策是否按照计划实施了,实施过程中是否有新的风险出现(这里又是一个风险识别的过程)
● 可能性:随着时间的推移或对策的实施,这个风险演变成问题的可能性有什么变化 ● 影响:随着时间的推移或对策的实施,这个风险演变成问题的话,问题的破坏力有多大 ● 级别:随着可能性和影响的变化,级别也会随之变化 ● 风险状态:如果风险级别已经变得很低,不需要再继续处理的话,则关闭这个风险,以后不再跟踪
● 调整风险对策:判断是否需要调整对策方案,如何调整——调整的过程又涉及到新的风险识别活动
在进行风险跟踪的时候,需要注意的是:并非所有的变化都是我们的对策在起作用,有时候可能是市场变化,也可能是客户要求的变化,或者是其他外部环境的变化,让原本的可能性及影响度发生变化。