公司软件项目管理规范第1页共24页公司软件项目管理规范V1.0文件状态:[]草稿[√]正式发布[]正在修改文件标识:QD-RJ-A00-00当前版本:1.0作者:王重完成日期:2010年7月15日公司软件项目管理规范第2页共24页研发中心软件项目管理规范1.1.项目实施原则项目实施过程要遵守标准规范的项目管理体系进行项目执行的规范性是项目成功的保证。项目执行的规范性可以有效保证项目质量。1.2.项目实施方法金山顶尖在多年的应用软件项目实施过程中,积累了丰富的项目实施经验,曾先后组织实施了多个上千万元的复杂项目,同时也积累了丰富的项目实施经验。1.2.1.管理目标与指导思想管理目标以客户体验为中心,持续改进产品生产及交付过程,面向客户提供优质产品或服务,持续提高客户满意度。指导思想通过持续的过程改进,逐步提高项目交付的产品(服务)质量与生产效率,更好的满足客户的需求,提升公司客户满意度。1.2.2.质量保证体系依据ISO9001:2008的规定,金山顶尖质量体系文件划分为4层层级结构,自上而下分别为纲领性文件、制度性文件,作业指导性文件和质量记录模版,下级文件的制定和修改必须符合上级文件的要求,如下图所示:公司软件项目管理规范第3页共24页质量体系文件层次示意图第一级为质量手册和方针文件质量手册和方针文件是公司质量管理及过程改进体系的纲领性文件。它依据GB/T19001-2008质量管理体系要求、系统工程生产过程域的目标要求,规定了公司提供产品及服务的过程质量控制标准及其工作产品质量目标要求。第二级为制度性文件制度性文件是规范公司生产管理过程的一系列规章制度和办法文件,它适用于公司所有部门,是公司所有员工工作沟通的平台,主要包括项目管理控制程序文件、软件及系统工程管理控制程序文件、销售管理控制程序文件、服务保障体系文件、客户满意及投诉管理体系文件以及其他业务支持体系文件。第三级为作业规范及指南文件作业规范及指南文件是针对过程控制体系文件对公司各业务领域的作业规范要求制定的具体的设计、开发、实施、服务及运营保障管理作业说明书,是对过程控制体系文件的进一步细化和补充。第四级为质量记录及模版文件质量记录及模版文件体现了ISO9001-2008的基本质量要求及过程质量控制要素,为公司员工执行作业程序提供了一系列的参考模板、质量记录和工具表单文件。金山顶尖质量保障体系如下图示意表示:手册、方针过程文件作业规范、指南文件质量记录、模板文件公司软件项目管理规范第4页共24页质量体系文件构成图1.2.3.软件开发实施管理流程公司软件项目管理规范第5页共24页根据项目实施管理流程要求,金山顶尖应用软件开发项目划分为以下项目阶段:1)项目启动阶段开始标志:项目经理任命书发布,表明进入项目启动阶段。结束标志:签订项目启动计划和项目启动会为标志。2)项目策划阶段开始标志:签订项目启动计划为开始标志。主要工作:制定项目计划、召开项目外部启动会,并制定系统需求调研计划。结束标志:项目计划发布并经客户确认。3)需求分析阶段开始标志:确认项目计划,开始需求调研为标志。主要工作:调研用户需求,完成用户需求说明书和系统规格说明书,并经过用户书面确认,编写系统验收标准并与客户达成一致。如项目需要,制作系统原型。结束标志:系统规格说明书发布并经客户确认。4)系统设计阶段开始标志:系统规格说明书发布并经客户确认。主要工作:根据确认后的系统规格说明书展开系统设计工作,编写系统设计说明书,通过评审后,根据项目需要编写详细设计说明书。并根据系统规格说明书编写测试计划,包括《系统测试大纲》、《测试计划》、《测试用例》等内容。结束标志:设计说明书发布并经客户确认。5)系统实现阶段开始标志:设计说明书发布并经客户确认。主要工作:根据设计要求,完成编码与单元测试,并完成系统集成测试。结束标志:项目系统版本封闭,经项目经理认可。6)系统测试阶段公司软件项目管理规范第6页共24页开始标志:项目系统版本封闭,经项目经理认可。主要工作:公司软件测试部门执行系统测试,编写系统测试报告;设计人员根据情况修改设计文档,编制用户手册。结束标志:项目系统版本达到项目验收标准要求。7)部署与试运行阶段开始标志:项目系统版本达到项目验收标准要求。主要工作:系统安装环境检查、系统安装调试、用户培训、根据系统试运行情况填写系统跟踪报告、编写系统维护手册等,如有初验收,须与客户签署“初步验收合格证书”。结束标志:签署系统试运行情况报告,或签署“初步验收合格证书”。8)项目移交与总结阶段开始标志:签署系统试运行情况报告,或签署“初步验收合格证书”。主要工作:执行项目验收工作,签署项目验收报告,项目实施组将项目实施中的各类资产与资料移交相关单位,并签署项目移交报告,进行客户满意度调查。完成项目总结报告。结束标志:签署项目验收报告、与技术工程部门签署项目移交报告。项目进入售后服务支持阶段。1.2.4.项目实施的质量保证项目管理是项目过程和管理过程相结合的产物。在项目推进过程中,通过在项目启动、项目计划、项目执行与控制、项目收尾各阶段对项目过程的合理管理与控制,不但可以确保客户需求的合理满足,也有利于交付质量合格的项目系统和项目进度与费用的有效控制。金山顶尖采取以下措施用以保证软件开发项目的实施质量。1)优化规范、建立范例,提高项目实施质量与效率基于软件开发项目的阶段划分与项目人员角色分工,通过建立、优化贯穿于整个软件开发过程中的各种规范、范例,有效指导项目实施人员的分析、设计、编码与测试等各项工作,可以大大提高项目实施的工作质量与工作效率。公司软件项目管理规范第7页共24页具体包括的规范有:软件开发规范可行性分析规范(FS)需求分析规范(RS)功能说明规范(FSS)用户界面规范(UIS)总体设计规范(GDS)详细设计规范(DDS)程序编码规范(CS)软件测试规范(TS)项目管理规范填写项目立项报告项目章程(项目约定)任命项目经理项目计划项目状态报告。。。同时,通过各种规范范例的建立,可以有效知道项目实施人员开展项目实施工作。2)责权清晰的多级管控体系,有利于将项目问题及早解决在项目实施过程中,项目成员、项目经理、项目管理层与项目客户出于各自利益考虑,都会对项目范围、进展、质量与费用进行监控。这些角色的责权利便构成了项目的多级管理控制体系。公司软件项目管理规范第8页共24页典型项目的职责划分如下:3)基于项目周报的进度控制项目实施期间,项目成员、项目经理以及软件开发部门经理每周定时汇报项目情况,使公司在员工工作层面、单个项目层面和多个项目层面等三个层次有全面的掌握,便于项目进度的掌控与资源的协调。项目周报包括:软件开发部门经理:项目状态周报项目经理:项目周报项目成员:员工工作周报4)基于流程审批的项目变更管理项目执行过程中,出现与项目计划不符的项目范围、进度、与费用的变化是正常现象,以上三项项目要素中任何一个要素的变化都会导致项目计划的变更。为保证项目目标的实现,任何涉及上述内容的变化必须经过项目变更审批,方可执行。公司软件项目管理规范第9页共24页1.3.项目测试规范1.3.1.测试的范围与内容系统测试范围主要包括以下内容:用户界面测试:验证用户界面是否符合操作习惯,是否符合合同技术附件的要求;功能测试:保证系统满足业务工作需要的功能,并正确执行预定的功能;接口测试:保证与其它系统或子系统的接口工作正常;兼容性测试:保证系统在各种可能的用户群众都可以正常使用,如,不同的操作系统、浏览器、数据库等;负载测试:保证系统在最大设计负载下运行平稳。一个好的测试经验是让系统在超过最大设计负载25%的数据和处理负载下运行;恢复测试:保证备份和恢复程序工作正常,以及当系统遇到突发事件如断电、网络连接中断时对数据的正确处理。一般来说,恢复程序的基本测试在系统测试开始时进行,然后在系统测试结束之前再进行进一步的恢复测试;安全测试:验证系统安全满足要求,必须是系统的合法用户才能登录并进行允许的相关操作。由于安全是系统的基本功能,所以安全测试通常安排在系统测试的开始;转换测试:验证现有的数据能进行正确的转换。通常情况下,在处理测试过程中转换的数据与新数据一起使用来验证数据转换的正确性;文档测试:验证系统的用户手册、安装手册、帮助信息等说明性文档的内容是否符合功能及易读、易理解;性能测试:验证系统满足性能标准(例如响应时间)。系统测试可以由不同角色的用户来进行,如:业务人员测试系统功能,技术人员测试系统性能等。有些情况下,一些测试工作可以合并在一个测试中完成。测试小组成员负责测试工作的准备、测试人员的协调、专业测试的执行以及测试结果的整理等。1.3.2.系统测试方法项目实施的过程中,系统测试将遵循“W”模型的测试方法。如下图所示:公司软件项目管理规范第10页共24页在整个项目实施过程中,测试工作将伴随项目实施的全过程。在概要设计阶段,测试小组将根据最终明确的用户需求编写《系统测试大纲》、《测试计划》、《测试用例》。在概要设计完成后,测试小组将根据《概要设计说明书》编制《集成测试用例》;在详细设计完成后,测试小组将根据《详细设计说明书》编制《单元测试用例》;在编码实现过程中,开发人员和测试人员将先后进行单元测试、集成测试在系统测试阶段,测试人员进行系统测试、功能测试、性能测试、安装测试、业务流程测试。在项目交付过程中,测试人员和客户方人员还需要进行验收测试。1.3.3.测试工具在项目实施过程中,测试管理工具使用的是TestDirector7.6,性能测试工具将使用LoadRunner8.0。1)测试管理工具TestDirector7.6简介TestDirector它是MercuryInteractive公司推出的基于WEB的测试管理工具,无论是通过Internet还是通过Intranet都可以以基于Web的方式来访问TestDirector。公司软件项目管理规范第11页共24页TestDirector能够让用户系统地控制整个测试过程,并创建整个测试工作流的框架和基础,使整个测试管理过程变得更为简单和有组织。TestDirector能够帮助用户维护一个测试工程数据库,并且能够覆盖用户的应用程序功能性的各个方面。在项目的工程中的每一个测试点都对应着一个指定的测试需求。TestDirector还为用户提供了直观和有效的方式来计划和执行测试集、收集测试结果并分析数据。TestDirector还专门提供了一个完善的缺陷跟踪系统,它能够让用户跟踪缺陷从产生到最终解决的全过程。TestDirector通过与用户的邮件系统相关联,缺陷跟踪的相关信息就可以被整个应用开发组,QA,客户支持,负责信息系统的人员所共享。TestDirector提供了与MercuryInteractive公司的测试工具(WinRunner,LoadRunner,QuickTestProfessional,AstraQuickTest,QuickTestProfessionalforMySAP.comWindowsClient,AstraLoadTest,XRunner,VisualAPIandVisualAPI-XP)、第三方或者自主开发的测试工具、需求和配置管理工具、建模工具的整合功能。TestDirector能够与这些测试工具很好的无缝链接,为用户提供的全套解决方案选择来进行全部自动化的应用测试。TestDirector会指导用户进行需求定义、测试计划、测试执行和缺陷跟踪,即整个测试过程的各个阶段。通过整合所有的任务到应用程序测试中来确保你的客户收到更高质量的产品。2)性能测试工具LoadRunner8.0简介LR:LoadRunner®是一种预测系统行为和性能的工业级标准性能测试负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企