软件开发项目的风险管理
软件开发项目的风险分析与控制

软件开发项目的风险分析与控制一、引言在软件开发项目中,风险管理和控制是确保项目成功实施的关键因素。
本文将详细分析软件开发项目中常见的风险,包括项目需求变更、技术实现难度、人力资源不足、时间进度延误、预算超支风险、数据安全和隐私、法律和政策风险、以及质量控制问题,并提出相应的控制策略。
二、项目需求变更风险描述:在项目执行过程中,客户需求可能发生变化,这可能导致项目范围扩大、工作量增加,甚至可能导致项目失败。
风险控制:1.建立有效的需求管理流程,确保所有变更都经过正式审查和批准。
2.在合同中明确需求变更的处理方式和费用调整机制。
3.定期进行项目评审,及时识别和评估需求变更对项目的影响。
三、技术实现难度风险描述:由于技术实现难度高,可能导致项目延期、成本增加或质量不达标。
风险控制:1.在项目开始前进行充分的技术评估,确保技术可行性。
2.制定详细的技术实现方案,并进行充分的技术培训和准备。
3.建立技术攻关小组,对遇到的技术难题进行集中解决。
四、人力资源不足风险描述:项目团队人员数量或技能不足,可能导致项目执行困难。
风险控制:1.在项目开始前制定详细的人力资源计划,确保人员数量和技能满足项目需求。
2.建立有效的团队协作和沟通机制,提高团队工作效率。
3.根据项目进度及时调整人力资源分配,确保关键任务得到有效执行。
五、时间进度延误风险描述:由于各种原因导致项目时间进度延误,可能影响项目的整体进度和质量。
风险控制:1.制定详细的项目进度计划,并监控项目执行情况。
2.对可能导致延误的因素进行预测和评估,提前制定应对措施。
3.建立有效的进度控制机制,对延误的任务及时进行调整和优化。
六、预算超支风险风险描述:由于项目成本超出预算,可能导致项目无法按时完成或质量下降。
风险控制:1.制定详细的项目预算计划,并进行严格的成本控制。
2.对可能导致成本超支的因素进行预测和评估,提前制定应对措施。
3.建立有效的预算监控机制,对超出预算的费用及时进行调整和优化。
软件开发项目风险分析及控制措施

实用文档软件开发项目风险分析及控制措施1.软件开发项目风险分析及控制措施1.1 业务风险识别和分析项目风险是指在项目实施过程中可能出现的事件,导致实际结果偏离预期目标,从而给项目带来损失。
在该项目的建设过程中,软件开发阶段的风险较小,主要风险将集中在项目推广实施阶段。
影响项目推广实施的主要因素包括与本地现有系统的精准对接、各盟市数据整理的准确程度以及后期软件的整体运行维护。
因此,在建设过程中要充分考虑保障系统的稳定性。
1.1.1 业务风险识别和分析对策在应用过程中,可能会加重经办人员的工作量,造成经办人员不认真应用系统的情况。
这种情况一是会使系统无法正常快速应用,二是会拖慢系统的整体实施步伐。
实用文档1.1.2 网络安全风险对策在自治区级统筹的业务形式下,应用、数据集中部署,网络统一使用“金保”专网。
要建立预防机制,防备出现以下问题:a.在业务经办高峰期,服务器的承受压力过大,导致系统缓慢或者崩溃,无法经办业务;b.突遇网络问题,系统无法运行,各盟市无法正常经办业务;c.系统遭受到的木马攻击或漏洞攻击,导致系统崩溃或数据丢失;d.系统与外部系统的衔接不畅,造成外部不能及时传入数据,发生数据偏差。
实用文档1.1.3 数据安全风险对策系统涉及到单位信息、人员信息、基金信息,均为保密信息,要预防数据泄露的问题,加强数据传输安全。
1.2 业务风险对策和管理项目风险的对策和管理是指在项目实施之前,对项目可能出现的问题进行主动而系统的识别、评估并制定相应的应对程序及行动方案的过程。
目的是有备无患,降低风险因素,减少风险带来的损失。
项目风险管理计划由风险识别、风险评估以及风险应对三个部分组成。
风险事件人员相关影响级别应对措施领导层对项目的支持力度人员的变动领导层的支持直接影响项目能否成功高新成员应提前介入,交接后能尽快进入角色实用文档工作交接的过渡影响项目进度与质量高项目首次会议中要明确,双成员对项目的理解导致目标不一致或后顾之忧方签订项目章程关键成员对项目工作的投入中领导层在项目的全过程中对项目进行大力支持工作时间投入不足,影响项目进度与质量不是部门业务骨干,很难提升项目的优先级中需要部门领导层的支持,要求关键客户要由部门业务骨干担任把握业务需求提前进行计算机操作的培训,提升成员的能力高最终用户的计算机水平较低,需要进行详细的操作指导网络安全是信息化系统中至关重要的一环,其脆弱性和风险性分析至关重要。
软件项目风险管控

