1、1浅谈软件项目范围管理项目管理的四大基础要素为:项目范围(Scope) 、时间(Time) 、成本(Cost) 、质量( Quality) ,其中项目范围管理是重中之重。一、 项目范围界定的困难软件项目,尤其是与用户业务流程密切相关的信息管理系统项目发起之初,项目的需求往往不明晰,只是明确了用户业务过程的电子化、规范化、信息化目标。具体怎么体现,用户并不了解利用计算机技术究竟能做些什么,在广度和深度上没有足够的认识。而开发商对用户的业务不熟悉,不知道或是不真正知道用户究竟想做什么,需要达到什么样的目标。通过用户和开发商的需求沟通,需求逐渐明晰。但由于工期的限制,这种沟通的时间是有限的。在没有完
2、全、准确地确定需求的情况下,对项目范围的界定就增加了不少难度。另外,项目范围蔓延是非常可怕的事。客户总是想把所有的需求都在一个系统里实现,从而导致项目成果的臃肿和不切实际。客户有种想法是非常不可取的:“(开发人员)做好了先放在那儿,即使不用也好,以后万一用上了呢?”。还有,客户在项目进程中,尤其是到了项目后期,不断对提交的系统提出修改意见,甚至有时刚刚重新设计完成并开始更改,客户又要求改回去或改成另一种模式。 “无底洞”是国内大部分项目经理进行信息系统集成项目的共同感觉。二、 充分的需求沟通为了科学地、合理地、准确地定义项目范围,首要条件还是要对用户需求进行充分的沟通,以达到对需求的最终确认。
3、三、 软件项目范围管理的重要性项目范围是指产生项目产品所包括的所有工作及产生这些产品所用的过程。项目干系人必须在项目要产生什么样的产品方面达成共识,是基于用户需求分析对项目产出物的清晰定义;同时,也要在使用怎样的过程生产这些产品方面达成共识。2项目范围管理是指对项目包括什么与不包括什么的定义与控制过程。这个过程用于确保项目组和项目干系人对作为项目结果的项目产品以及生产这些产品所用到的过程有一个共同的理解。项目范围管理的任务是界定项目包含且只包含所有需要完成的工作,并对项目其他管理工作起到指导作用,以保证顺利完成项目的所有过程。科学的范围管理是项目成功的第一步,它的基础是一个科学的范围管理流程,
4、其中包括范围计划、范围定义、范围确认和范围变更。四、 项目范围计划项目本身具有临时性、独特性的特点,而且项目过程也是个逐步优化、完善的过程。 项目的临时性、独特性的特点,说明了不同项目过程之间必定存在着差异,因而不同项目的过程不可能完全一样,也就不可能在一个项目当中完全重现另外一个已经完成的项目的全过程。这一点与那些以复制为主的运营式管理是有很大区别的。因此,每个项目都必须根据自身的实际特点来制定适合的项目计划。项目范围计划是指进一步形成各种文档,为将来项目决策提供基础,这些文档中包括用以衡量一个项目或项目阶段是否已经顺利完成的标准等。作为范围计划过程的输出,项目组要制定一个范围说明书和范围管
5、理计划。要做好一个项目,首先强调的就是周密地做好范围计划编制。范围计划编制过程是将产生项目产品所需进行的项目工作(项目范围)渐近明细和归档的过程。范围说明是在项目参与人之间确认或建立了一个项目范围的共识,作为未来项目决策的文档基准。范围管理计划是描述项目范围如何进行管理,项目范围怎样变化才能与项目要求相一致等问题。它包括对项目范围预期的稳定而进行的评估。范围管理计划还包括对变化范围怎样确定,变化应归为哪一类等问题的清楚描述。五、 项目范围定义定义项目范围可能是定义一个项目过程中最重要的部分。事实上,如果你不确定你在进行的是什么,以及你所进行的项目的边界在哪里,你就根本不可能成功。管理项目范围是
6、项目管理中最重要的一部分。但是,如果你没有很好3地定义项目范围,那么你的项目将不可避免地面临失败的危险。在项目范围的定义中,项目包括什么是人们通常要描述的,但项目不包括什么,往往是容易忽略的,而不包括什么恰恰是更能够有效地界定项目的边界,应该引起足够的重视。范围定义要将项目主要的可交付成果细分成较小的、更易管理的单元。这个过程中,项目组要建立一个工作分解结构(WBS) 。WBS 的建立对项目来说意义非常重大,它使得原来看起来非常笼统、非常模糊的项目目标一下子清晰下来,使得项目管理有依据,项目团队的工作目标清楚明了。如果没有一个完善的 WBS 或者范围定义不明确时,变更就将不可避免地出现。因此,
7、必须很好的控制范围的定义过程,应该强调,没有在 WBS 中的工作是不应该做的。六、 项目范围确认范围确认是指对项目范围的正式认定。项目主要干系人,如项目客户和项目发起人等要在这个过程中正式接受项目可交付成果的定义。这个过程是范围确定之后,执行实施之前各方相关人员的承诺过程,它确保了项目范围能得到很好的管理和控制。七、 正确理解项目范围的变更一个项目的范围计划可能制订的非常好,但是想不出现任何改变几乎是不可能的,因此变更是不可避免的,关键问题是如何对变更进行有效的控制。项目经理和项目小组必须意识到范围变更本身并没有什么不对,事实上很多时候这会使系统更健壮、更实用。客户通常不能一开始就确定所有需求
8、,而且情况会随时间而变化,如果不能包容变更,那么最终的软件系统可能就达不到应有的价值。但是如果变更失控,后果也非常严重,甚至于导致整个项目的失败。因此,在一个项目过程当中,对计划进行变更是必然的。各方面都要对计划变更给以足够的重视,通过对计划变更的管理起到控制项目的作用。八、 项目范围变更控制变更控制的目的不是控制变更的发生,而是对变更进行管理,确保变更有序进行。为执行变更控制,必须建立有效的范围变更流程,它对管好项目至关重要。在变更过程中要跟踪和验证,确保变更被正确执行。41) 记录变更请求( CR): 任何变更,不论以后是否会被接受,都应该首先记录下来,有些变更请求也许在本阶段不被接受,也
9、许可以成为以后参考的功能或范围。所以对于任何变更请求,首先要做的是记录下来是一个什么样的变更请求,是由哪一类项目干系人提出来的,以及相应的联系方式。2) 澄清变更细节,分析相应变更请求的必要性。3) 对变更请求产生的原因进行分析,象是由于在项目初期对需求没有明确产品范围产生的项目变更,或是没有明确项目范围产生的变更,还是由于外部事件产生的原因。4) 根据变更请求,由相应的人员分析相应变更请求对现有项目进度的影响程度,并分析相关的变更请求之间的影响关系,添加相应记录在相应的变更请求中。5) 根据变更请求对现有项目进度影响程度,确认相应的成本估计。6) 对项目变更排列优先级。针对项目现有进度,进行
10、项目变更的项目进度影响、费用及项目可接受影响程度,建议对变更请求采取的应对措施,记录风险和相应的风险应对计划。7) 同项目赞助人协商项目变更影响,解决变更请求需要符合的条件,以及相应的费用的变化,及项目赞助人的可接受程度确定是否实施变更。8) 项目配置控制委员会批准相应的项目范围变更,进度计划,人员和费用计划。9) 项目管理将项目变更加入现有项目的项目详细计划中,更新相应的项目文档,通知相应项目干系人相应的项目内容、进度、人员、费用的变更。10) 执行并提交项目变更。11) 在项目变更被接受后,终止变更请求。12) 记录实际项目变更所带来的影响,汲取的教训分析。总之,控制好变更必须有一套规范的
11、变更管理过程,在发生变更时遵循规范的变更流程来管理变更。通常对发生的变更,需要识别是否在既定的项目范围之内。如果是在项目范围之内,那么就需要评估变更所造成的影响,以及如何应对的措施,受影响的各方都应该清楚明了自己所受的影响;如果变更是在项目范围之外,那么就需要商务人员与用户方进行谈判,看是否增加费用,还5是放弃变更。因此,项目所在的组织(企业)必须在其项目管理体系中制定一套严格、高效、实用的变更控制流程。项目所处的阶段越早,项目不确定性就越大,项目调整或变更的可能性就越大,同时带来的代价比较低。但随着项目的进行,不确定性逐渐减小,而变更的代价、付出的人力、资源逐渐增加,就会增加决策的困难度。九、 结束语 对于软件开发项目来说,由于客户通常不能确定最终解决方案的全部功能和需求,所以范围变更是经常的事。对此,项目经理和项目小组既不能一味拒绝,也不能全盘接受。对变更控制的目的并不是控制变更的发生,而是对变更进行管理,以便更好的处理变更,确保变更朝着有利于项目成功的方向有序进行。