![](https://csdnimg.cn/release/download_crawler_static/88640210/bg13.jpg)
言,范围管理是其中最重要的技能之一。
软件项目的范围主要是由系统需求构成的,而系统需求既是难以把握的,也是容易调整和控制的。软件系统的需
求来源于用户需求,在软件项目目标是满足用户需求的情况下,对于相同的用户价值可以定义出不同的系统需求。举
一个简单的例子,用户的需求是“解决口渴的问题”,那么最简单的系统需求可以是递上一杯水,复杂一些的可能是递
上一杯热水,更复杂的是递上一杯经过多层过滤的纯净水,当然也可以是打一桶虎跑泉的水,然后沏上一杯龙井茶。
用户当然希望用买矿泉水的钱换一杯正宗的龙井茶,但这样的项目范围肯定会导致项目失败。聪明的软件项目经
理总是从范围管理开始,先界定系统的边界,然后再在明确的范围内进行时间、成本、风险等的管理。
在项目中,时间、成本和范围构成了一个稳固的三角形,如图 2-1 所示。
对于该三角形来说,任何一边都不可能孤立地改变。换句话说,我们不
可能固定其中两边而试图缩短第三边。其实这也是很容易理解的问题,如
果项目需要做的东西已经确定( 项目范围固定),项目的人员也已经确定(项目
成本固定),那么项目需要的时间就也是固定的。同理,已经固定的项目投入
和项目时间也只能做出固定的工作。对于这个三角形而言,非但不可能孤立
地改变某一边的长短,就是三边的变化比例不一致也不可能。不成比例的
变化与孤立的改变某一边是一样的,都将破坏三角形的结构,违反项目的
客观规律,最终招致失败。因此有效的范围管理更像一门艺术,可以帮助
项目经理在已经确定的时间和成本下完成项目目标。
在本案例中,高层经理 S 就提出了试图打破这个三角形的要求。他要
求,项目组可以增加部分资源,但要提前两个月完成。初一看,并没有在
不增加投入的情况下要求项目提前完成,似乎合情合理,比起既要马儿跑
又不让马儿吃草的要求好得多,但细一想,增加的资源和提前的时间还是不成比例。项目经理张工深知此中奥妙,因
此在听到高层经理的要求后,马上意识到这是一个不可能完成的任务。
那么该如何解决这个矛盾呢?还是要从这个三角形入手。既然时间和资源的变化已经打破了项目规律,那么不妨
根据新的时间和资源来重新划定合理的项目范围,保证项目的正常运作。于是,张工将这个项目拆分为两部分,重新
定义这两部分的项目范围,使每一部分的范围都可以与已经确定的资源和时间匹配起来,让项目的运作又重新满足了
项目的客观规律,最终取得了成功。
在案例中,还有一些细节需要考生注意。张工最初估算整个项目需要花费 60 人月的总工作量,但如果考虑到拆分
为两个阶段后会增加设计的复杂度,增加了额外的验收过程等因素,超出原计划半个月是正常的。计划在 6 个月内完
成。在把项目拆分后,实际是用了 6 个半月的时间,也就是花费了 65 人月完成了项目。对于上面介绍的时间、成本和
范围的关系而言,仅是在理想情况下成立,即项目成员始终能以固定的成本完成固定的工作。而在实际情况下,项目
的工期、复杂度等因素都会对项目造成影响。在案例中,虽然看似两部分工作的总和等于没有拆分前的项目,但这仅
对于最终目标而言,拆分后的项目增加了若干中间成果,项目的范围实际上还是扩大了。
因为软件项目的范围直接与需求相关,所以,很多人误认为控制项目范围就是控制需求,而控制的方法就是减少
需求的内容。这种理解是完全错误的。
范围控制体现在软件开发的各个阶段,很多范围控制并非是针对客户的要求而进行的。例如,本案例中,范围控
制就是针对高层经理的要求进行的。再比如,在设计中,我们既可以设计刚刚够用甚至略有欠缺,通过牺牲系统的扩
展性、维护性等方面来简化设计,也可以对系统进行充分良好的设计,甚至可能是过度设计。采取哪一种设计策略也
是软件项目范围管理的一部分。项目经理可以根据目前的项目的目标与环境出发,综合考虑质量和成本的约束,制定
明确的项目范围,保证项目的成功。根据笔者的经验,即时需求已经确定,通过有效的范围管理仍能给项目带来很大
的收益,可以在不牺牲软件质量的前提下通过范围管理来降低项目成本,缩短项目工期。
上面主要针对张工在范围控制方面进行了分析,实际在整个案例中,张工还进行了其他的范围管理工作。
首先,在项目刚刚开始,张工就对项目范围进行了定义,进而划分了 WBS 并对项目进行了估算和计划。在 S 提出
需要缩短工期的要求后,张工首先进行了项目范围的控制,缩小了第一步需要完成的项目范围。紧接着张工又对两阶
段需要完成的项目范围进行了重新定义,制定了验收标准。最后,张工对重新定义的范围进行了确认,与客户和高层
经理达成一致。
对于项目而言,仅仅管理范围仍不能保证项目的成功。在这个案例中,张工也运用了其他的管理手段。其中包
括,张工对项目进行了估算,这属于项目时间管理的范畴;张工协调了多个项目干系人之间的矛盾,这属于沟通管理
的范畴。
有了上面的分析,这道考题的答案也就很清晰了。