软件项目风险管控一、概述软件项目风险管控是指在软件开发过程中,针对可能出现的风险进行预测、评估、应对和监控的一系列管理活动。
通过有效的风险管控,可以降低项目失败的风险,提高项目的成功率和交付质量。
二、风险识别与评估1. 风险识别在项目启动阶段,组织相关人员进行风险识别工作。
可以通过头脑风暴、问卷调查、经验总结等方法,识别出可能存在的风险。
例如,技术风险、需求变更风险、人力资源风险等。
2. 风险评估对识别出的风险进行评估,确定其对项目目标的影响程度和发生概率。
可以使用定性和定量的方法进行评估。
定性评估可以使用风险矩阵,将风险按照影响程度和发生概率进行分类。
定量评估可以使用统计分析和模型计算,给出风险的具体数值。
三、风险应对策略1. 风险规避采取措施避免风险的发生。
例如,技术风险可以通过技术验证和原型开发来降低;需求变更风险可以通过明确变更管理流程来规避。
2. 风险转移将风险转移给其他方。
例如,通过购买保险来转移项目执行过程中可能发生的风险。
3. 风险减轻采取措施降低风险的影响程度和发生概率。
例如,加强项目团队的培训,提高成员的技术能力,减少人力资源风险。
4. 风险接受对于无法避免或转移的风险,项目组需要明确接受并做好应对准备。
例如,市场需求变化风险是无法完全避免的,项目组需要及时调整项目计划和资源分配。
四、风险监控与控制1. 风险监控定期对项目风险进行监控,及时发现新的风险和变化的风险。
可以通过项目会议、风险报告和风险评估工具进行监控。
2. 风险控制针对已经发生的风险,采取措施进行控制和应对。
可以制定风险应急预案,明确责任人和应对措施。
同时,及时跟踪风险的变化,调整项目计划和资源分配。
五、风险管理工具1. 风险登记簿记录识别的风险信息,包括风险描述、责任人、应对策略等。
可以通过表格或软件工具进行管理。
2. 风险评估工具使用风险矩阵、统计分析和模型计算等工具,对风险进行定性和定量评估。
3. 风险报告定期向项目相关方汇报风险情况,包括风险的变化、应对措施的实施情况等。
软件工程中的软件项目风险管理与控制

