摘要
随着互联网数据业务尤其是视频业务的快速增长,各大运营商和企业纷纷提出了更高性能路由器的需求。公司决定立项“下一代高性能多业务路由器开发”项目,我有幸成为该项目的项目经理,负责项目管理工作。该项目成员18人,成立了三个子项目。项目从2011年3月至2012年2月历时11个月,交付三款路由器产品,4个接卡口。
本文结合作者的实践经验,讨论了项目质量管理上所作的工作。在制定质量管理计划过程中,充分分析了项目的质量成本,在满足进度要求下进行成本效益的分析,制定了适合该项目确实可行的质量管理计划。质量保证方面通过和QA的密切配合以及每个开发阶段的审计工作,保证了项目开发过程以及交付产品的质量。质量控制通过全过程的评审以及检查表、趋势分析、帕累托图等工具,通过以上质量管理的措施,保障了项目高质量完成,得到相关部门的一致好评。最后论述了项目中的质量管理和企业质量管理的异同。
正文
我所在公司主要从事数据通讯设备的研发、生产和销售工作,在国内处于领先地位,也已经打入国际市场。3年前开发完成投入市场的路由器产品,在市场上反映较好,销量在国内领先,但是由于互联网数据业务尤其是视频业务的快速增长,各大运营商和企业纷纷提出了更高性能路由器的需求。公司决定立项“下一代高性能多业务路由器开发”项目,我有幸成为该项目的项目经理,负责项目管理工作。
该项目投入18人,其中项目经理1人,配置管理、测试代表和QA各1人(兼职),软件开发工程师14人。该项目涉及到3款新路由器主机,4块接口卡的开发。项目采用全新的多核MIPS CPU架构(最高端产品使用16核高性能CPU),和公司自主的网络操作系统平台,接口卡的处理芯片也是公司首次应用的,是采用标准C语言的嵌入式系统开发,从2011年3月至2012年2月历时11个月开发,在2012年6月已经正式通过公司的ADCP鉴定,达到了发布的质量标准,目前出货量逐月递增,现网运行效果良好,未出现重大故障。该项目由于发布缺陷低,流程符合度高,进度控制好也成为了公司级优秀项目。 在该项目的开发过程中,我们主要从以下几方面进行质量管理的:
一、充分分析质量管理成本,制定确实可行的质量管理计划
该项目开发周期长、规模较大、涉及人员也比较多,并且应用的开发技术和芯片是业界比较新的,为了在满足公司对项目进度要求的情况下,保证高质量的交付产品,对于提高用户的满意度、降低产品生命周期的维护成本、提升公司声誉等至关重要,由于公司产品已经打开海外市场,产品的稳定性、可维护性、可靠性、容错性的要求就更加重要,不然就会产生极大的售后维护费用。经过和公司高层的充分沟通和协商,对该项目的质量标准达成了一致的观点。将按照公司A类项目的质量标准,采用公司统一的IPD-CMM流程,并且开发的每个阶段进行质量审计和阶段结束度量会议,项目验收按照低于0.5/KLOC(每千行0.5个缺陷)的标准进行,这些要求都写入了项目质量管理计划。
项目的质量管理成本包括预防成本、评估成本和故障成本,预防成本和评估成本是一致性成本一般发生在质量保证和质量控制过程中,故障成本属于不一致性成本。我们通过公司的过程资产库得到以前类似项目的质量成本数据,类比本项目的具体情况以及需要达到的质量标准等,初步估计了项目的质量成本。经过
综合分析该项目交付产品的预期利润,以及生命周期维护可能的高额费用等,我们决定将通过类比得到的质量成本进行10%的提升,以加强该项目的质量管理过程并防止开发过程出现为预料的质量风险等。
二、和QA密切配合全过程质量审计,为项目过程和交付产品提供质量保证 项目的每个开发阶段结束,我们都会对该阶段的开发过程以及阶段性交付物实施度量,包括该阶段的进度情况、工作量偏差、缺陷密度等,由QA对度量结果以及项目过程文档进行审计工作。经过阶段结束的度量和审计工作,和公司组织过程资产以及项目计划比较,会及时发现项目的偏差,防止质量风险累计到项目结尾而造成不可挽回的损失,然后通过因果图、帕累托图等辅助工具进行原因分析,并进行相应的改进。对开发阶段结束的度量数据、审计结果的分析和改进结果,我们都会进行阶段结束会议进行总结,在会上大家讨论本阶段开发的得失,以及下阶段的改进意见等,并由QA对度量和审计情况进行汇报和指导。随着项目开发的深入,经过了多次度量、审计、分析、改进的过程后,项目的流程符合度逐渐提高,文档和代码的缺陷率也逐步下降。
QA是项目开发中的老师、医生和警察,我们在项目开发中充分重视QA在质量保证方面的作用,从开发流程、模板和工具使用、文档写作、数据度量、阶段审计等工作上都和QA进行了密切的配合。在项目计划阶段,我们采用德尔菲方法进行项目的工作量估计,由于估计专家对该方法不熟悉,我们邀请QA对方法和估计流程进行了指导,并作为估计协调员全程参与了估计工作,QA的全力协助对项目工作量科学准确的估计起到了非常好的效果。项目初期项目成员对度量的方法和模板使用存在问题并且对审计工作不是很理解,我们请QA就项目的度量工作给项目度量员和项目成员分别进行了细致的指导工作,并对审计工作进行了深入的交流,使项目成员充分认识到项目度量和审计的重要性,扭转了大家对审计工作比较排斥的情况。
三、灵活应用各种工具,控制项目各阶段交付物的质量
在项目中我们实施了全过程的评审,包括项目计划、范围说明书、WBS等过程文档,以及需求、概要设计、详细设计、代码、单元测试、集成测试、系统测试用例等工程文档,这些评审都是项目全员参与,提升了大家的参与感和凝聚力,同时也发挥了各领域专家的判断能力。评审中的10%review是我们在项目中严格
要求的,它的作用是在正式写作文档前互相统一写作风格和写作力度,方便后面的评审过程。正式的评审文档要求提前3天指定评审组长和评审专家,评审专家先分别评审,并且将评审意见汇总给评审组长,评审组长根据发现缺陷密度和质量决定召开评审会议的时机。评审问题在会前分别确认,不能达成一致的在评审会议上确认。这些措施保证了评审的质量,发现有效缺陷数量较多,确认和修改缺陷效率提高,有效控制了项目各阶段交付物的质量。
公司过程资产库中对每个阶段的评审都有检查表,我们针对项目的具体情况,增加了包括多核MIPS CPU开发、性能提升的关键设计点等评审检查点,通过对评审检查表的使用,对文档质量控制更加严格和规范化,也更多的借用了公司以前项目的经验教训等。
项目中的质量管理属于项目管理层面,企业质量管理属于企业管理层面,项目的质量管理是通过执行质量管理计划制定、质量保证、质量控制来保证项目交付物满足客户的需求,强调的是软件开发过程和交付物的质量管理。而企业级质量管理的任务是质量管理体系的建立,管理和维护,主要是企业质量规范、制度的制定和组织过程资产的形成等内容。两者相似之处是目标的一致,以及过程都要形成文档并且强调持续改进。项目质量管理是在企业质量管理制度和流程约束之下的管理过程。
经过近11个月的项目开发,三款全新的多业务路由器成功推向市场,及时填补了公司这部分市场的空缺,到目前现网运行设备已经超过万台,故障率极低,用户反馈良好。这些成绩的取得是和良好的项目质量管理分不开的,尤其是制定确实可行的质量管理计划、和QA密切配合以及阶段审计等质量保证手段、全过程评审、检查表、因果图、帕累托图等工具的应用都对项目顺利完成起到了很关键的作用,有效保证了项目的开发质量。
现在看来项目也存在一些失误和教训,比如详细设计阶段出现了需求变更,增加动态聚合协议的需求,由于采用了赶工等方式,虽然按照计划进度完成了,但是由于忽视了对该模块的质量控制,导致已经设计完成的静态聚合模块质量也受到一定的影响,主要原因是对变更模块缺乏质量控制意识急于赶进度,对于需求变更的评估也不够仔细和充分,在以后的项目开发中需要吸取教训。不过项目中的这些得失都是收获的宝贵财富,为我成为优秀的高级项目经理打下了坚实的基础。
因篇幅问题不能全部显示,请点此查看更多更全内容