论项目质量管理摘要:项目质量管理的目的是通过执行项目质量管理过程和使用一些基本项目管理工具及技术来保证信息系统的质量。2010年1月,我参与了国家电网公司“**管理系统”项目建设,在项目建设中担任项目经理职务。本文介绍了项目的基本情况,并详细叙述了在项目建设过程中所采用的一系列质量管理措施,主要包括项目质量标准体系、项目质量计划、软件质量保证(SQA)等措施。一、项目概述从08年抗冰抢险、电网企业的“迎峰度夏”等专项应急活动,无不体现了电网企业应急工作的重要性。为进一步加强国家电网公司**体系建设,在国家电网公司有关领导的高度重视和支持下,“国家电网公司**管理系统”项目作为“SG186”的重点工程于2010年1月正式启动,项目总投资为1000万元,整个系统依托**知识库,……为指导,功能涵盖……,为**编制及管理提供智能辅助。使用单位覆盖国家电网公司总部、各网省电力公司及地市公司。我作为项目经理,负责整个项目的项目管理工作。项目组根据梳理**管理业务流程,调研客户提出的需求。确定了系统功能模块,并将系统功能模块划分为两大体系:……生命周期管理体系和……日常管理体系。……。二、质量管理措施及策略客户及公司领导对项目的的高度重视使得项目团队压力倍增,如何在有限的时间和预算成本内,尽可能的做好质量管理工作,是我担任该项目项目经理时在不断考虑的问题。在公司项目管理委员会的帮助指导下,我采取相关措施和方法,使得项目质量管理工作取得了较大成效,总结起来主要有以下三点:1、项目质量标准体系质量一般通过定义交付物标准来明确定义,这些标准包括各种特性及这些特性需要满足的要求。另外,质量还包含对项目的过程的要求,比如规定执行过程应该遵循的规范和标准,并要求提供过程被有效执行的证据。因此,质量管理主要就是监控项目的交付物和执行过程,以确保它们符合相关标准,同时确保不合格项能够按照正确方法排除。建立必要的质量标准是进行软件项目质量管理的前提和关键。根据在实施软件项目方面的整体战略规划与软件项目实施计划,一个软件项目在正式开始前首先要确立衡量项目质量的标准体系。信息化项目的一级质量标准是:项目管理能力、应用软件系统、系统实施效果、项目交付文档。下图是信息化项目的二级质量标准体系,可再继续分解下一级质量标准,不同的应用系统,某些二级或三级的质量指标可能会有所不同,本项目基本涵盖以下所有二级指标。图1-软件质量标准体系一级指标本项目使用我公司项目管理工具IBMRPM进行项目质量的线上管理,项目启动初期即建立了项目质量管控小组,由部门项目总监(非本项目人员)担当质量组长,各职能中心及项目组长担任成员。质量组在项目推进的每一步执行严格的质量,对涉及项目质量各种交付物按项目质量标准进行确认和评审。例如,对“范围控制”这个质量指标检查时会检查项目的范围是否合理,工作任务的结构是否清晰、明确、与项目成员的职责相对应?是否有更改控制机制和流程,执行情况如何?;“进度控制”检查项目的时间因素,体现在项目是否有时间计划、执行情况如何以及如何进行有效地时间管理,例如有无度量方法、量化工具;功能软件的“功能性”应该符合详细的需求描述,特别是运行的结果满足功能描述。每一个功能应当清晰地说明,可以和其它功能区分开来;“效率性”应该可以在普通配置的计算机和网络上运行,程序的执行时间、响应时间应当是可接受的,程序的安装、升级不能太烦琐,用户数量的增加不严重影响程序运行;交付文档的“一致性”指文档的前后段落是否矛盾?术语是否违背了标准或规范?文档描述的内容应该与实际工作一致,特别是更改执行的计划、范围、进度、资金、目标等,应该详细地记录下来,例如每次会议纪要应该成为工作的阶段性总结和布置的任务书等。每月15日和30日会召开项目质量评审会,会议将会就项目质量监督情况进行通报,并就整改情况进行二次评审。2、项目质量计划现代质量管理的基本宗旨是:质量出自计划,而非出自检查。只有做出精准的质量计划,才能指导项目的实施、做好质量控制。编制项目的质量计划,首先必须确定项目的范围、中间产品和最终产品,然后明确关于中间产品和最终产品的有关规定、标准,确定可能影响产品质量的技术要点,并找出能够确保高效满足相关规定、标准的过程方法。编制质量计划通常采用流程图、因果分析图等方法对项目进行分析,确定需要监控的关键元素,设置合理的见证点(W点)、停工待检点(H点),并制定质量标准(即质量标准体系)。质量计划确定后,按照其建立的质量管理体系,各责任单位就必须按照PDCA质量环的要求,实施有效的质量控制。质量控制应贯穿于项目的整个过程,它可分为监测和控制两个阶段:监测的目的就是收集、记录和汇报有关项目质量的数据信息;控制就是使用质量监测提供的数据,进行控制,确保项目质量与计划保持一致。本项目在启动初期即按上述原则由项目组制定了项目总体计划,包括项目进度计划、需求计划、沟通计划、开发计划、测试计划、风险计划、现场实施计划及质量计划等。在编制质量计划时我们采用了流程图法,仔细分析系统各种成分是如何相互关系的,帮助我们预测在何处可能发生何种质量问题,并由此提出处理他们的办法。3、软件质量保证(SQA)软件质量保证(SQA)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。软件质量保证的基本目标有以下几个:保证工作是有计划进行的;客观地验证软件项目产品和工作是否遵循恰当的标准、步骤和需求;将软件质量保证工作及结果通知给相关组别和个人;高级管理层接触到在项目内部不能解决的不符合类问题。本项目在整个建设过程中,我着重于确定软件产品的质量目标、制定达到这些目标的计划,并监控及调整软件计划、软件工作产品、活动及质量目标以满足顾客及最终用户对高质量产品的需要及期望。现就软件测试、技术评审和文档管理三个方面的内容进行详细介绍:软件测试在项目需求分析阶段,我就安排测试人员参与项目需求沟通会议。让测试人员了解了项目的基本情况,同时根据需求分析报告编写初步的测试用例。在项目开发过程中,我要求开发人员使用SVN进行版本控制。并指派一名开发人员专门进行SVN版本控制管理。所有程序版本只能由他那里输出。同时由于公司分配给我的测试人员能力较强,因此我采用的是V模型开发方式,测试人员全程参与开发设计过程中的测试工作。项目软件测试测试分为内部测试和外部测试两部分,内部测试由项目组测试人员主导负责,按照V模型开发方式,从编码、详细设计、概要设计阶段,分别对应开展了单元测试、集成测试和系统测试。外部测试我联系了中国电力科学研究院信息安全实验室作为第三方机构对系统进行了性能测试和安全测试,联系了中国电力科技研究院信息工程实验室对系统进行了功能测试。技术评审在确定项目计划时,我根据项目阶段制定了相关的里程碑节点,定期接受部门质量控制组的技术评审。同时由于该项目为公司内部重点项目,因此公司领导非常重视本项目的进展情况,安排了公司技术委员会必须对重大里程碑节点进行公司级别的阶段性评审。阶段评审主要审核量化输出的成果和材料,确定目前阶段输出的成果是否符合要求并且完成,项目还存在哪些问题和风险及是否可以进入下一阶段。对于进度延迟或需求发生变动导致项目计划不切实际时,需要走变更流程,由我提出申请项目变更请求,填写变更请求书,包括变更描述,范围影响、质量影响、成本影响、建议方案等,提交给公司技术委员会进行评估,评估通过后方可执行项目变更计划。文档管理为保证项目最终文档交付质量,项目所有文档交由配置管理小组负责管理,如何保证文档的全面性,使其真正为项目的进度提供保证,又不因为文档的写作而耽误项目的进度,这仍然是一个比较难解决的问题.解决此问题,其核心仍然是个“度”的问题。配置管理小组真正核心的工作是对文档的组织管理。根据文档的不同,文档的来源也不同,有些是通过质量保证小组经过复审之后转交给配置管理小组,有些则会直接从文档的出处到达配置管理小组。文档的管理是一个非常烦琐的工作,但是长远来看它不仅使项目的开发对单个主要人员的依赖减少,从而减少人员流动给项目的带来的风险,更重要的是在项目进行到后百分之十的时候起到拉动项目的作用。三、总结项目实施中的质量管理工作是非常复杂的,存在很多不可以控制的因素,例如没有质量人员、测试环境不具备等。因此,项目实施中的质量管理原则应该是最大限度地去提高质量。只有这样,才能更好地利用现有资源尽可能地提高质量。当然软件项目管理还有很多其他的因素,但是如果每个阶段都能够很好的控制质量,就会在产品开发初期减少很多风险,从而使我们的软件开发在一个可以控制的范围内进行,这样我们才能够避免过多的没有必要的人力物力的浪费,从而使我们的产品更快更好的投入市场。总之,在国家电网公司有关领导和公司领导的高度重视下,项目采取多种强化软件质量管理的措施和策略都获得了极大的支持并取得了良好的效果,项目组在规定的时间内高效地完成了项目建设工作,没有造成大的质量问题,得到了客户的认可和公司领导的褒奖。