软件工程中的软件项目风险管理与控制软件项目风险管理是软件工程中一个至关重要的环节,它旨在识别、分析和控制软件项目中的各种风险,确保项目能够按时、按质、按预算完成。
本文将深入探讨软件工程中的软件项目风险管理与控制,并提供一些有效的方法和技巧。
一、软件项目风险管理的重要性在软件项目开发过程中,各种风险可能随时出现,包括技术风险、时间风险、成本风险等。
如果不对这些风险进行有效管理和控制,可能会导致项目延期、超支甚至项目失败。
因此,软件项目风险管理是确保项目成功的关键因素之一。
二、软件项目风险管理的基本步骤1. 风险识别:通过对项目进行全面细致的分析和评估,确定可能存在的各种风险,包括技术风险、进度风险、需求变更风险等。
可以借助SWOT分析、头脑风暴等方法来辅助识别风险。
2. 风险分析:对已识别的风险进行进一步分析,确定其可能带来的影响程度和概率。
可以使用风险矩阵、树状图等工具来进行风险分析,从而为后续的风险控制提供依据。
3. 风险评估:综合考虑风险的影响程度和概率,对各个风险进行评估,确定其优先级和重要性。
可以采用定性和定量的方法进行风险评估,以便更好地制定风险控制策略。
4. 风险控制:基于风险评估的结果,制定相应的风险控制策略和计划。
对于高优先级的风险,要采取积极有效的措施来降低其发生的概率或减轻其影响。
可以采用避免、减轻、分担、转移等控制策略来应对不同类型的风险。
5. 风险监控:及时跟踪项目中的各项风险,监控其变化和演化过程。
在项目执行中,要不断评估风险的实际情况,并根据需要进行相应的调整和改进。
三、软件项目风险管理的常用技术工具1. WBS(Work Breakdown Structure):工作分解结构是将整个软件项目分解成多个可管理的工作单元的过程。
通过建立WBS,可以更好地进行风险识别、风险分析和风险控制,确保项目能够按时、按质地完成。
2. Gantt图:甘特图是一种显示任务、里程碑和关键路径的项目进度管理工具。
如何进行软件项目风险管理与应对

如何进行软件项目风险管理与应对软件项目风险管理是软件开发过程中非常重要的一个环节,它帮助团队在项目执行过程中及时发现、评估和应对潜在的风险,从而确保项目能够按时、按质量完成。
本文将介绍软件项目风险管理的基本概念、流程和方法,以及如何应对软件项目风险。
一、软件项目风险管理概述1.1风险概念及分类在软件项目中,风险指的是可能在项目执行过程中导致项目目标无法实现或导致项目失败的不确定性因素。
风险可以分为内部风险和外部风险。
内部风险是由项目开发团队内部因素引起的,如开发技术不足、团队协作差等。
外部风险是由项目外部环境引起的,如市场变化、政策法规变动等。
1.2软件项目风险管理的重要性软件项目风险管理能够帮助团队在项目开始之前评估潜在风险,制定相应的风险应对策略,以减少风险带来的不利影响。
在项目执行过程中,风险管理能够及时发现和应对变化,确保项目按时完成。
同时,风险管理还能提高团队的风险意识和应变能力,有利于团队长期发展。
二、软件项目风险管理流程2.1风险识别风险识别是软件项目风险管理的第一步,团队需要收集项目相关信息,分析项目的关键因素,识别潜在风险。
常见的风险包括技术风险、进度风险、成本风险、需求风险等。
2.2风险评估风险评估是根据风险的概率和影响程度对风险进行评估,确定各个风险的优先级。
在评估风险时,团队还需综合考虑风险的相互关联性和可能对项目造成的损失。
2.3风险应对风险应对是根据风险评估的结果,制定相应的风险应对策略。
常见的风险应对策略包括规避、转移、减轻和接受风险。
团队需要制定详细的应对方案,并明确责任人和时间节点。
风险监控是指在项目执行过程中,不断监测风险的变化,并根据风险变化情况及时调整风险应对策略。
团队需要及时更新风险登记表,并定期进行风险评估和风险控制。
三、软件项目风险应对方法3.1规避风险规避风险是通过制定严格的项目计划和管理措施,避免潜在风险的发生。
团队可以通过提前分析和解决潜在问题、加强项目管理和团队协作等方式规避风险。
如何进行软件项目风险管理与应对

