中国项目管理资源网

谈谈软件项目管理的重要性2

2006/4/13 9:21:26 |  1969次阅读 |  来源:转载   【已有0条评论】发表评论

典型错误中有人员方面的。如:对有问题的员工失控、挫伤积极性、人员素质低、英雄主义、项目后期加入人员、开发人员与客户之间发生摩擦、不现实的预期、缺乏有效的项目支持、缺乏各种角色的齐心协力、政治高于物质、充满想像等…


典型错误中有过程方面的。如:过于乐观的计划、缺乏足够的风险管理、缺乏计划、在压力下放弃计划、在模糊的项目前期浪费时间、前期活动不合要求、缺少管理控制、缺少质量保证措施、鲁莽编码等…

典型错误中有技术方面的。如:过高估计了新技术或方法带来的节省量、项目中间切换工具、缺乏自动的源代码控制手段等…

.

b、 列出自己的最差实践:

注意典型错误,建立自己的最差实践列表,可以避免在以后的项目中犯同样的错误。


c、 列出项目中的最差实践:

组织机构和其他项目组总结经验,学习他们的错误中得到的经验。和其他组同事交流项目开发中的磨难,学习他们的经验。列出潜在的错误,看到它我们就会尽量避免今后犯同样的错误。


打个适当的比喻,典型错误好比我们学车时教练讲的经验,自己的最差实践就像我们在实际开车当中出的问题,而项目中的最差实践就是我们学车前的笔试的书。

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

2.2、风险管理:
下面先看一下来自一段网上的文章吧!

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

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

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

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

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

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

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

5) 消灭根源---识别和消除可能产生风险的根源。
1、2、3项都是被动进行的,亡羊补牢,为时以完。所以我们应当着力于预防风险,更好的是消除风险根源。

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

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

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

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


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

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

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

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

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

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

【 发表评论 0条 】


网友评论
网友评论(共0 条评论)..

请您注意·自觉遵守:爱国、守法、自律、真实、文明的原则
·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·您在中国项目管理资源网新闻评论发表的作品,中国项目管理资源网有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款