1、CMM培训培训CMMCMM培训提纲培训提纲CMMCMM是什么是什么需求管理软件项目计划与跟踪配置管理软件质量保证CMMCMM的源起的源起软件业的困境开发项目不能如期交付软件产品的质量不能令客户满意开发费用超出预算根源关键问题是软件过程的管理不尽人意CMMCMM的源起的源起CMM:Capability Maturity Model软件机构的能力成熟度模型,即过程成熟度模型1987年美国卡内基-梅隆大学软件工程研究所SEI受国防部资助,提出了软件机构的能力成熟度模型CMM,经过几年的使用及1991和1993年两次修改,现在已经成为具有广泛影响的模型CMM CMM 成熟度分为成熟度分为5 5级级(1
2、)(1)初始级初始级(Initial)(Initial)l工作无序,项目进行过程中经常放弃当初的规划.l管理无章,缺乏健全的管理制度.l开发项目成效不稳定,优秀管理人员的管理方法可能取得成效,但他/她一离开,工作秩序面目全非,产品的性能和质量依赖于个人能力和行为.(2)(2)可重复级可重复级(Repeatable)(Repeatable)l管理制度化,建立了基本的管理制度和规程,管理工作有章可循.l初步实现标准化,开发工作较好地实施标准.l变更均以法进行,做到基线化.l稳定可跟踪,新项目地计划和管理基于过去地实践经验,具有重 复以前成功项目的环境和条件.CMM CMM 应用数据应用数据(3)(
3、3)已定义级已定义级(Defined)(Defined)l开发过程,包括技术工作和管理工作,均已实现标准化、文档化。l建立了完善的培训制度和专家评审制度。l全部技术活动和管理活动均稳定实施。l项目的质量、进度和费用均可控制。l对项目进行中的过程、岗位和职责均有共同的理解。(4)(4)已管理级已管理级(Managed)(Managed)(5)(5)优化级优化级(Optimizing)(Optimizing)CMM应用数据 1级initial2级repeatable 3级defined产品质量7790100客户满意度7770100生产率547090按时完成任务405880完成预算405870员工道
4、德水准225060CMM 2 CMM 2 关键过程区域关键过程区域KPAKPASCMRMSPP&SPTOSQARM:Requirements ManagementSPP:Software Project PlanningSPTO:Software Project Tracking and OversightSCM:Software Configuration ManagementSQA:Software Quality AssuranceSSM:Software Subcontract ManagementSSM 你已经掌握了你已经掌握了CMMCMM的基本知识的基本知识 恭喜你!恭喜你!继续努
5、力继续努力.CMMCMM培训提纲培训提纲CMM是什么需求管理需求管理软件项目计划与跟踪配置管理软件质量保证为什么要管理需求为什么要管理需求促使项目成功,降低失败的风险促使项目成功,降低失败的风险项目失败的大多数原因是与需求相关的问题The Standish Groups CHAOS Reports from 1994 and 1997对美国和英国500个IT经理调查,76%的人曾经历过失败,其中最多的原因就是“用户的需求总是在变化”。In December 1997,Computer Industry Daily reported管理需求的目标管理需求的目标目标1:控制软件需求,建立用于软件开
6、发和管理的需求基线。目标2:使软件计划、产品和活动和软件需求保持一致。需求管理活动需求管理活动软件需求基线化需求分配软件需求的跟踪需求变更控制软件需求评审根据产品规格总体方案将产品规格分配到软件系统(需评审)。定义软件需求,形成软件需求规格说明书对软件需求规格说明书正规检视、评审是软件计划、开发活动的基础贯穿在开发测试的整个过程中是需求管理的重头戏需求跟踪产品需求软件系统需求软件需求规格实现设计用户文档测试需求变更需求变更-原始需求原始需求用服市场出差报告技术交流参观总结预研研发构想总体办产品经理&PDT市场总工办市场技术处总体组是否配置管理?配置管理组标识需求项,并进入需求跟踪库结束NY需求
7、变更的控制需求变更的控制对现有的维护优化类产品,严格依照新需求的类别进行评审,实施更改计划对新产品的开发,需求的变更严格按照规格更改流程实施,及时完成新的需求基线,需求跟踪。CMMCMM培训提纲培训提纲CMM是什么需求管理软件项目计划与跟踪软件项目计划与跟踪配置管理软件质量保证SDPSDP在产品计划中的位置在产品计划中的位置产品一级计划软件开发二级计划测试二级计划技术支援二级计划软件开发三级计划测试三级计划SDPSV&VP技术支援三级计划SDP、SVVP、SQAP、SCMP是在概念决策之后、计划决策之前完成的是整个产品计划中软件开发活动的计划。包含但不限于软件开发与测试的二级、三级计划SDPS
8、DP的活动及内容的活动及内容内容要求现状活动和工作产品详尽列出活动、输出和工作产品、验收准则WBS已有,但工作产品要求不详细软件估计计划中有估计记录数据无项目管理计划确定的项目管理计划无项目文档计划文档清单和完成计划好SV&V计划对测试活动统一规划无SQA计划SQA过程、SQA活动计划无SCM计划SCM过程、SCM活动计划无项目任务计划和进度表关键路径、项目进度表较好工作任务书责任人、要求、输出、验收准则一般SDP-SDP-项目管理计划项目管理计划目的:确定项目的管理过程步骤:确定软件项目管理目标 标识软件项目的由来和约束 风险管理 确定监控体制 软件重用计划 人员计划 确定项目里程碑SDP-
9、SDP-计划承诺计划承诺主要是相关人员对主要是相关人员对SDPSDP的任务进行承诺的任务进行承诺软件经理和相关人员对任务进行承诺,签定工作任务书。工作说明书(SOW)、SDP工作任务书纳入配置管理库。软件项目跟踪与监控软件项目跟踪与监控-目标目标建立对项目实际进展的适当的可视性,使管理者能在软件项目计划明显偏离时采取有效措施。对照已文档化的估计、约定、计划,评审和跟踪软件完成的情况和结果,并基于实际的完成情况和结果调整这些计划。对软件承诺的更改必须得到相关小组和个人的认可。软件项目跟踪与监控软件项目跟踪与监控-活动活动n 任务和进度跟踪n 技术跟踪n 数据测量n 定期总结(每月或每周)n 定期
10、评审n 阶段总结(里程碑阶段)n 阶段评审n 计划修订软件项目跟踪与监控软件项目跟踪与监控-人员职责人员职责软件经理:软件经理:负责对SDP中的估计、工作任务承 诺、进度的跟踪和监控SQASQA;负责对软件开发过程是否与流程规范、标准、方针的一致的跟踪和监控产品经理:产品经理:参与对项目的定期评审上级管理部门:参与对项目的定期评审 你已经掌握了你已经掌握了2 2个个KPAKPA的基本知识的基本知识 恭喜你!恭喜你!还有重要的配置管理配置管理在后面.CMMCMM培训提纲培训提纲CMM是什么需求管理软件项目计划与跟踪配置管理配置管理软件质量保证软件配置管理(软件配置管理(SCMSCM)定义)定义软
11、件配置管理软件配置管理是通过在软件生命周期的不同时间点上对软件配置进行标识标识并对这些标识的软件配置项的更改更改进行系统控制控制,从而达到保证软件产品的完整性完整性和可溯性可溯性的过程。SCMSCM术语术语配置、配置项配置、配置项 配置项的种类配置项的种类计划、软件需求文档、设计文档、程序代码(包括第三方代码)测试、工具、用户文档、目标代码、运行环境、安装盘SCMSCM术语术语基线、版本基线、版本 配置项与基线的关系配置项与基线的关系配置项配置项1 1配置项配置项2 2配置项配置项3 3配置项配置项4 4配置项配置项5 5配置项配置项6 6配置项配置项7 7基线化基线是生命周期的快照基线是生命
12、周期的快照SCMSCM功能视图功能视图配置标识配置标识配置控制配置控制配置评审配置评审配置状态发布配置状态发布CCB,CRs,BaselinedPCA,FCA,SQACSA配置标识确定并标识基线内容l跟踪对Baseline A的变更l发布变更状态l生成并验证新的基线Baseline Al跟踪对Baseline B的变更l发布变更状态l生成并验证新的基线Baseline Bl跟踪对Baseline C的变更l发布变更状态l生成并验证新的基线Baseline CRelease Product Baseline配配置置管管理理与与基基线线管管理理配置标识配置控制配置状态发布配置评审SCMSCM各类配
13、置库之间关系各类配置库之间关系 用户开发库基线化程序员控制基线库CCB控制产品库DM控制归档开发库开发库程序员工作空间,始于某一基线,为某一目的开发服务,开发完成后,经过评审回归到基线库。基线库基线库包括通过评审的各类基线,各类变更申请的记录和统计数据。产品库产品库是某一基线的静态拷贝,基线库进入发布阶段形成产品库。SCMSCM组织机构组织机构项目经理SEPGSQASCM经理CMO开发组测试组CCBsDMSCM小组配置管理活动是以产品(版本)为单位进行的配置管理活动是以产品(版本)为单位进行的项目经理(产品经理)职责项目经理(产品经理)职责制定产品开发计划任命任命SCMSCM组织和人员组织和人
14、员帮助制定并评审软件配置管理计划(SCMP)监督SCM活动的实施参与各类SCM评审活动返回组织结构SCMSCM经理职责经理职责负责制定、维护负责制定、维护SCMPSCMP及相关流程,组织评审及相关流程,组织评审SCMPSCMP组织建立各类软件基线组织建立各类软件基线指导和监督SCM活动,对SCM执行结果负责参与各类SCM评审活动指导CMO、CCB的工作组织相关的技术培训返回组织结构CMOCMO职责职责管理配置库、基线库管理配置库、基线库作为作为CCBCCB的执行秘书,操作的执行秘书,操作CCBCCB工作流程工作流程配置状态的记录和发布配置状态的记录和发布返回组织结构补充说明:系统测试版本应该由
15、CMO出SCMSCM小组组成与职责小组组成与职责SCMSCM小组小组:SCM经理、CMO、系统分析员等建立并管理软件基线库建立并管理软件基线库起草、发布和维护起草、发布和维护SCMPSCMP及相关流程及相关流程对配置项的分解和标识对配置项的分解和标识管理对基线库的操作监督配置管理规范执行情况整理和发布整理和发布SCMSCM报告报告返回组织结构CCBCCB小组组成与职责小组组成与职责变更控制小组(变更控制小组(CCBCCB):CCB组长(产品经理或SCM经理兼)、CMO、系统分析员、高级程序员、成本工程师、SQA人员等授权对配置项的选择、分类和标识授权建立各类基线对变更申请进行评估对变更申请进行
16、评估授权从基线中建立产品并发布返回组织结构其他其他SCMSCM组织和人员职责组织和人员职责SEPGSEPG:对SCM活动的软件工程规范化程度进行监督和指导SQASQA:依据SQA规范对SCM活动进行监督软件开发工程师软件开发工程师:在SCM过程控制下进行软件开发、文档写作、单元测试等软件测试工程师软件测试工程师:进行系统测试和对软件变更进行回归测试返回组织结构SCMSCM活动活动承担组织或人员承担组织或人员任命任命SCMSCM组织和人员组织和人员项目经理(产品经理)项目经理(产品经理)制定、发布、维护制定、发布、维护SCMPSCMP及相关流程及相关流程SCMSCM小组小组配置项选择、分类、标识
17、配置项选择、分类、标识SCMSCM小组小组配置评审、基线建立和更新配置评审、基线建立和更新SCMSCM小组小组变更申请的评估变更申请的评估CCBCCBCCBCCB工作流程的操作工作流程的操作CMOCMO配置库、基线库管理配置库、基线库管理CMOCMO配置状态发布配置状态发布CMOCMOSCMSCM报告发布报告发布SCMSCM小组小组SCMSCM活动分类活动分类SCM培训配置管理计划的制定、评审配置标识基线建立配置库管理配置控制接口管理(相关性影响管理)配置状态发布配置评审与验证产品发布配置标识配置标识配置项的分类配置项的分解、选择(树形层次划分)配置项的命名(文档、代码、CR、基线)配置库管理
18、配置库管理 用户开发库基线化程序员控制(动态)基线库CCB控制(受控)产品库DM控制(静态)归档配置库系统支持对配置项的增量式存储,利用其变更管理工具管理变更数据,利用其分支和归并功能实现基线库、开发库和产品库的分离。开发库开发库:开发人员具有读写权限基线库:基线库:开发人员只读,CMO可以读写产品库:产品库:公司级行为。配置控制配置控制变更申请初始化变更分类变更评估变更分派变更实现变更验证基线变更配置控制是对基线化的配置项变更控制(包括功能增强和错误修改)变更评估检查表变更评估检查表 序号 项目说明1规模更改范围的大小2期限更改完成的时间要求3复杂性实现的复杂程度4资源影响对CPU,内存,网
19、络等的资源影响5费用影响对项目和产品费用的影响6测试需求对测试的要求程度7风险相关的风险分析,比如是否涉及到关键模块和技术8外部影响对用户,市场策略的影响9资源需求对项目资源,比如人员技能、软硬件资源的需求10项目影响对项目当前和后续工作的影响11替代方案有无更好的替代方案12实现状态该更改是否已经进行等配置状态发布(配置状态发布(CSACSA)变更申请的状态配置项的功能和物理特性SCM执行报告记录并跟踪软件演变状态,通知受影响的组织和个人。配置评审与验证配置评审与验证确保基线化的配置项已通过测试证明它们满足功能要求而且包括所有必需的组成部分。功能配置评审(FCA)物理配置评审(PCA)产品发
20、布流程产品发布流程开 始需 求 规 格项 目 计 划测 试 报 告确 定 发 布 基 线项 目 经 理,C C B自 基 线 库 建 立C M O,SC M 经 理确 定 发 布 基 线项 目 经 理,C C B装 配 软 件 包C M O,生 产 人 员写 作 V D DC M O,SC M 经 理结 束软 件 包正 规 检 视 报 告版 本 计 划FCA项 目 经 理、SCM经 理、CCBFCA项 目 经 理、SCM经 理、CCBNN版 本 发 布SCM经 理版本描述文档(版本描述文档(VDDVDD)序号序号项目项目内容内容1建立编号 2专用申明 3包装说明 4功能说明 5用户注意事项 6
21、bug list 7休正 8软件包组成 9安装说明 10公司名称 11发布日期 CMMCMM培训提纲培训提纲CMM是什么需求管理软件项目计划与跟踪配置管理软件质量保证软件质量保证SQASQA目的目的软件质量保证旨在向管理者提供了对软件项目正使用的过程和正构造的产品的适当可视性,为“软件开发活动”是否按照组织批准的方式进行提供了独立、客观的评价。SQASQA活动的八个过程步骤活动的八个过程步骤建立SQA组织选择SQA任务生成/维护SQA计划实施SQA计划标识/选择SQA工具改进项目的 SQA规程定义、建立SQA组织结构选择SQA应当执行的任务,已标识的SQA任务作为SQA计划的输入按照软件开发的
22、生命周期计划SQA活动实施已得到批准的项目的SQA计划将执行SQA活动的规程编成文档-执行一个SQA任务的可重复能力标识执行SQA任务必要的培训-作为培训预算的输入标识确保质量的工具-与软件工程环境的兼容性寻找效率和改进区域-修改SQA政策,计划,过程,和规程生成/维护SQA 规程标识SQA培训SQASQA过程活动过程活动SQASQA过程说明过程说明SQASQA过程输出过程输出标识的SQA任务:1.2.项目的SQA计划已经得到实施的 SQA任务各种SQA规程接受了培训的人员购买软件工具改进后的过程,政策,规程SQASQA任务的组成任务的组成SQA过程活动SQA任务描述SQA任务输出选择SQA任务软件产品,工具,和设施的SQA软件过程审计技术和管理评审SQA报告SQA度量与项目的SDP计划和CMM 的符合性审计过程审计报告SQA度量报告参与/报告的SRR,SDR,SSR,PDS,CDR,TRR,FQR,PRR和管理评审SRS的正规检视日志,软件工具评估,项目设施评估 CMM等级