您的位置:软件测试 > 软件项目管理 > 进度管理 >
谈谈软件项目管理的重要性
作者:网络转载 发布时间:[ 2013/5/14 15:23:53 ] 推荐标签:

公司在发展的同时,也会积蓄一些各方面经验。列出所有的经验,按其分类。系统分析中的经验提供给系统分析,设计人员中的经验提供给管理人员,技术中的经验提供给开发员。这样我们会有更多的时间花在新的错误的防范上面。开发出来的系统会一个比一个好。

2)风险管理:

下面先看一下来自一段网上的文章吧!

“一般认为赌博是在冒险。拉斯维加斯老虎机的设计者将老虎机的大赔付率定为97%,即你花时间,往老虎机里塞进100元,多只能赢回970元。

但是,如果比起软件开发所冒险,拉斯维加斯的赌博简直可以称为“安全的冒险”了。软件项目所面临的不断变换的用户需求、糟糕的计划与估算、不可信赖的承包人、欠缺的管理经验、人员问题、伤筋动骨的技术失败、性能欠佳...等等不胜枚举的风险,使大型项目按时完成的概率几乎为0,大型项目被取消的概率和赌博一样成败参半(Jones 1991)。”

所以项目开发中对风险进行控制管理大大提高了软件开发的成功性。软件风险管理工作是在风险成为影响软件项目成功的威胁之前,识别、着手处理并消除风险的源头。一般我们可以在几个层次上定位、管理风险。

1) 危机管理---救火模式,是在风险已经造成麻烦后才着手处理它们。

2) 失败处理---察觉到了风险并迅速做出反应,但只是在风险发生之后。

3) 风险缓解---事先制定好风险发生后的补救措施,但不做任何防范措施。

4) 着力预防---将风险识别与风险防范作为软件项目的一部分加以规划和执行。

5) 消灭根源---识别和消除可能产生风险的根源。

1、2、3项都是被动进行的,亡羊补牢,为时已完。所以我们应当着力于预防风险,更好的是消除风险根源。

风险管理由风险评估和风险控制。而风险评估由风险识别、风险分析和风险优先级组成:

● 风险识别:是提出一个潜在破坏项目进度的风险列表,像生成错误列表一样。

● 风险分析:评估每一个风险出现的可能性及其影响,判定风险的级别。

● 风险优先级:按风险影响大小排出一个风险优先级,这个风险列表将作为风险控制的基础。

风险控制由风险管理计划,风险化解和风险监控组成。

● 风险管理计划:制定一个应对每个重要风险的方案,同时确保每一个单独的风险管理计划之间以及与整体项目计划之间相一致。

● 风险化解:每个重要风险所对应计划的执行。

● 风险监控:是对解决风险的过程进行监控,风险监控还可以包括识别新的风险并将其反馈到正在进行的风险管理进程中等方面的工作。

现在以我以前做的项目来说明一下我是怎样进行风险管理的。

接到项目对项目进行调研工作,在调研中要注意到克服错误列表中的错误。调研完成后,写需求说明书初稿(一般根据情况至少给出两个以上的方案),为客户进行讲解,结合客户意见再次进行修改。把修改后的说明书和同事进行讨论,再次进行修改。在此期间写出总体设计的初稿(大的框架)。后再为客户讲解,再次修改少量的功能。客户确定需求满足后可进行总体设计了。在生成需求分析的同时,注意列出需求中存在的风险。如:需求改变问题、需求定义欠佳等风险。在进行总体设计时,多和客户交流。因为在总体设计中修改需求比在详细设计中修改要容易比在编码阶段修改更加容易了。之后生成总体设计说明书。同时在总体设计中也要对一些不定的因素进行风险监控。列出风险列表。根据总体设计说明书可以开始详细设计了。在详细设计中除了要考虑系统设计外还要考虑一些技术风险问题。把很难预见的问题列到风险列表中。注意,从需求分析到详细设计,随着系统开发的进度, 以前不明的因素将会慢慢显露。同时也会出现新的不明因素。这样让我们必须在整个设计开发过程中进行风险监控、风险识别、风险分析和风险化解工作。同理,在编码中也同样处理。在开发过程中根据分析不同,把风险按阶段分为需求分析阶段风险、总体设计阶段风险、详细设计阶段风险和编码阶段风险。并交由此阶段的人员进行监控和化解。同时,如果在化解安全区(规定解决问题的时间段中)内无法完成解决,则提交专家组(包括到外请的专家顾问)解决( 我们一般是在周五下午的讨论会上进行)。当然软件开发中所碰到的风险是很多的。但不可能完全同时进行风险监控的。通常是把风险列表中认为会发生的风险乘损失的大小后的大数进行严格的监控起来。随着开发进度,风险是在变化的,所以风险列表可能会增加也可能会减少。只要风险管理好了。系统成功了一大半。

3)人员管理:

不同人员之间经验的不同导致绩效差别是有目共睹的,大家可能对不同开发人员之间生产效率差距达10:1的观点较为熟悉,大家也知道一些明确激励措施所带来的正面影响。所以人员管理在软件项目中也有较重的分量。很清楚,人力因素极大地影响着生产效率,同时任何关注提高生产效率的组织首先必须有一套良好的人员激励、团队合作、员工选择及培训的机制。这样才能充分发挥人员的自身能动性。为公司创造更多的价值。

除了以上几个面的管理外还有其它方面的管理也决定软件项目的成功与否。如:团队合作、团队结构、生产率工具等等。这里不多说。大家还是抽空多看看书。因为只要你选择了从事计算机工作,你选择了永不能停止的学习、学习,再学习。否则你将被淘汰。这是多么残酷但又多么现实的事呀!

 三、在项目开发中软件工程VS项目管理:

开发员对软件工程是多么熟悉的呀!为什么会有这么熟悉呢?因为现在的项目要求开发员“按章办事”。否则充其量也只是一部编程机器。上面已讲了软件工程的重要性,这里不多说。现在打个比喻,如果把软件工程比做音乐家,那项目管理是音乐指挥家。一个好的音乐家一个人能奏出动听的音乐,但一群好的音乐家在一起不一定能揍出好的交响乐。它还必须有一位好的指挥家。软件开发也是一样的,有好的程序员只是前提条件,要开发出好的软件,还要有一个好的管理。

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd