CMMI体系下的项目管理体系课件.ppt
CMMI体系下的项目管理,如果我们能够先完成一些看着不紧急但很重要的事;未来会减少很多紧急事情的发生;从而有更多机会做更重要的事。,与所有同事共勉,提纲,认识质量公司CMMIL3体系介绍软件设计与开发过程流程展望未来Q&A,提纲,认识质量公司CMMIL3体系介绍软件设计与开发过程流程总结回顾展望未来Q&A,质量是一组固有特性满足要求的程度。特性:可区分的特征特性可以是固有的或赋予的。特性可以是定性的或定量的。特性的分类可以是多样的。,ISO9000-2000对质量的定义,质量是一组固有特性满足要求的程度。要求:明示的、通常隐含的或必须履行的需求或期望“明示的”要求通常以文件(文档)的方式阐明。“通常隐含”是指组织、顾客和其他相关方的惯例或一般做法,所考虑的需求或期望是不言而喻的。“需求”:“购买商品或劳务的愿望和能力”(既然我付了钱。)“期望”:“对人或事物的未来有所等待和希望”(但未必会发生)要求可由不同的相关方提出。,ISO9000-2000对质量的定义,质量是一组固有特性满足要求的程度。程度:事物发展变化达到的状况只有更好,没有最好。可以是分阶的(等级)。质量是有成本的,能够满足要求就可以。补充:等级:对具有相同功能特征,但技术特征各异的实体所规定的范畴或者级别.低等级 低质量,ISO9000-2000对质量的定义,简单地说:质量就是满足既定的要求,ISO9000-2000对质量的定义,质量的关键在于过程,过程的含义:“事物发展所经过的程序(规则)、阶段”程序(流程):规程、指南、模板。明确明示明白阶段:里程碑、关键点的监督与评审预见预现,今天的目标,尽可能明示、明白为了预见、预现,提纲,认识质量公司CMMIL3体系介绍软件设计与开发过程流程总结回顾展望未来Q&A,公司质量管理体系知识体系,质量方针质量目标,公司商业目标,CMMI,ISO9000,ISO9000与CMMI的融合,ISO9000与CMMI并不矛盾或对立;ISO9000具有更高的思想境界和更广泛的覆盖面(因此其行业针对性不明显);CMMI来自于软件行业,借鉴了ISO等相关标准,适合于软件行业;,什么是CMMI,集成能力成熟度模型(Capability Maturity Model Intergration)卡耐基梅隆软件工程学院(SEI)对于以知识工程为核心的(软件)企业运作管理的建议改进模型,CMMI的分阶表示,1初始级,CMMI的标准过程域,1级-初始级,2 级-已管理级配置管理过程和产品质量保证供方协定管理项目监控和控制项目策划需求管理测量和分析,3 级-定义级组织培训组织过程定义组织过程焦点集成项目管理风险管理决策分析和决定需求开发技术解决方案产品集成验证确认,5 级-优化级组织性能管理原因分析和解决方案,4 级-定量管理级定量项目管理组织过程性能,CMMI推荐的组织体系,公司CMMI文件体系,规程,组织质量方针,指南、模板、表单、查检表、工具,提纲,认识质量公司CMMIL3体系介绍软件设计与开发过程流程总结回顾展望未来Q&A,角色需求与目标,开发人员基本了解软件项目研发的基本过程;重点了解相关要点;了解寻求问题答案的渠道。项目经理全面了解软件研发项目的工程过程与管理过程;重点掌握关键要点并遵守执行。渐进明细与潜移默化,整体工作概要,软件设计与开发控制程序介绍QA规程介绍测试规程介绍配置管理规程介绍,软件设计与开发控制程序,提纲,总体介绍术语定义管理过程介绍工程过程介绍关键活动要求模板要点介绍,提纲,总体介绍术语定义管理过程介绍工程过程介绍关键活动要求模板要点介绍,软件设计与开发控制程序介绍,基于ISO9000相关程序及CMMI相关过程要求;覆盖原ISO9000程序全部要求、CMMI核心的管理过程、工程过程与支持工程;配置管理、测试与QA单独细化为独立程序;重点强调了计划与预算管理、需求及变更管理、问题管理等关键活动。,软件设计与开发控制程序介绍,软件设计与开发控制程序介绍,管理过程:启动计划执行与监控结项,软件设计与开发控制程序介绍,工程过程需求开发系统设计开发实施集成测试系统测试移交发布项目维护,软件设计与开发控制程序介绍,其他过程与关键活动计划与预算需求与变更管理(需求跟踪矩阵)配置管理测试管理QA问题管理生命周期与主要工作产品裁剪指南同行评审产品发布,提纲,总体介绍术语定义管理过程介绍工程过程介绍关键活动要求模板要点介绍,术语定义(一),软件研发项目范围定义:包含合同项目、自研项目及预启动项目;既覆盖纯软件研发项目,也覆盖综合性集成项目中软件研发子项目;对于维护项目与内部委托任务,可根据具体要求与特点,参考项目的全部或部分生命周期的要求执行。,术语定义(二),关于项目类型:合同项目:公司与客户正式签订了商务合同的项目。包含纯软件研发项目,也包含集成项目中软件研发子项目。自研项目:公司已正式批准的内部研发项目。同样包含纯软件研发项目,也包含集成项目中软件研发子项目。预启动项目:根据客户或市场的需要,在没有签订合同的情况下,需要预先启动的合同项目。对于预启动项目需与客户签订相关协议,或专题报告公司高层批准。预启动项目协议或报告中需明确通常的合同条款主题内容,并且明确预计的合同签订时间。,术语定义(二),关于项目类型:其他:维护项目:已交付项目的缺陷解决或小型需求变更等维护性开发活动或公司自研产品的次版本升级。内部委托任务:公司内部部门间就软件研发相关环节或活动进行的内部工作任务委托,通常为一次性的,并且工作量在一个人月以内。,术语定义(三),关于项目规模:大型项目:项目总工作量20人月;中型项目:项目总工作量11-20人月;小型项目:项目总工作量6-10人月;微型项目:项目总工作量=5人月;重点项目:对公司有战略影响的产品研发或工程项目;,提纲,总体介绍术语定义管理过程介绍工程过程介绍关键活动要求模板要点介绍,管理过程,管理过程:启动计划执行与监控结项,管理过程概述,从项目管理过程角度对项目组的各项管理性活动提出要求;管理性活动原则上以项目经理为主导,项目组成员参与的方式进行;项目决策人及QA须重点审核与跟踪相关工作产品及活动内容,并协助项目经理进行相关策划、计划及问题跟踪与解决等。,管理过程流程图,管理过程项目启动,市场人员根据项目性质与相关部门领导协商后确定项目经理,项目经理与部门领导协商组建项目团队;启动会议:市场人员召集项目全体成员组织开工会议,会上项目开工组织人(目前由项目考核委员会负责)就项目的目标、范围、基本进度要求、工作原则分工、近期工作计划、项目存在的难点与风险等进行交流,项目组成员进行充分沟通;售前售后交接会议:与销售人员及售前技术支持人员等就项目前期情况进行充分交流,对客户要求、前期的方案承诺、潜在的问题与应对策略等进行交流明确,必要时可以与客户进行沟通明确;启动会议及售前售后交接会议可以合并或变更会议次序及形式等;项目启动后,项目组应尽快进入需求调研与项目计划阶段。,管理过程项目计划,项目组应在客户需求基本明确时,尽快提交项目开发计划及预算;重点项目在启动后一周内应提出需求调研工作计划,在需求调研工作基本完成时提交项目开发计划,最迟在客户需求明确后一周内须提交项目开发计划,对于规模特别大的项目,经批准可分阶段提交;一般项目通常应在项目启动后一周内提交项目开发计划与预算;项目开发计划须经干系人评审,项目决策人、QA审核;计划变更审批流程同正式审批流程。(项目计划的管理要求参考“关键活动要求”之“项目计划与预算管理”部分),管理过程项目执行与监控,在计划审批后,项目组全体根据项目计划开展相关工作、提交相关工作产品,具体要求参考“工程过程”相关要求及开发计划中的要求等;在项目执行过程中,应以周为单位确认计划进展:细化当前阶段工作(12周)、确认是否需要变更计划等;项目组成员应在项目实施过程中按要求填写工作日志;项目经理应每周提交项目周报(原则上为每周五下午提交项目决策人、QA及相关干系人);在阶段结束时,项目组可组织向公司和客户进行阶段(里程碑)报告;在项目执行始终,项目经理应对项目相关的所有问题进行分类跟踪与闭环处理,对无法处理的问题应及时提交与联络相关部门及干系人进行协调处理;,管理过程项目执行与监控,根据配置管理规程与计划的要求,在该阶段末或工作产品评审通过后及时进行入库等系列相关配置管理活动;项目决策人应根据项目开发计划和周报等,加强对项目过程的监控与协调;QA应根据QA规程、项目已定义过程、项目开发计划、周报等加强对产品与过程的审核,发现问题应及时提醒项目经理或提交相关高层领导;在项目实施过程中,如果实际进度或成本与计划或预算的差距较大,则需要进行变更,具体要求参考“关键活动要求”之“项目计划与预算管理”部分。,管理过程项目结项,项目组完成项目计划工作,项目获得客户验收(自研项目活动内部验收)后,可申请项目结项;经项目决策人及QA审核后,项目考核委员会批准同意,可进行结项及项目决算;项目经理组织编制项目结项报告、将项目资料进行整理归档;根据项目后续维护要求,按公司项目移交规程,将项目移交到维护服务部门;项目组整理项目财富数据,经项目决策人及QA审核后,由QA提交公司财富库入库;完成以上工作后,项目关闭。,提纲,总体介绍术语定义管理过程介绍工程过程介绍关键活动要求模板要点介绍,工程过程,工程过程需求开发系统设计开发实施集成测试系统测试移交发布项目维护,工程过程概述,以瀑布模型为基础进行介绍;实际运作时,可能有部分活动以增量或迭代方式进行;针对特定项目的活动安排,可在项目开发计划/项目已定义过程中明确,在QA审核、项目决策人批准后执行。,工程过程流程图,工程过程流程图,工程过程需求开发,项目经理组织需求调研人员进行需求调研工作,编写客户需求说明书,经项目经理审核后,提交需求设计部评审;与客户确认客户需求说明书,建立需求跟踪矩阵(关于需求跟踪矩阵的具体要求请参考“关键活动要求”之“关于需求(及变更)管理”);项目组依据客户需求编写开发需求规格说明书,经项目经理审核,提交需求设计部评审;根据项目情况,与客户确认开发需求规格说明书(建议进行);项目经理根据配置管理规程要求进行工作产品的入库等操作。,工程过程系统设计,根据客户需求与开发需求,编写概要设计说明书、详细设计说明书(或合并为系统设计说明书);同时编制数据库设计说明书,并明确项目编码规范;各相关文档经项目经理审核(或组织评审),提交需求设计部评审;项目经理更新、完善需求跟踪矩阵;根据项目情况,与客户确认相关设计文档;项目经理根据配置管理规程要求进行工作产品的入库等操作。,工程过程开发实施,搭建开发环境,编制开发环境说明书说明开发环境参数与要求等,并在项目组内部发布;项目组内部组织进行代码规范的培训、要求、讨论等,以求达成一致;项目组按设计文档编写代码并进行单元测试(/及集成测试);项目经理或项目决策人进行或组织进行代码的正确性和规范性审核;维护人员根据需求和设计文档等,编写用户使用手册和软件部署说明书等;项目经理更新、完善需求跟踪矩阵;项目经理根据配置管理规程要求进行工作产品的入库等操作。,工程过程集成测试,项目组组织进行集成测试,对于重点项目经总裁批准可安排由测试部人员进行测试;项目经理应确保测试过程所有问题均被闭环处理;项目经理更新、完善需求跟踪矩阵;集成测试阶段具体要求请参考测试相关规程执行;项目经理根据配置管理规程要求进行工作产品的入库等操作。,工程过程系统测试,项目组完成集成测试及缺陷修改后,提交测试部进行系统测试;在系统测试前会首先进行抽样测试,未通过抽样测试的不得进行系统测试;项目经理应确保测试过程所有问题均被闭环处理;在每一次提交测试前,项目组应发布一次代码基线,每轮测试的工作产品均必须从基线库中提取;项目经理更新、完善需求跟踪矩阵;未经测试部测试通过的产品不得进入移交发布阶段;项目经理根据配置管理规程要求进行工作产品的入库等操作。,工程过程移交发布,根据配置管理规程的要求,在系统测试通过后,由项目经理填写产品库入库清单,提交配置管理员审核、批准;配置管理员根据产品库入库清单从基线库提取工作产品制成产品包提交到产品库;项目经理从产品库中提取产品包,组织在客户环境下进行部署并记录在产品部署工作记录中,并请客户相关负责人在产品部署工作记录上签字确认;根据合同(项目计划)的要求,组织验收活动并进行详细记录;根据公司项目维护工作相关规定,适时将项目移交到维护部门;完成移交工作后,项目工程过程活动阶段结束。,工程过程项目维护,产品正式(完整)发布、交付客户并得到确认后,无论是否移交至维护部门,均可视同进入维护期;如果未进行工作移交,维护阶段仍然由原项目组负责,若正式移交,则在移交时由维护部门指定相关责任人,移交工作参考相关规范执行;维护阶段工作基本以事件驱动方式开展,维护工作负责人须参考合同项目的相关要求执行相关工作;对于有明确工作工作要求,并预计工作量在1个人月以上时,须参考新启动项目执行相关管理过程及工程过程活动;进入维护阶段后,维护项目负责人应针对每一次的维护活动动作,详细流水记录在维护阶段工作记录中。,提纲,总体介绍术语定义管理过程介绍工程过程介绍关键活动要求角色与(主要)职责模板要点介绍,关键活动要求,其他过程与关键活动计划与预算需求与变更管理(需求跟踪矩阵)配置管理测试管理QA问题管理生命周期与主要工作产品裁剪指南同行评审,1 项目计划与预算管理,总体要求项目计划是顺利实现项目目标的重要保证,它是项目实施的依据,也是对实施过程进行考核、监督和控制的标准,以及评价和衡量工作成果的基础,是相关考核的基准。项目计划必须经过审批,得到公司和客户的批准,得到项目组相关成员或相关部门的认同。项目计划须根据项目最新状态(客户需求、公司资源等)不断修正和更新,更新的计划引起控制点的进度变化超限时必须按原流程进行审批。,1 项目计划与预算管理,项目计划与预算的编制要求计划应该以合同为基础,符合合同的项目整体进度要求;计划必须切实可行、具有可操作性;计划编制须贯穿全程进行系统考虑,保留一定弹性,关键阶段应适当保留可调整余地;计划编制以项目WBS为基础,并尽可能进行细化和落实到人;计划中必须包括公司内外的相关干系人活动要求,特别是处于关键路径、与项目形成约束或依赖关系的部分,要重点关注;计划应得到全体成员的认同,并得到公司和客户的批准;预算应与计划保持一致、准确、细化、可信、可行;对于需求调研、有明确阶段目标的维护等特殊工作阶段,可独立编制阶段工作计划,编制工作由阶段工作负责人(与项目经理)共同负责。,1 项目计划与预算管理,项目计划与预算的主要内容项目计划应该明确包括:项目阶段、工作内容、负责人、参与人、完成时间、实施地点、甲方以及第三方相关工作等内容;项目计划还(应该/可能)包括:前置/后续任务、需要客户配合的工作、资源需求等信息;项目预算应明确包括:项目阶段、参与人、人天数、实施费用等内容,对于未来可能发生(也可能不发生)的活动,不作工作量的预期。,1 项目计划与预算管理,项目计划与预算的变更由于以下原因之一应对项目计划及时提出修改:合同需求、工作内容、(非项目内)前置任务进度有较大变化(客户原因);因资源短缺、控制失误等导致(公司/项目组原因);绝对工期偏差在20以上(120)或超过2周时必须重新修改;计划修改应提前提出并进行审批,考核以被批准的最新计划为基准。,1 项目计划与预算管理,(续)关于计划与预算变更次数的原则要求:在项目启动后,最迟在客户需求调研完成时,应提交第一版项目开发计划与预算:一般项目通常应在项目启动后一周内提交项目开发计划与预算;重点项目在启动后一周内应提出需求调研工作计划,在需求调研工作基本完成时提交项目开发计划,最迟在客户需求明确后一周内须提交项目开发计划,对于规模特别大的项目,经批准可分阶段提交;在系统设计完成后,编码前,项目组可以根据需要申请一次计划与预算的变更;其他情况下,除非客户需求发生重大变更并经总裁批准,原则上不再批准计划与预算的变更。,2 过程活动与工作产品裁剪指南,管理过程活动的裁剪:,2 过程活动与工作产品裁剪指南,2 过程活动与工作产品裁剪指南,2 过程活动与工作产品裁剪指南,工程过程活动的裁剪:,2 过程活动与工作产品裁剪指南,2 过程活动与工作产品裁剪指南,2 过程活动与工作产品裁剪指南,2 过程活动与工作产品裁剪指南,关于过程裁剪及“项目已定义过程”编制的要求:阶段性工作产品入配置库、对配置库的审核以及QA审核活动均不可裁剪;部分(工程)过程活动裁剪后,原活动的上下游应向上或向下衔接;对于客户明确提出的活动,以客户要求为准;裁剪掉的过程及理由,在项目开发计划中应明显标注,以便进行评审与核对;在项目开发计划编制前期或同时,项目组应明确本项目的项目已定义过程,项目已定义过程应经QA审核、项目决策人批准后确定。,2 过程活动与工作产品裁剪指南,关于例外流程:凡与组织及规程、模板表单等要求不符的活动均应执行例外流程审批;原则上技术性例外流程经项目决策人批准后生效,其他例外流程由项目决策人与EPG经理共同批准后生效,必要时报总裁批准;相关规程中已明确定义的例外流程,按规程之定义执行;关于项目已定义过程:与裁剪指南不符的特定项目裁剪活动,应经QA审核后报项目决策人与EPG经理共同批准后确定;例外流程的审批须严格控制,流程活动内容的裁剪通常应在项目已定义过程中明确,活动内容顺序的变更应在当前阶段进入前提出,最迟应在计划执行前一周或更早时间提出,得到批准后方可执行。,3 需求(及变更)管理,3 需求(及变更)管理,项目组应建立需求跟踪矩阵对客户需求、开发需求、概要设计、详细设计(/系统设计)、代码、手册、测试活动等进行跟踪,确保需求的一致、完整与可追溯;需求跟踪矩阵可结合WBS、开发工作任务安排、问题跟踪表等综合进行,但应不影响项目组、QA、部门主管领导等人员的理解与跟踪审核;需求跟踪的最小粒度(层级)应在项目计划阶段明确,经项目决策人与QA审核确认后执行;项目组须综合利用需求跟踪矩阵、客户需求说明书(或客户需求汇总表)、客户问题反馈表(及其附件)等文档跟踪与确认所有客户需求及变更记录;,3 需求(及变更)管理,通过(配置管理之)基线管理,阶段明确需求的版本状态并保留过程变更记录(可以接受相邻基线内批量提交客户问题反馈表),需求版本更新时应同步更新相关的设计文档等;需求及变更须进行书面确认,基于1.0版客户需求后的变更需有客户/销售人员的签字确认,客户处有困难时,须与销售人员明确。项目经理对需求跟踪活动及质量负责,应保持需求跟踪矩阵的实时有效性;项目决策人应阶段审核需求跟踪的有效性;QA应加强对需求跟踪活动的过程审核与追踪。,4 测试,测试工作应从需求分析阶段的后期开始启动;未经系统测试的产品不得发布;关于测试活动的具体要求请参考软件测试工作规程。,5 配置管理,各项目工作产品均应纳入配置管理;各项目均须明确专职或兼职的配置管理员;各项目均应参考项目开发计划编制配置管理计划,配置管理计划同样应随开发计划的变更而一起变更;项目经理是配置管理活动的第一责任人;项目决策人应重点对关键配置项的有效性与一致性进行审核;QA重点对配置管理活动的计划性与完整性进行审核;关于配置管理活动的具体要求请参考软件配置管理工作规范。,6 QA,公司将为每一项目配置专职的QA工程师;QA将对项目的实施过程与工作产品进行审核及问题跟踪;QA将在项目决算阶段组织相关各方对项目的综合质量进行考评,考评结果将与项目绩效直接挂钩;关于QA工作的具体规范请参考质量保证过程控制程序。,6 质量保证流程,7 问题管理,项目组应统一建立项目问题跟踪表,对所有项目相关的问题进行记录、安排、处理跟踪等;项目组须确保所有的问题不会被遗漏,并确保被闭环处理(拒绝也是一种处理结果);根据项目实际情况,可考虑将需求跟踪、客户工作协调等类型问题独立处理;项目经理对项目问题跟踪表(唯一)负责。,7 问题管理,通常包含以下几种情况:“需求变更”:来自客户的功能性需求变更;“客户要求”:来自客户“需求变更”以外的需求,包括:会议、进度调整、咨询、培训交流等;“内部问题”:来自项目组内部(开发人员)的各种待解决问题;“干系人问题”:与公司内部干系人相关的问题,包括需要双方处理的问题,干系人主要包括:销售经理、采购人员、需求调研人员、美工、测试人员、配置管理员、QA等;“评审缺陷”:与“相关来源/出处”信息综合,可明确标识何工作产品的评审缺陷;“其他”:其他如何需要项目组解决的问题,但不包括:测试产生的BUG、项目开发计划(及需求跟踪矩阵)中已明确的工作。,8 同行评审,项目决策人与项目经理共同对项目工作产品的评审工作负责;要切实强化项目关键产物的同行评审活动,并在项目开发计划中明确相关环节的要求,明确要进行评审的工作产品包含(但不仅限于):项目客户需求、项目开发计划、开发需求、系统设计(概设、详设、数据库设计等)、代码、手册等;评审对象与形式应在项目开发计划中明确定义;重点项目需增加里程碑会议汇报,里程碑点包含(但不仅限于):需求/设计阶段、整体(/核心)产品第一轮显形后,里程碑会议可与产品评审、工作总结等活动结合进行;,8 同行评审,一般性项目(至少)应有结束里程碑工作总结活动,包括项目度量、经验教训、工作总结等;除正规评审、走读、轮查等正式形式外,会签、批准签字等也可作为评审的形式之一;评审活动需有文档化记录并同时进行度量(规模、工作量、缺陷及分布等),记录在评审报告中;对评审活动结论(缺陷等)需采用问题跟踪表进行全程管理;项目需求文档,项目设计文档,项目数据库设计等关键文档都需提交需求设计部进行评审。,9 产品发布,新项目及维护阶段的正常产品发布参考配置管理规程要求执行;关于试用版(/体验版)等特殊情况,按以下基本原则选择执行:基于成熟或相似的产品版本,未作任何改动,则执行入(产品)库、发布等动作;阶段(/部分)完成后提交的过程版本,须执行测试、入(产品)库、发布等动作;基于某成熟版本做简单的配置性修改,则须执行测试、入(产品)库、发布等动作;如需例外,则须参考配置管理等相关规程要求,经批准后执行。,提纲,总体介绍术语定义管理过程介绍工程过程介绍关键活动要求模板要点介绍,模板(规范)要点介绍,请参考文档清单,展望未来,CMMI5评估实施活动已启动,我们相信经过大家的一致努力,我们的软件开发、项目管理道路将迈上新的台阶!,谢 谢,