一:软件风险管理都包括哪些
软件开发过程存在各种风险,这些风险的发生将对软件项目的实施产生消极的影响,甚至会导致软件项目的失败。软件风险管理的任务是要对软件过程中各种软件风险进行识别、分析、预测、评估和监控,以避免软件风险的发生或者减少软件风险发生后给软件项目开发带来的影响和冲击。因此,软件风险管理须关注以下几个方面的问题。
二:常见的软件风险管理模式都有哪些
危机管理
这种模式类似于救火模式,其特点是听任软件风险的发生,及至软件风险给软件项目开发造成麻烦后才着手进行处理。例如,针对小刘要离开软件项目组这一风险,软件项目负责人知道这一软件风险,但是没有采取任何措施。在小刘离开项目组一个月之后,软件项目组的其它成员需要与小刘所负责的子系统模块进行集成和测试时,才发现相关代码还没编写。显然,此时这一风险已经严重影响了软件项目组其他人员的工作,并将使软件项目的进度滞后。在这种情况,软件项目负责人才采取相应的措施来处理风险(如抽调其他人员来接替小刘的工作)。
失败处理
在这种模式中,项目组人员和负责人察觉到了潜在的风险,但听任软件风险的发生和演化,只是在风险发生之后才采取应对措施。例如,针对小刘要离开项目组这一风险,项目组没有采取任何的措施。在小刘离开项目组的第二天,项目组决定抽调其他人员来接替小刘的工作,但是此时已经无法和小刘进行面对面的项目交接。
显然,无论是危机管理模式还是失败处理模式,它们对于风险的处理都是非常消极的,因而在软件项目实施过程中不主张采用这两种风险管理模式。
风险缓解
在风险缓解模式中,项目组人员和负责人在软件开发过程中有意识地识别各种软件风险,并且针对这些软件风险事先制定好风险发生后的补救措施,但是不做任何防范措施。也就是说,项目组人员和负责人预先识别和分析哪些不好事件可能会发生,等它发生,并制定好这些事件发生后的应对措施。例如,项目组成员和负责人已经知道小刘要离开项目组,但是没有采取任何措施来防止这一事件的发生,听任其发展,不过他们制定了相应的措施,一旦小刘离开项目组,小张来接替小刘的工作。显然,与危机管理和失败管理模式相比较,风险缓解模式在处理和应对软件风险方面变的较为积极。
风险预防
风险预防模式将风险识别和风险防范作为软件项目的一部分加以规划和执行。项目组人员和负责人预先识别和分析哪些不好事件可能会发生,制定好了万一发生的应对措施,同时采取措施防止它发生。例如,项目组人员和负责人知道小刘要离开项目组,一方面和和小刘商量能否等到项目完成之后再离开,另一方面制定了相应的措施,一旦小刘离开项目组,就由小张来接替小刘的工作。
消灭根源
在该模式中,项目组人员和负责人不仅要识别软件开发过程中各种潜在的软件风险,而且还要分析导致这些软件风险发生的主要因素,并采取积极的措施消除软件风险产生的根源。也就是说,项目组人员和负责人预先识别哪些不好事件可能会发生,制定好了万一发生的应对措施,同时采取措施消除软件风险根源,杜绝软件风险的发生。例如,针对小刘要离开项目组这一风险,项目组人员和负责人制定了相应的措施,一旦小刘离开项目组,就由小张来接替小刘的工作。同时,通过和小刘的交流发现,导致小刘离开项目组的主要原因是小刘认为公司给他的薪水太低,与他的技术水平以及给公司和软件项目组所做的贡献不匹配。针对这一因素,公司和软件项目组考虑给小刘增加薪水和补贴,以打消小刘离开软件项目组的念头。
显然,后三种风险管理模式对于软件风险的处理更加积极,他们能更为有效地降低软件风险给软件项目实施所带来的消极影响,因而在软件项目管理中应加以提倡。
三:IT项目中如何进行风险管理规划
风险管理规划是在项目正式启动前或启动初期对项目的一个纵观全局的基于风险角度的考虑、分析、规划,也是项目风险控制中最为关键的内容。一 风险形势评估 风险形势评估以项目计划、项目预算、项目进度等基本资讯为依据,着眼于明确项目的目标、战略、战术以及实现项目目标的手段和资源。 从而实现:通过风险的角度审查项目计划认清项目形势,并揭示隐藏的一些项目前提和假设,使项目管理者在项目初期就能识别出一些风险。 尤其是项目建议书、可行性报告或项目计划一般都是在若干假设、前提、预测的基础上完成的,这些假设、前提、预测在项目实施期间有可能成立,也有可能不成立。 而这其中隐藏的风险问题又通常是被忽视的。一旦问题发生,往往造成项目管理方的措手不及和无一应对。 例如项目计划中假设用户实施小组全力支援、脱産或几乎脱産投入IT项目的实施,但在实际过程中,用户方人员却不得不抽出大量时间处理塬有的业务,造成IT项目实施进度的拖延和实施效果不尽人意的风险。 诸如此类的例子还有很多。为了找出这些隐藏的项目条件和威胁,就需要对与项目相关的各种计划进行详细审查,如人力资源计划、合同管理计划、项目采购计划等等。 由此我们可以得出,风险形势评估一般应重视以下内容:项目的起因、目的、项目的范围、组织目标与项目目标的相互关系、项目的贡献、项目条件、制约因素等。 二 风险识别 在对项目的基础的风险形势评估之上,就需要对各种显露的和潜在的风险进行识别。风险识别实际上是对将来可能发生的风险事件的一种设想和猜测。 因此,一般的风险识别结果应包括风险的分类、来源、表现及其后果、以及引发的相关项目管理要求。 在具体识别风险时,一方面可利用一些常识、经验和判断,通过以前经历的项目中积累起来的资料、资料、经验和教训,或者请教相关的专家和资深从业人员,采用集体讨论的方式。 另一方面,可以通过分解项目的范围、结构来识别风险,理清项目的组成和各个组成部分的性质、之间的关系、与外因的联系等内容,从而减少项目实施过程中的不确定性。 除此之外,还可以利用一些技术和工具。比如,结合经验和教训,将项目成功和失败的塬因罗列成一张核对表,或者是项目的实施范围、质量控制、项目进度、采购与合同管理、人力资源与沟通等。以上都是风险识别常用的一些手段和方法,当然还有其他更多的途径,因项目而异,灵活运用。 三 风险分析和评价 在进行风险识别并整理之后,必须就各项风险对整个项目的影响程度做一些分析和评价,通常这些评价建立在以特性为依据的判断和以资料统计为依据的研究上。 风险分析的方法非常多,一般采用统计学范畴内的概率、分布频率、平均数衆数等方法。 但无论是哪一种工具,都各有长短,而且不可避免的会受到分析者的主观影响。可以通过多角度多人员的分析或者采取头脑风暴法等尽可能避免。 此外,我们应当明确,风险是一种变化着的事物,基于这种易变条件上的预测和分析,是不可能做到十分的精确和可靠的。所有的风险分析都只有一个目的,即尽量避免项目的失控和为具体的项目实施中的突发问题预留足够的后备措施和缓冲空间。 风险评价之后,项目面临着两种选择,即面临着不可承受风险和可承受风险。对于前者,或者终止项目,或者采取补救措施,降低风险或改变项目;对于后者,则需要在项目之中进行风险控制。
四:IT项目管理中的风险有哪些
项目的风险无非体现在以下四个方面:需求、技术、成本和进度,而IT项目管理中时主要会遇到风险:包括技术风险、管理风险对项目产生影响的不确定因素。
IT项目管理从某种意义上讲,就是风险管理。因此IT企业在进行项目管理的过程中,必须采用适合自己的风险管理方法进行风险管理,并且确保软件项目在规定的预算和期限内完成项目。
五:软件项目计划的风险分析
风险分析对于软件项目管理是决定性的,然而目前现在还是有很多项目不考虑风险就着手进行。
六:软件开发过程中会有哪些风险?
软件项目成果的需求分析方和软件项目的承担者都十分关心这样的一个问题:什么样的因素会导致软件项目的失败?与项目有关的因素的改变将对按时、按经费预算交付符合预定质量要求的软件成果产生什么样的影响?这些都属于软件项目开耽过程中考虑的风险问题。
软件项目的风险是指在软件开发过程中可能出现的不确定因而造成损失或者影响,如资金短缺、项目进度延误、人员变更以及预算和进度等方面的问题。风险关注未来的事情,这意味着,软件风险涉及选择及选择本身包含的不确定性,软件开发过程及软件产品都要面临各种决策的选择。风险是介于确定性和不确定性之间的状态,是处于无知和完整知识之间的状态。另一方面,风险将涉及思想、观念、行为、地点等因素的改变。
软件项目风险会影响项目计划的实现,如果项目风险变成现实,就有可能影响项目的进度,增加项目的成本,甚至使软件项目不能实现。因此有必要对软件项目中的风险进行分析并采取相应的措施加以管理,尽可能减少风险造成的损失。风险是在项目开始之后才对项目的执行过程其负面的影响,所以软件项目开始之前风险分析的不足,或者是软件项目实施过程中风险应对措施不得力,都有可能造成软件失败。
如果对项目进行风险管理,就可以最大限度的减少风险的发生。它是为了将不确定因素出现的概率控制到最低,将不确定性所造成的损失减少到最低限度,对软件项目全过程中的风险识别、分析和应对的过程。在整个软件项目的实施过程中,可能形成项目风险的因素有很多,如在项目启动阶段可能存在项目目标不明确,与用户沟通少导致项目范围不明确等分先因素;在系统设计阶段可能因为缺乏有经验的分析人员、设计人员导致和设计的结果不能直接用于程序员的开发;在项目实施阶段可能因为开发环境没有准备好,程序员开发能力差,或者因为用户提出新的功能需求导致原有设计实效、开发费用超支,还有可能因为开发人员的流动导致项目延期,客户不满意等情况。
软件项目运用专家调查法和头脑风暴法分析软件开发项目中,并将其进行整理分类。
由于与客户沟通不畅对客户的需求了解不足造成的风险在软件开发项目整个生命周期的中都存在的风险,主要包括需求变更风险,涉及风险,过程风险,安装及维护风险。
由于管理人员素质不够,经验不足,沟通不畅,任务或其分配不合理,对项目的控制力度不够造成的各种风险,主要包括进度风险,预算风险,管理能力风险,信息安全风险。
由于技术力量不足,开发环境工具不足造成的。主要包括技术风险,质量风险,软件设计工具风险,软件开发工具风险,员工技能风险。
由于公司或项目组内外部环境变化所导致的风险,主要包括人力资源风险,政策风险,市场风险,营销风险。
软件项目中的风险永远不能全部消除,而只能采用避免、减轻、和接受三种因对策略。
避免:通过分析找出发生风险事件的原因,消除这些原因来避免一些特定风险事件的发生。
减轻:通过降低风险事件发生的概率或得失衡量来减轻风险对项目的影响,也可采用风险转移的方法来减轻风险对项目的影响。
接受:对于一些无法避免的风险,应当接收风险造成的后果或者提前设计相应的应对措施,但这需要一定的资金做后盾。
七:如何对软件项目开发过程中的风险进行风险控制?
识别和分析风险并不是软件风险管理的最终目标。针对所发现的每一个软件风险,尤其是高危险度的软件风险,风险管理还需要对它们进行有效的控制,包括:(1) 制定风险管理计划:针对各个重要风险制定风险管理计划,并确保它们的一致性;(2)化解风险:执行风险管理计划,以缓解或消除风险;(3)监控风险:监控风险化解的过程。n???????????? 制定风险管理计划针对每一个重要的软件风险,制定相应的处理该软件风险的计划。风险管理计划主要描述有关软件风险处理的以下内容-?????????????????? 软件风险名称-?????????????????? 软件风险由谁引起-?????????????????? 软件风险发生后的处理措施n???????????? 风险化解方式执行风险管理计划,以缓解或消除风险。一般地,软件风险化解有以下几种方式。-?????????????????? 避免风险采取主动和积极的措施来规避软件风险,将软件风险发生的概率控制为零。例如针对用户可能没有时间参加需求评审这一软件风险,项目组可以考虑选择用户方便的时间来进行需求评审,这样“用户不能出席需求评审会”这一软件风险就不会发生。-?????????????????? 转移风险将可能或者潜在的软件风险转移给其它的单位或个人,从而使得自己不再承担该软件风险。例如如果开发某个子系统存在技术和人力资源方面的风险,可以考虑将它外包给其它软件开发公司,从而将该软件风险从项目中转移出去。-?????????????????? 消除发生软件风险的根源如果知道导致软件风险发生的因素,那么针对这些因素,采取手段消除软件风险发生的根源。例如如果发现导致小刘离开项目组的主要原因是薪酬太低,那么可以通过给小刘增加薪酬来消除发生软件风险的根源。??n???????????? 风险监控在风险评估和控制过程中,项目组人员和负责人必须对软件风险的化解程度及其变化(如发生概率、可能导致的损失和危险度)进行检查和监控,并对收集到的有关软件风险信息进行记录,以促进对软件风险的持续管理。风险监控的主要内容包括:监控和跟踪重要软件风险,记录这些软件风险危险度的变化以及软件风险化解的进展,确认软件风险是否已经得到化解和消除,是否有新的软件风险发生等等。
八:软件项目风险如何做规避计划
风险评价是识别并分析潜在风险区域的过程。可以通过列举通常的软件项目风险因素以使风险识别更加明析。制作风险评估表是识别风险的好办法,在风险评估表中我们统计特定风险对项目可能造成的潜在后果,风险计划的要素有: 风险描述 对于风险情况的介绍。 可能性风险发生的可能性。风险不是必然要发生的,如果一个对项目存在危害的事件是必然要发生的,那这个事件就不能作为风险。对于风险可能性的标识有助于对那些高可能性的风险投入更大的关注。 严重性风险如果发生对于项目的危害程度。 危害值一个综合考虑可能性和严重型后对风险的一个评估,这个评估反应了风险应该被关注的程度。 对策对策分为两个部分:一是对于采取预防措施以阻止风险的发生,另一方面也要考虑如果风险发生后需要采取什么措施。这两方面的计划构成了完整的风险对策。 触发标志风险是一种可能性,并且制定风险主要的出发点是预防它,但也要考虑到风险发生后情况。对于风险发生后的应对策略,需要争取一定的提前时间以启动必要的各项工作,设立触发标志是为设立一个判别标识,在该触发标志所标明的条件具备时,说明风险已经越来越可能成为现实了。 风险责任人风险预防和跟踪需要有人的参与,在风险计划中责任明确是一个重要的原则,对每一个列入了视线的风险都要指定对风险预防和跟踪负责的人员。 风险计划不是一个静止的文件,它应该随着项目状况的变化而变化。所以在任何项目中,风险管理都必须被作为一个日常的正式活动列入项目工作计划,成为项目管理人员的一个重要工作。在下一节风险跟踪中将对风险的动态变化作出更详细的阐述。 在标定风险可能性和危害时,重要的是清楚地标明风险之间重要性的相对比较,所以采取一个简明的标注标准十分重要。
九:软件项目风险
在项目的建设过程中,风险几乎无处不在(约定:本文谈到的风险,专指给项目带来不利影响的风险)。如何有效地识别、控制和管理风险,对项目的成功起着至关重要的影响。
一个项目有可以预料的(包括已知的)风险和不可预料的风险,以下作者总结自己多年的软件项目工程经验,整理出软件项目经常遇到的15种可预料的(包括已知的)风险及其预防措施,期望能为项目经理制定项目风险计划和进行风险预防、控制等提供富有价值的参考。
(1)合同风险
签订的合同不科学、不严谨,项目边界和各方面责任界定不清等是影响项目成败的重大因素之一。
预防这种风险的办法是项目建设之初项目经理就需要全面准确地了解合同各条款的内容、尽早和合同各方就模糊或不明确的条款签订补充协议。
(2)需求变更风险
需求变更是软件项目经常发生的事情。一个看似很有“钱途”的软件项目,往往由于无限度的需求变更而让项目承建方苦不堪言,甚至最终亏损(实际上项目建设方也面临巨大的风险)。
预防这种风险的办法是项目建设之初就和用户书面约定好需求变更控制流程、记录并归档用户的需求变更申请。
(3)沟通不良风险
项目组与项目各干系方沟通不良是影响项目顺利进展的一个非常重要的因素。
预防这种风险的办法是项目建设之初就和项目各干系方约定好沟通的渠道和方式、项目建设过程中多和项目各干系方交流和沟通、注意培养和锻炼自身的沟通技巧。
(4)缺乏领导支持风险
上层领导的支持是项目获得资源(包括人力资源、财力资源和物料资源等)的有效保障,也是项目遇到困难时项目组最强有力的“后台支撑”。
预防这种风险的办法是主动争取领导对项目的重视、确保和领导的沟通渠道畅通、经常向领导汇报工作进展。
(5)进度风险
有些项目对进度要求非常苛刻(进度要求不高的项目,我们同样要考虑该风险),项目进度的延迟意味着违约或市场机会的错失。
预防这种风险的办法一般是分阶段交付产品、增加项目监控的频度和力度、多运用可行的办法保证工作质量避免返工。
(6)质量风险
有些项目,用户对软件质量有很高的要求,如果项目组成员同类型项目的开发经验不足,则需要密切关注项目的质量风险。
预防这种风险的办法一般是经常和用户交流工作成果、品牌管理采用符合要求的开发流程、认真组织对产出物的检查和评审、计划和组织严格的独立测试等。
(7)系统性能风险
有些软件项目属于多用户并发的应用系统,系统对性能要求很高,这时项目组就需要关注项目的性能风险。
预防这种风险的办法一般是在进行项目开发之前先设计和搭建出系统的基础架构并进行性能测试,确保架构符合性能指标后再进行后续工作。
(8)工具风险
软件项目开发和实施过程,所必须用到的管理工具、开发工具、测试工具等是否能及时到位、到位的工具版本是否符合项目要求等,是项目组需要考虑的风险因素。
预防这种风险的办法一般是在项目的启动阶段就落实好各项工具的来源或可能的替代工具,在这些工具需要使用之前(一般需要提前一个月左右)跟踪并落实工具的到位事宜。
(9)技术风险
在软件项目开发和建设的过程中,战略管理技术因素是一个非常重要的因素。项目组一定要本着项目的实际要求,选用合适、成熟的技术,千万不要无视项目的实际情况而选用一些虽然先进但并非项目所必须且自己又不熟悉的技术。如果项目所要求的技术项目成员不具备或掌握不够,则需要重点关注该风险因素。
预防这种风险的办法是选用项目所必须的技术、在技术应用之前,针对相关人员开展好技术培训工作。
(10)团队......余下全文>>