
软件开发
SoftwareDevelopment
软件开发风险之浅析
朱钊侠中航工业试飞中心710089
【文章摘要】
软件开发的风险,是指在软件开发过程中,遇到的关于进度和预算方面的问题,或者是其对开发进度的影响。如果软件开发过程中的风险变为现实,就会增加项目成本,影响项目进度,打乱软件开发计划,从而影响软件项目的实现,但良好的管理对于软件开发来讲可以造就一个成功的项日,图此,对于任何一个系统软件开发项目来讲,风险管理是至关重要的。
【关键调】
软件开发;模型;风险;风险管理一、软件开发中的风险识别
1.需求内容描述不清
分析报告上文字不准确、不规范。需求变化的风险:由于分析人员在进行需求分析时是很难预测客户将来的需求变动的,所以,需求分析只是针对客户已经确定的需求。需求理解错误的风险:阅读者因为报告中的文字表达或者本身水平面很难理解需求分析报告中有些语句。需求分析错误的风险:对客户提出的需求可行性研究不够深人,从而产生分析的偏差。
2.软件设计中的风险识别
除了需要与供应商的系统功能共同设计外,对现有的系统构架,如网页浏览构架还是服务器客户端构架的决策,网络拓扑形式,数据库软件的选取等等设计元素是否与当前的信息系统和网络平台相兼容。
二、软件开发与风险
软件开发有4大要素:人员、项目、产品和过程。软件开发过程就是将用户需求转化为产品所需要的完整活动的集合,是建造高质量软件产品的框架。一个软件开发过程定义了软件开发中采用的方法、模型等,是对软件项目进行控制和管理的基础。软件开发过程与软件风险有紧密的联系,历史上也出现过许多软件开发过程模型。风险,有着不确定的特性,但是并非所有不确定的事物都是风险。而软件开发过程中自g风险,指的是在软件开发过程中,或者在软件项目的管理活动中,项目管理人员不希望发生的、消极的结果发生的可能性。
三、软件开发过程中的风险管理
1.风险管理
风险管理是贯穿于软件项目开发生 102粤子制作
方方数据
命周期的全过程的,它的目的是为了保障软件开发项目按照计划进行。它对软件开发的策略、工具、技术和方法进行整合,对风险评估、计划、排序和监督活动进行控制,是项目管理非常重要的组成部分。风险管理是系统全面的、明确的,而且与常规的软件项目管理是相容的。风险管理可以根据开发类型、项目种类与客户类型灵活选择,这样就满足了系统全面性的要求。而与常规管理的相容性使得风险管理与常规项目管理避免出现矛盾,可以充分利用项目开发资源,是动态进行风险管理的必要条件
2.软件开发风险管理的发展
在软件开发早期或者说还不是很发达的时期.软件的开发基本上采用的都是调码+调试的过程.但是,困难和调试的成本引发了20世纪50年代末期的软件危机为了应对软件危机.软件界希望借用工程的思想解决这一危机.于是出现了软件开发模型。
软件开发过程中的风险是软件项目预期结果的一种概率事件,这个可能性是以概率或者概率区间来表示的,而结果可以用一些确定的值或者值区间来表示。预期结果与软件开发的环境、所掌握的知识、开发状态等方面有关。在软件开发项目管理中,风险可以用实体的概念来描述,那么实体之间的联系和实体的属性可以用来描述风险的相关性质。风险实体可以表述为一个三元组
,其中各个变量分别为风险环境、预期概率和风险引发后果。
3.软件项目风险管理的现状
国内学者在Ilr软件项目风险管理方面也提出了许多有创建性的研究成果。李清、薛四新依据项目管理知识体系和IT项目管理的特殊性,探讨IT项目管理的体系结构和模型驱动的集成技术与方法。方德英在2003年从方法论角度阐明了风险管理的学科思想、学科体系设计机理和设计准则,构建了全面IT项目风险管理体系。随后,在2006年又从组织保障、制度保障和机制保障三个方面论述了组织类型的选择原理、人力资源的配置方法、机制设计的优化思路.并总结了现有的制度标准和度量体系。
四、项目风险管理的内容
项目风险管理主要包括以下过程:风险管理计划编制、风险识别、定性风险分析、风险应对计划编制和风险监视。
1.风险管理计划编制决定了如何动手处理、规划和实施项目的风险管理活
动。风险管理过程的计划编制非常重要因为它要保证风险管理的级别、类型即可见性,和风险本身以及项目对组织的主重要程度是相称的。这样组织才能提供充足的资源、时间来实施风险管理活动。
2.风险识别决定了那些风险会对项目造成影响,并记录下这些风险的属性:一般而言,风险识别的参与者尽可能包括以下人员:项目团队、风险管理小组、来自公司基至其他项目的专业人员、客户、最终用户、其他项目经理、项目于系人和公司外部的专家等。
3.定性风险分析对项目的风险进行优先级排序,以便进行后续的深人分析、或者根据对风险概率和影响的评估采取适当的措施;定性风险分析包括对已识别的风险进行优先级排序,以便采取进一步措施,如何进行风险量化或风险应对。
4.风险应对计划的编制是开发一些应对方案和措施以提高项目成功的机会、降低项目失败的风险:一个有计划的风险应该考虑风险的重要性、成本的有效性、应对的及时性、项目环境中的现实性、是否可以被各方接受以及有一个明确的责任人。风险应对计划的内容要明确出风险的一般应对方法。
5.风险监控是在项目的整个生命周期内,监视残余风险,识别新的风险,执行风险应对计划,以及评估这些工作的有效性。执行风险应对措施,并且连续对项目工作进行监督以发现新的风险和变化的风险风险监控跟踪已识别的危险,检测残余风险和识别新的风险,保证风险计划的执行,并评价这些计划对减轻风险的有效性。
五、重视软件风险管理的必要性
软件工程地定义是为建立和使用正确的工程准则获得可靠的、在机器上高效运行的经济型软件。软件工程包括方法、工具和过程,它们使管理者能控制过程,并为工作者提供了以卓有成效的方式构建高质量软件的基础。面对有限的资源、有待改进的技术以及瞬息万变的环境对复杂系统的强烈需求,要求管理人员必须具备管理项目不确定性的能力。
对目前利润缩减的商业大环境、全球经济极其不稳定的市场条件和技术飞速发展压力下的激烈竞争,我们都可使用一种应对机制,针对这一需求,软件经理和工程师们会根据具体情况,采用风险管理方法
【参考文献】
[]徐绪松,但朝阳高技术项目投资风险模糊综合评价模型[].数量经济技术经济研究,2000,(1:34-36[2]郭百钢,基于Bayes网络的项目投资风险评估与决策方法研究[D].南京:南京理工大学,2004
[3]燕鸣.制造业信息化项目风险管理[9].科技管理研究,2003,(1)