如何进行软件项目风险管理与应对一、引言软件项目开发是一项复杂的任务,其中存在着各种可能的风险。
风险管理是确保项目顺利进行的关键步骤之一。
本文将介绍软件项目风险管理的基本概念以及针对不同风险的应对措施。
二、软件项目风险管理1.风险的定义风险是指潜在的不确定因素,可能给项目带来负面影响。
在软件项目中,常见的风险包括技术风险、进度风险、成本风险和需求风险等。
2.风险管理的步骤风险管理一般包括风险识别、风险评估、风险控制和风险监控等步骤。
在识别阶段,项目团队需要对项目可能面临的各种风险进行全面分析。
在评估阶段,项目团队需要对识别出的风险进行评估,确定每种风险的概率和影响程度。
在控制阶段,项目团队需要针对不同风险制定相应的控制措施。
在监控阶段,项目团队需要对实施的控制措施进行跟踪和监控,确保其有效性。
三、风险的分类与应对措施1.技术风险技术风险是指软件项目在技术方面可能面临的挑战和障碍。
常见的技术风险包括技术选型风险、技术实施风险和技术演进风险等。
对于技术选型风险,项目团队需要在项目开始阶段对技术选型进行仔细分析和评估。
可以通过技术调研、原型开发和实验验证等方式来降低技术选型风险。
对于技术实施风险,项目团队需要确保技术实施的可行性和可靠性。
可以通过技术评审、代码审查和持续集成等方式来降低技术实施风险。
对于技术演进风险,项目团队需要关注技术的变化和发展趋势。
可以通过持续学习、技术更新和团队培训等方式来降低技术演进风险。
2.进度风险进度风险是指软件项目在进度方面可能面临的延迟和滞后。
常见的进度风险包括任务拖延、资源不足和沟通不畅等。
对于任务拖延风险,项目团队需要对项目进度进行合理规划和安排。
可以通过任务分解、评估优先级和追踪进度等方式来降低任务拖延风险。
对于资源不足风险,项目团队需要确保项目所需的资源得到充分保障。
可以通过资源调配、资源补充和资源共享等方式来降低资源不足风险。
对于沟通不畅风险,项目团队需要建立有效的沟通机制和沟通渠道。
软件工程的项目风险管理

软件工程的项目风险管理在软件工程项目中,项目风险管理是一个至关重要的环节。
项目风险指的是在软件开发和实施过程中可能导致项目目标无法达到或产生不利影响的事件或情况。
项目风险管理的目的是早期发现和识别这些风险,采取相应的措施来降低风险的概率和影响,以确保项目能够按时、按质量和按预算完成。
一、项目风险管理的重要性软件项目的成功与否直接关系到企业的竞争力和经济效益。
而项目风险是导致软件项目失败的主要原因之一。
通过项目风险管理,可以帮助项目团队在项目开始之前就充分了解和评估可能的风险,并采取相应的规划和预防措施,以减少项目失败的风险。
二、项目风险管理的步骤1. 风险识别:通过对项目的需求、资源、进度、技术等方面的全面分析和评估,找出可能存在的各类风险。
可以采用SWOT分析、头脑风暴等方法来辅助风险的识别。
2. 风险评估:对已经识别的风险进行评估,包括风险的概率、影响程度、优先级等。
通过对风险的分析,确定对项目的影响程度,以便后续针对性地制定风险应对策略。
3. 风险规划:根据风险评估的结果,制定相应的风险规划,明确各类风险的应对策略和具体措施。
例如,对于高风险项目,可以采用防御策略,加强质量管理和项目监控;对于低风险项目,可以采用转移策略,购买相应的保险来减少风险。
4. 风险控制:实施风险规划中确定的措施,监控项目风险的进展,及时调整和制定新的应对策略。
同时,建立有效的沟通渠道,确保项目团队每个成员都能够及时了解项目的风险状况。
5. 风险监控和反馈:持续关注项目风险的变化和演化,通过监控指标和风险报告等方式,及时更新风险信息,并在必要时采取相应的措施进行调整和应对。
三、项目风险管理的工具和技术1. RBS(Risk Breakdown Structure)风险分解结构:将项目风险进行层次化和分类管理,有助于更好地识别和评估风险。
2. 概率和影响矩阵:通过对风险概率和影响程度的评估,可以确定风险的优先级,从而有针对性地制定应对策略。
软件工程中的软件工程项目风险与风险管理

