1论信息系统项目的范围管理摘要随着互联网数据业务尤其是视频业务的快速增长,各大运营商和企业纷纷提出了更高性能路由器的需求。公司决定立项“下一代高性能多业务路由器开发”项目,我有幸成为该项目的项目经理,负责项目管理工作。该项目成员18人,成立了三个子项目。项目从2011年3月至2012年2月历时11个月,交付三款路由器产品,4个接卡口。本文结合作者的实践经验,从以下几个方面对项目的范围管理进行论述:在需求分析阶段要求需求分析人员细致分析需求并且逐条和市场调研专家进行确认,起到了不错的效果,项目未出现由于需求理解错误而造成的变更。在项目中制定了详细的WBS,工作包分解到每人每周的工作量,通过WBS项目成员对自己的工作目标有清晰的认识,开发效率明显提高。成立了项目变更控制委员会,这个权威机构有效的控制了项目过程中可能出现的需求变更,保障了项目按时保质的完成。正文我所在公司主要从事数据通讯设备的研发、生产和销售工作,在国内处于领先地位,也已经打入国际市场。3年前开发完成投入市场的路由器产品,在市场上反映较好,销量在国内领先,但是由于互联网数据业务尤其是视频业务的快速增长,各大运营商和企业纷纷提出了更高性能路由器的需求。公司决定立项“下一代高性能多业务路由器开发”项目,我有幸成为该项目的项目经理,负责项目管理工作。该项目投入18人,其中项目经理1人,配置管理、测试代表和QA各1人(兼职),软件开发工程师14人。该项目涉及到3款新路由器主机,4块接口卡的开发。按照技术相关性成立了三个子项目组(分别是多核CPU相关的主板子项目组,WAN接口相关的接口子项目组负责其中2块接卡开发,LAN和WLAN相关的交换子项目组负责另外2块接口卡开发),并分别任命了子项目经理,子项目分别管理,子项目经理向我汇报,我对子项目成员采取间接管理的方式。项目采用全新的多核MIPSCPU架构(最高端产品使用16核高性能CPU),和公司自主的网络操作系统平台,接口卡的处理芯片也是公司首次应用的,是采用标准C语言的嵌入式系统开发。从2011年3月至2012年2月历时11个月开发,在2012年6月已经正式通过公司的ADCP鉴定,达到了发布的质量标准。目前出货量逐月递增,现网运行效果良好,未出现重大故障。该项目由于发布缺陷低,流程符合度高,进度控制好也成为了公司级优秀项目。项目范围说明书主要包括项目目标、产品范围描述、项目需求、项目边界、项目的可交付物、产品可接收的标准、项目的约束和假设条件。具体到本项目目标是开发全新的多业务2路由器,在转发性能、表项容量、接口种类等方面满足五年内运营商网络的需求。产品范围是高中低端三款多业务路由器,包括4块接口卡。项目需求包括50个特性需求和转发性能、表项容量、保护倒换时间等性能需求。产品发布的标准是必须通过公司的ADCP鉴定测试。项目的约束是成本和进度的要求,假设条件是采购的多核CPU能够按期供货,公司的网络操作系统平台协议能够按时开发完成。在制定出项目范围说明书以后,通常按照以下的步骤来编制工作分解结构(WBS):识别和分析可交付成果及相关工作;确定工作分解结构的结构和编排方法;自上而下逐层细化分解;为工作分解结构组成部分制定和分配标志编码;核实工作分解的程度是必要且充分的。在该项目中,主要从细致的需求分析和确认、详细的WBS分解、严格的范围变更控制等方面,对项目的范围进行管理,下面将分别论述:一、细致的需求分析和确认项目的需求分析的偏差和理解不透彻是导致项目后期范围做变更的最主要原因,针对此点,在项目的需求分析阶段我们要求需求分析人员对项目范围中的所有特性进行详细的需求分析,包括写作需求分析文档,芯片支持情况分析,竞争对手分析等,这些报告完成后,我们组织需求分析人员对这些特性需求逐条和公司的市场调研专家进行了确认,其中发现了3条需求理解上的不一致,经过充分的沟通后,确认是项目成员对需求理解出现偏差,并及时进行了纠正,减少了项目后期出现需求理解偏差而可能的大规模返工。由于通讯产品开发项目的特殊性,功能特性的实现往往依赖芯片提供的功能是否能够满足要求,通过对芯片特性支持情况的分析,发现了以目前选型芯片的能力,无法满足支持路由表项10万条和VPN表项1万条的性能需求,这个情况及时反馈给了公司的资深系统工程师,经过系统工程师的评估,该需求是必须实现的,通过将使用的主芯片进行重新选型后满足了这个性能需求(采用了Broadcom公司的56640芯片替换了56445芯片)。通过对需求的细致分析,提前发现了需求理解的问题以及需求可能无法满足而造成降低产品竞争力的风险,对项目范围的控制起到了很好的作用,通过项目验收测试进行的范围确认,全部实现了项目范围要求的3款主机4种接口的所有需求。二、工作分解结构和需求跟踪矩阵,对范围进行控制和跟踪经过项目前期的需求调研和竞争对手分析,该项目最终确定开发高中低端三款不同层次的路由器,支持4种接口卡,涉及50个特性,根据以上的信息按照子项目的领域,分别制定了三个子项目的WBS,采用公司的标准WBS模板的表格形式,以项目开发阶段为划分单位,每一个阶段都包括每个主机、接口和特性的开发内容,采用自上而下逐层分解的方法,第一层是3款主机和4种接口卡,第二层是50个特性模块,第三层是子特性,第四层是每个子特3性的需求分析、设计、编码和测试的工作。为了便于工作的跟踪,将工作包的粒度控制在每名开发人员一周的工作量。项目成员以WBS作为开发工作的依据,在项目的所有阶段都是有据可循的,有效避免了项目范围的蔓延以及由此而造成的工作量的增加。我们采用了需求跟踪矩阵的工具,对项目需求和设计、编码、测试各阶段的输出物进行双向跟踪。需求跟踪矩阵以需求分析的编号为索引,每一个需求对应概要设计和详细设计文档中的多个设计点的编号,对应代码的函数名称以及测试用例的编号,实现了每个阶段输出物都有需求的来源,同时每个需求都有对应的输出物。需求跟踪矩阵在项目的每个阶段结束前,由开发人员进行填写并确认项目的范围得到了实现并且没有超过项目范围的要求。三、严格控制项目范围的变更项目开发过程的范围变更对项目的进度、质量、成本都将构成很大的威胁,我们在项目范围管理计划中明确制定了项目的变更控制方法:1、项目的需求分析文档基线化;2、对需求基线的变更需要走变更控制流程;3、成立项目CCB对项目的变更进行控制(成员包括项目经理、配置管理员、质量协调员、产品线总监和产品线资深系统工程师);4、CCB裁决通过的变更需要做基线的修改,并由CCB成员跟踪变更的完成情况;5、范围变更对项目后续阶段产生影响的,需要及时进行项目计划的调整。项目需求分析文档评审通过后在SVN配置库上形成了需求基线,该文档的修改通过变更控制流程严格控制。项目进行到详细设计阶段,从公司的市场调研专家那里得到了支持动态聚合协议以及支持三层组播的需求,从产品推出后的竞争力考虑,我们决定走需求变更流程,将这两个需求提交给了项目CCB进行裁决。经过CCB成员的正式会议,决议是支持动态聚合协议可以在目前已经实现的静态聚合的基础上开发,工作量较小可以在项目中实现,支持三层组播需要协议层面重新开发工作量太大,严重影响项目进度,决定项目完成后启动二期开发完成该需求。裁决后,安排项目成员对支持动态聚合协议进行了详细分析,并更新了项目需求分析基线文档,并将这些变更的实施及时通知给CCB。该需求在项目中通过赶工的方式完成,并未对项目总体进度产生影响。事实证明,成立项目变更控制委员会,并且聘请专家和公司领导作为委员会成员,能够非常有效的控制项目需求的蔓延,抑制不合适的项目变更,有效地保障了项目的范围控制。经过近11个月的项目开发,三款全新的多业务路由器成功推向市场,及时填补了公司这部分市场的空缺,到目前现网运行设备已经超过万台,故障率极低,用户反馈良好。这些成绩的取得是和良好的项目范围管理分不开的,尤其是深入的需求分析,细致WBS分解以及良好的变更控制等工作,使这个技术难度高、工作量大、进度紧张的项目以很高的质量按时完成。4当然项目也存在一些失误和教训,在开发过程中接受的动态聚合协议的需求,由于已经到了详细设计的后期,开发压力较大,虽然通过加班赶工的方式完成,但是这个模块的质量不好,是鉴定测试中缺陷最高的模块。主要的原因是一味追求项目进度,而对该模块的设计工作把关不好,造成后期维护工作量增加,这些都是我在项目范围管理中得到的教训,后续项目开发对于开发过程中变更的需求,同样要注意质量的控制。不过项目中的这些得失都是收获的宝贵财富,为我成为优秀的高级项目经理打下了坚实的基础。