软件项目管理论文 班级:
学号:
姓名:
科学技术学院
NANCHANG UNIVERSITY COLLEGE OF
SCIENCE AND TECHNOLOGY
软件项目管理论文
(2011 — 2012 年)
题 目
学 科 部: 信息学科部
专 业: 09软件工程
班 级: 091软件工程
学 号:
学生姓名:
指导教师:
起讫日期:
1
软件项目管理论文 班级: 学号:
姓名:
怎样才能做好软件项目的风险计划
摘要: 阐述了软件项目风险的概念和风险定义,并且分析了在软件项目中的风险类型,
最后根据风险的定义和类型,分析出相应的风险避免措施。
关键词:风险的概念;风险定义;风险类型;避免措施;
软件行业在社会各界(包括政府、教育机构以及各个企业)的日益剧增的信息化需求下,已经成为高速信息化建设中必不可少的一个元素。所以软件行业要不断的提高稳定程度和运行效率,然而软件项目本身就是一个高风险的项目类型,任何项目都是存在一定的风险性,软件项目更是不例外,所以软件项目需要更好的风险避免措施,只有做到更好更科学的防御措施,才能在最大程度上降低软件项目成本和提高软件项目的成功率。再者,国内外的一些成功的软件项目案例告诉我们,软件项目风险分析是一个相当重要不容忽视的环节,只有做好了软件项目风险分析才能致使软件项目成功地进行,得到用户满意的软件,这也是众多软件公司的最终目的,所以科学的风险分析和必备的防御措施是一个好的软件项目的先决条件。
1 软件项目风险概念
首先,我们知道任何项目都是有一定的不确定性和风险性,然而,软件项目是一个风险比较大的项目种类,所以总而言之,零风险的项目基本上是不存在,项目中的风险分为多种类型的,只是我们在遇到风险的多少、大小以及严重程度是不同的。
再者,我们分析一下,在软件项目中,我们一般遇到的软件项目风险是怎么样的。在软件项目风险分析中,基本上所有的软件项目管理者都会很大程度上地关注软件项目的进展程度、完成情况以及对成本的控制等等,但是我们必须不可以忽视的问题是我们在项目进行当中遇到的风险,这些风险虽然一时半会可能会隐藏于软件开发中,但是一旦这些问题暴露出来,就会给软件项目带来不可挽回的灾难,任何一个技术人员、管理人员的一个失误或者软件开发中的任何一个负面的因素都有可能成为软件项目成功的威胁,所以我们不能忽视任何的失误,更不能忽视任何一个可能的风险。然后在我们的软件项目中,有可能就是因为一种侥幸的心理往往让我们得不偿失,因为风险本来就是一个不及时出现而又可能本质存在的客观因素,所以我们说它是一种潜在的风险,但是当它真正威胁到我们的时候,也就是我们发现风险存在的时候,这个时候它已经给我们带来了很大的麻烦,并且严重的有可能是不能挽回的损失,所以作为一个软件项目技术人员或者管理人员,我们都应该及时的关注软件的发展进度,并且的不断的尝试有可能出现的风险的分析。
所以,我们要对软件项目进行规划来查找可能的风险,这样软件项目的期望值才会由低变高,进行了风险分析,这样软件项目的成功率也会大大提高,根据成功软件项目的经验和失败软件项目的教训,我们得知成功的软件项目都必须采取积极的步骤对要发生或者有可能存在的风险进行分析,从而才可能采取有效的措施避免软件项目的失败。 2 软件项目风险定义
风险是潜在的对软件项目的威胁,未来可能发生损失的一种度量,当然也有可能不发生,但是一旦这种危险出现了,就会对软件项目带来很大甚至不可估量的损失,也是对公司的一种负面消极影响。软件项目风险是是未来的一种关注,本来风险就是不确定性的,所以这种潜在的危险就给开发过程中带来了各种决策的选择,另,风险还和人为因素(例如思想、行为)和环境因素(例如时间、地点)有关,等等这些因素都会导致软件项目的风险,所以在对软件项目进行分析的时候这些因素都是不容忽视的。
软件项目风险一旦出现就会影响软件的开发进度、成本,这些都可能导致最后的软
2
软件项目管理论文 班级: 学号:
姓名:
件项目的失败,这些都应该是软件项目组所关心的重点。在软件项目的开发过程中,我们都知道现在软件行业的技术是日新月异的,所以必然会用到一些新技术,以及我们的人力方面,这些都是影响项目开发的主要因素,然而正是这些因素的复杂性,也就造就了软件项目风险的复杂性,这些因素本身就是不确定的,当我们面对这些复杂的未知数时,要进行科学的分析得出更加合理的答案,才能使软件项目不断地向成功的方向发展,并且对软件开发做出一个正确的引导,反而言之,项目损失带来的将是项目的无法如期完成或者大量的超出成本预算,这些都将给企业带来直接的损失和消极的影响,所以我们在这里可以定位软件项目风险的重要性。
综合上述的分析,我们可以总结出风险的几个要素,风险首先是一个不确定的风险因素,然后会导致一个风险事件,这样带来的结果就是直接的损失,这样开发出来的软件就和企业以及客户的预期值相差太远,最后就有了风险结果,我们可以用一个图来表示这个风险描述:
3 软件项目风险类型
软件项目风险的类型可以从不同角度进行分类,以下就范围角度和预测角度进行风险类型的分析:
从范围角度,风险主要分为:商业风险、管理风险、人员风险、技术风险、开发环境风险、客户风险、过程风险和产品规模风险等等。
1) 商业风险:是指与管理或市场所加诸的约束相关的风险,主要包括市场风险、策略
风险、管理风险和预算风险等;
2) 管理风险:是指在项目开发进程中,对潜在的人力和物力以及相关资源的管理风险,
这其中包括对时间、技术人员和项目相关资源的分配不合理,还有对项目计划实施没有做到足够好的预期安排等;
3) 人员风险:人员风险主要是指在开发和实施的过程中技术人员自己的相关因素,其
中主要包括技术人员自身的不稳定性和错误判断,还有包括项目参与人员的经验不够丰富以至于做出错误的决定,这些都会影响项目的质量;
4) 技术风险:是指在不断更新的软件开发技术中,会有某些不稳定的技术的参与,或
者与正在进行的项目不兼容的现象等等,所以在做技术风险分析的时候,我们先要对技术的稳定性和兼容性进行准确的测试,这样才能给软件项目进行准备的技术定位;
5) 开发环境风险:主要是指开发环境以及工具可能会对项目造成的风险;
6) 客户风险:在软件项目开发中,我们可以很明确的感觉到用户的需求的确定是一件
具有一定复杂性的工作,这样往往在我们的开发过程中,可能是因为客户的理解的差异造成客户修改需求的风险,这样的风险是最常见的,我们不能随时的变更需求,但是客户又必须要求更改需求的时候,这时候我们的客户风险就大大的出现在软件项目中了,所以为了避免这种风险或者减小这种风险发生的可能性,所以我们在分析客户需求的时候就要尽量想到以后可能会出现的风险;
7) 产品风险:产品风险主要是指在产品成型之后,所出现的产品质量与客户或者开发
人员自己所预期的不相符合的情况;
3
软件项目管理论文 班级: 学号: 姓名:
8) 过程风险:过程风险是与软件过程被定义的程度以及它们被开发组织所遵守的程度
相关的风险;
从预测角度分析风险类型:
1) 已知风险:在软件开发过程中,已经知道的风险是通过评估项目计划、开发项目的
商业及技术环境以及其他的可靠的信息来源而得来的;
2) 可预测风险:这种风险类型是通过以往的项目经验来进行预测的风险类型;
3) 不可预测风险:不可预测的风险往往是隐藏在项目开发过程中,这种风险是很难在
其中得知的,但是这种风险出现几率就没有那么大了,所以一个强大的企业需要有能够承担这种风险的能力;
4 软件项目风险计划
客户的需求是否应该得到满足?软件工程是否目的就是满足客户的需求?这个问题看来是无法加以回答的,因为,它没有提供两个基本的解释,其一:客户 的需求即算从客户的利益立场出发,是不是合理的?其次,客户的需求有多大程度上是必要的?还是只是一种个人的喜好?
如果说对于商业客户来说,在项目开始前,还存在着做与不做;以及多少价钱来做的选择的话,那么,在许多情况下,工程人员如果不对此有明确的立场,唯一的结果就是累死自已,而软件项目永远不令人满意,也永远不能完成。对于商业性客户来说,客户的需求是否合理是客户自已的事情,客户永远是对的,这句口号的台下词是:只要客户肯掏钱,那怕他要跳海,那也是他自已的事!但如果项目是已经签署定的合同单,那么就存在着是否按原合同继续,还是中止,还是变更付款条件的的问题。而对于内部项目,所谓的成本就是工程人员有多累和什么时侯累死的问题。这时侯,软件工程从业人员最好能够明白,在自已累死以前,老板,以及那些不学无术对技术一窍不通却自以为是行里大家的同事,都不会对你有任何怜惜的。
所以这时侯那种无条件满足客户需求的工程需求管理就不适用了,这时侯,软件工程人员只能根据自已能够承受的工作强度对各种需求进行取舍,而不是无条件地牵就“客户”的需求,更不是迁就无知的需求。客户是上帝这句话这时侯完全不适用,因为客户不会为朝改晚改的需求付钱,付帐的是程序员自已??让自已早点累死。
把种种需求明列并分级是唯一的办法;自已就按步就班一点点地完成,这是唯一的办法。事实上,对于商业客户这也是适用的,因为收钱的毕竟是公司老板而不是项目组的程序员,公司老板收了钱就不管实际项目成本是多少而让程序员无条件接受客户的需求也是常见的事情。所以把需求明列,既是让老板明白眼前项目的成本到底是多少(老板通常是技术盲),也有了与客户讨价还价的根据。
我把需求分成五个等级。五分等级也是工程技术上的常用方式,如同大学的五分制。 一级需求(或改变)是关键性的需求,这种需求如果不满足,意味着整个项目不能正常交付使用,前期工作也会被全部否定。这是必须满足的,否则就意味着否定程序员自已。所以定为Urgent.; 这通常是属于补救性的debug类型,要救火。
二级需求(或改变)是后续关键性需求,它不影响前面工作内容的交付,但不加以满足,新的项目内容无法提交或继续。所以是NECESSARY;一般新模块关键性的基础组件,属于这个级别。
三级需求是后续重要的需求,它不能满足会令整体工作价值下降,为了体现项目价值,也是程度员自已的技术价值的证明,所以定为NEEDED;一般性的重大的有价值的全新模块开发,属于这个级别。
以上三个等级是应该实施的,但时间性上可以作优先级的排列。
4
软件项目管理论文 班级: 学号: 姓名:
四级需求是改良性需求,没有它并不影响已有功能的使用,但实现了,有可信的根据可以是BETTER.界面和使用方式的要求,一般在这个档次。
五级需求是可选性需求,没有它没有谁会活不下去,有了它,没有根据一定带来好处,更多是一种设想,以及一种可能;通常只是需求代理人员的一种个人喜好。所以是MAYBE。
对于四级需求,工程人员项目有空,不妨做下去;对于五级需求,有兴趣有余力就做,没有兴趣或者没有余力,管他需求不需求,除非额外付大钱,就让提这些外行需求的家为一边凉快去。
5 结束语
本论文主要介绍了软件项目风险的概念、风险的定义、风险的类型以及避免措施。我们了解了风险的危害性,风险会对项目的成功造成决定性的威胁,所以当我们知道了风险危害性以后,应该怎么地去避免措施,做好合理科学的检查和预测,才能高效的防御风险发生的可能性,所以,要想做好一个软件项目,软件项目中的风险分析是一个重中之重的环节,不容忽视的,我们要总结已有的软件项目的成功和失败之处,然后运用到自己的项目中来,这样才可以最好的做到软件项目风险分析工作。
6 参考文献:
【1】韩万江 姜立新 软件项目管理案例教程(第二版) 机械工业出版社,2009.04.
【2】卢有杰 卢家仪 项目管理系列教材 清华大学出版社 2001.08
【3】王卓甫 工程项目风险管理 中国水利水电出版社 2003.02
【4】Elaine M.Hall(王海鹏 周靖译) 风险管理 清华大学出版社 2002.09
【5】王梅源 软件外包项目全过程风险管理 华中科技大学出版社 2009.10
5
第二篇:软件项目风险计划案例
软件项目风险计划案例
本案例选自《软件项目管理案例教程》(韩万江,机械工业出版社)一书,项目案例为《校务通管理系统》。
本项目的主要风险是开发人员对客户需求中的学校管理环境不是很熟悉,另外,客户要求的进度比较紧,而且具体需求不是很明确。下面的这个风险列表就是通过一系列的风险识别、风险评估、风险规划和风险控制,最后得出的项目TOP10风险列表。
表1 风险分析表