软件工程中的软件工程项目风险与风险管理软件工程项目是指由软件工程师及开发团队合作完成的软件开发工作。
然而,在软件开发过程中,会面临各种风险,这些风险可能会影响项目进度、质量和成本,甚至可能导致项目失败。
因此,软件工程项目风险管理成为保障项目成功的重要环节。
本文将深入探讨软件工程项目风险的来源、分类以及常见的风险管理策略。
一、软件工程项目风险的来源1. 技术风险:软件开发过程中,如不合理的技术选型、技术难题以及技术实现的不确定性等因素都可能导致技术风险。
例如,选择不成熟的开发工具或框架、技术人员技术不足等。
2. 需求风险:需求的不明确或变更频繁可能导致项目进度和计划的不确定性,从而产生需求风险。
例如,用户需求定义不明确、需求变更无法有效控制等。
3. 资源风险:包括人力资源和技术资源的不足,如项目人员流失、硬件设备故障等。
这些都会导致项目执行过程中的能力和资源缺失。
4. 进度风险:软件项目的进度可能受到外部环境变化的影响,也可能受到内部团队沟通、协作等问题的制约,从而导致进度风险。
例如,项目资源分配不合理、沟通不畅造成的进度延迟等。
5. 成本风险:软件工程项目在开发过程中,如果无法准确估算成本,未能合理控制成本,将导致项目成本超支。
例如,忽略了人员培训、软件测试以及维护的成本等。
二、软件工程项目风险的分类根据风险发生的可能性和影响程度,软件工程项目风险可以分为高、中、低三个等级。
具体分类如下:1. 高风险:高风险指那些可能性和影响程度都很高的风险。
例如,技术选型不合适,在项目开发过程中可能出现严重的问题,导致项目无法按计划完成。
2. 中风险:中风险意味着某个风险的可能性和影响程度在中等水平。
例如,需求变更频繁,可能会导致项目进度推迟,但不会对整个项目的成功造成严重威胁。
3. 低风险:低风险表示某个风险的可能性和影响程度较低。
例如,项目资源分配不合理,可能会导致一些小规模的影响,但并不会对整体项目的进度和质量产生严重影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发项目的风险管
理
文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)
软件开发项目的风险管理
我讲的主题是:软件开发项目的风险管理,因为我认为风险管理在软件项目中很重要,又不容易做好,所以希望通过和大家讨论能够有一些思路和启发。
希望在这里在如下几方面展开讨论:
1.在软件项目管理中如何做好风险防范
2.软件项目中的典型风险事件是哪些
软件开发项目的风险管理
众所周知,软件开发过程可分为:需求分析、设计、编码、测试、安装及维护等几个过程(在RUP方法中:业务建模、需求、分析设计、实施、测试、部署),实际上一个完整的软件项目前后还有其它过程,在这里列出的只是和软件开发相关的核心过程。
软件项目的生命周期可以分为四个阶段(不同行业的项目生命周期不同),即初始阶段、设计阶段、实施阶段、收尾阶段。
软件开发过程在软件项目的这四个阶段中的分布情况如下(括弧里面表示RUP方法中的过程):
初始阶段:大部分需求分析,少部分设计(大部分业务建模和需求,少部分分析设计)
设计阶段:大部分设计,少部分编码(大部分分析设计,部分实施及测试,开始考虑部署)
实施阶段:大部分编码和测试,少部分设计(大部分实施及测试,部分部署)
收尾阶段:安装及维护(大部分部署)
而项目管理则贯穿在整个生命周期的每个阶段。
根据PMBOK,项目管理可以从范围管理、时间管理、费用管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理和整体管理等9个方面考虑,对于软件项目管理来讲软件配置管理(属于整体管理)、软件质量管理、软件风险管理及开发人员管理(属于人力资源管理)等四个方面的管理尤为重要,软件开发的每个阶段、每个过程都要重视这几方面的管理。
下面就以软件项目的风险管理为主题展开讨论。
软件项目管理的四个阶段中,在初始阶段项目成功的可能性最小,风险发生的概
率也就最高,但是这时候一旦预计的风险发生了,损失是最小的,比如:在这个阶段如果某种原因突然资金来源断了(这在需求阶段是很有可能的),以至于不能继续进行项目,不得不终止项目,那么这时候的损失只是需求分析阶段的投入。
随着项目的进展项目成功的可能性变大,风险发生的概率逐渐变小,风险对项目的损失逐渐变大,快到收尾阶段的时候风险对项目的损失最大,随着收尾阶段的进行风险又逐渐变小。
风险管理是对项目风险进行识别、分析和应对的过程。
我们先看看项目风险可以怎么分类,然后再对风险管理的这三个过程逐一进行讨论。
1.风险的分类
按内容分
范围风险:与范围变更有关的风险
质量风险:没有按照要求的技术性能和质量水平完成任务
进度风险:没有在预算的时间范围内完成任务
成本风险:没有在预算的成本范围内完成任务
技术风险:技术变化
法律风险:许可权、专利、合同失效、诉讼、不可抗力
外部可预测风险:市场风险(原材料可利用性、需求)、日常运作(维修需求)、环境影响、社会影响、货币变动、通货膨胀、税收
外部可预测风险:规章(不可预测的政府干预)、自然灾害
内部非技术风险:战略风险(公司的经营战略发生了变化)、管理风险(公司管理人员是否成熟等)
按可确定性分
已知风险(Knowns):员工离职
已知-未知风险(Known-unknowns):可预知风险
未知-未知风险(Unknown-unknowns):不可预知风险
2.风险识别
风险的识别就是确定何种风险事件可能影响项目。
在项目开始、每个项目阶段中
间、主要范围变更批准之前都要进行风险识别,实际上它在整个项目生命周期内都是一个连续的过程。
要识别风险,首先我们应该了解在软件开发的各个阶段都有可能发生哪些风险(风险事件或风险来源)。
初始阶段
在这个阶段进行大部分需求分析、少部分设计(大部分业务建模和需求、少部分分析设计)。
可能的风险事件:
l 项目目标不清
l 项目范围不明确(范围太大太小都不可以)
l 用户参与少或和用户沟通少
l 对业务了解不够
l 对需求了解不够
l 没有进行可行性研究
设计阶段
在这个阶段进行大部分设计、少部分编码(大部分分析设计,部分实施及测试,开始考虑部署)
可能的风险事件
l 项目队伍缺乏经验,如缺乏有经验的系统分析员
l 没有变更控制计划,以至于变更没有依据,该变更的不变,不该变的也变,这样得来的设计势必会失败或者偏离用户需求
l 仓促计划,可能带来进度方面的风险
l 漏项,由于设计人员的疏忽某个功能没有考虑进去
实施阶段
在这个阶段进行大部分编码和测试,也涉及少部分设计(大部分实施及测试,部
分部署),如:设计变更或补充设计。
可能的风险事件
l 开发环境没有具备好
l 设计错误带来的实施困难
l 程序员开发能力差,或程序员对开发工具不熟
l 项目范围改变(突然要增加或修改一些功能,需要重新考虑设计)
l 项目进度改变(要求提前完成任务等)
l 人员离开,在一个项目内软件开发工作有一定的连续性,需要移交和交接,有时人员离开对项目的影响会很大
l 开发团队内部沟通不够,导致程序员对系统设计的理解上有偏差
l 没有有效的备份方案
l 没有切实可行的测试计划
l 测试人员经验不足
收尾阶段
在这个阶段进行安装及维护(大部分部署)。
可能的风险事件
l 质量差
l 客户不满意
l 设备没有按时到货
l 资金不能回收
以上只是例具了常见的风险事件,对不同项目可能发生的风险事件不同,应该对具体项目识别出真正有可能发生在该项目的风险事件。
而且还要对这些风险事件进行描述,如:可能性、可能后果范围、预计发生时间、发生频率等。
风险识别的有效方法有很多,如:建立风险项目检查表、因果分析图、采访各种
项目干系人等。
软件项目的风险可以从以下几方面检查:
产品规模风险
业务影响风险检
与客户相关的风险
过程风险
技术风险
开发环境风险
与人员的模式和经验有关的风险
以上我们讨论了在软件项目各个阶段中可能发生的风险事件和识别方法。
下面我们看看如何对这些风险事件进行分析。
3.风险分析
风险分析就是对以上识别出来的风险事件做风险影响分析。
和风险相关的有四个因素:
风险事件,破坏或影响项目的事件
风险概率(%),事件发生的可能性
风险得失量(金额),说明可能造成的损失
风险影响(金额),等于风险概率× 风险得失量
通过对风险及风险的相互作用的估算来评价项目可能结果的范围,从成本、进度及性能三个方面对风险进行评价,确定哪些风险事件或来源可以避免,哪些可以忽略不考虑(包括可以承受),哪些要采取应对措施。
4.风险应对
1、应对方法
项目中的风险永远不能全部消除,PMBOK提到三种应对方法:
避免
通过分析找出来发生风险事件的原因,消除这些原因来避免一些特定的风险事件发生。
比如:
如何避免客户不满意?
客户不满意有两种情况,一种情况是没有判断客户满意度的依据,即没有双方互相认可的客户验收标准,还有一种是开发方没有达到验收标准,即没有满足用户需求。
不管是哪一种,开发方都有不可推卸的责任,只要做好以下环节完全可以避免:
l 业务建模阶段要让客户参与
l 需求阶段要多和客户沟通,了解客户真正的需求
l 目标系统的模型或DEMO系统要向客户演示,并得到反馈意见,如果反馈的意见和DEMO系统出入比较大时,一定要将修改后的DEMO系统在次向客户演示,直到双方都达成共识为止
l 要有双方认可的验收方案和验收标准
l 做好变更控制和配置管理
减轻
通过降低风险事件发生的概率或得失量来减轻对项目的影响。
也可以采用风险转移的方法来减轻风险对项目带来的影响。
项目预算中考虑应急储备金是另一种降低风险影响的方法。
比如:
经过风险识别发现,项目组的程序员对所需开发技术不熟。
可以采用熟悉的技术来减轻项目在成本或进度方面的影响。
也可以事先进行培训来减轻对项目的影响。
接受
接收风险造成的后果。
比如:
为了避免自然灾害造成的后果,在一个大的软件项目中考虑了异地备份中心。
2、开发应对计划
针对需要采取应对措施的风险事件,开发应对计划,一旦发生风险事件,就实施应对计划。
比如:
有一个软件集成项目中包括了设备,而且计划在部署阶段之前设备必须到位,而这些设备从厂家直接进货。
经过分析发现有可能不能按时进货,那就应该考虑备选方案,比如能不能周转等。
又比如:
在一个软件开发项目中,某开发人员有可能离职,离职后会对项目造成一定的影响,则应该对这个风险事件开发应对计划,过程可以参照如下:
l 进行调研,确定流动原因
l 在项目开始前,把缓解这些流动原因的工作列入风险管理计划
l 项目开始时,做好计划一旦人员离开时便可执行,以确保人员离开后项目仍能继续进行
l 制定文档标准,并建立一种机制,保证文档及时产生
l 对所有工作进行细微详审,使更多人能够按计划进度完成自己的工作
l 对每个关键性技术人员培养后备人员
在考虑风险成本之后,决定是否采用上述策略。