1.能力成熟度模型
能力成熟度模型(Capacity Matrurity Model–CMM)描述了软件发展的演进过程。软件过程的改善不可能在一夜之间完成,CMM是以增量方式逐步引入变化的。CMM明确地定义了5个不同的“成熟度”等级,一个组织可按一系列小的改良性步骤向更高的成熟度等级前进。
成熟度等级1:初始级(Initial)。处于这个最低级的组织,基本上没有健全的软件工程管理制度。每件事情都以特殊的方法来做。如果一个特定的工程碰巧由一个有能力的管理员和一个优秀的软件开发组来做,则这个工程可能是成功的。然而通常的情况是,由于缺乏健全的总体管理和详细计划,时间和费用经常超支。结果,大多数的行动只是应付危机,而非事先计划好的任务。处于成熟度等级1的组织,由于软件过程完全取决于当前的人员配备,所以具有不可预测性,人员变化了,过程也跟着变化。结果,要精确地预测产品的开发时间和费用之类重要的项目,是不可能的。
成熟度等级2:可重复级(Repeatable)。在这一级,有些基本的软件项目的管理行为、设计和管理技术是基于相似产品中的经验,故称为“可重复”。在这一级采取了一定措施,这些措施是实现一个完备过程所必不可缺少的第一步。典型的措施包括仔细地跟踪费用和进度。不像在第一级那样,在危机状态下方行动,管理人员在问题出现时便可发现,并立即采取修正行动,以防它们变成危机。关键的一点是,如没有这些措施,要在问题变得无法收拾前发现它们是不可能的。在一个项目中采取的措施也可用来为未来的项目拟定实现的期限和费用计划。
成熟度等级3:已定义级(Defined)。在第3级,已为软件生产的过程编制了完整的文档。软件过程的管理方面和技术方面都明确地做了定义,并按需要不断地改进过程,而且采用评审的办法来保证软件的质量。在这一级,可引用CASE环境来进一步提高质量和产生率。而在第—级过程中,“高技术”只会使这一危机驱动的过程更混乱。
成熟度等级4:已管理级(Managed)。一个处于第4级的公司对每个项目都设定质量和生产目标。这两个量将被不断地测量,当偏离目标太多时,就采取行动来修正。利用统计质量控制,管理部门能区分出随机偏离和有深刻含义的质量或生产目标的偏离(统计质量控制措施的一个简单例子是每千行代码的错误率。相应的目标就是随时间推移减少这个量) 。
成熟度等级5:优化级(Optimizing)。—个第5级组织的目标是连续地改进软件过程。这样的组织使用统计质量和过程控制技术作为指导。从各个方面中获得的知识将被运用在以后的项目中,从而使软件过程融入了正反馈循环,使生产率和质量得到稳步的改进。
2.关键过程领域
除第一级外,CMM的每一级是按完全相同的结构组成的。每一级包含了实现这一级目标的若干关键过程域(KPA),这些关键过程域指出了企业需要集中力量改进的软件过程。同时,这些关键过程域指明了为了要达到该能力成熟度等级所需要解决的具体问题。每个KPA都明确地列出一个或多个的目标(Goal),并且指明了一组相关联的关键实践(Key Practices)。实施这些关键实践就能实现这个关键过程域的目标,从而达到增加过程能力的效果。
关键实践(Key Practices)包括以下内容:
1.描述了对有效执行和制度化该KPA起主要作用的从属活动和基础构造;
2. 软件过程必须包括些什么,而不去规定这些过程是如何实现的
("What" is to be done; not "how" the process should be implemented);
4. 实现该KPA的目标所允许做的实践活动。
KPA of CMMI 2
需求管理 (Requirements Management)
项目规划 (Project Planning)
专案监控 (Project Monitoring and Control)
供货商协议管理 (Supplier Agreement Management)
度量与分析 (Measurement and Analysis)
流程与产品质量保证 (Process and Product Quality Assurance)
建构管理 (Configuration Management)
KPA of CMMI 3
需求发展 (Requirements Development )
技术解决方案 (Technical Solution )
产品整合 (Product Integration )
验证 (Verification)
确认 (Validation )
组织流程专注 (Organizational Process Focus )
组织流程定义 (Organizational Process Definition )
组织训练 (Organizational Training )
整合的项目管理 (Integrated Project Management )
风险管理 (Risk Management )
整合团队管理 (Integrated Teaming )
整合供货商管理 (Integrated Supplier Management )
决策分析与解决方案 (Decision Analysis and Resolution )
适于整合之组织环境 (Organizational Environment for Integration)
KPA of CMMI 4
组织流程绩效 (Organizational Process Performance)
数量化项目管理 (Quantitative Project Management)
KPA of CMMI 5
组织创新与推展 (Organizational Innovation and Deployment)
原因分析与解决方案 (Causal Analysis and Resolution)
3.需求跟踪能力链
需求跟踪需求跟踪是指跟踪一个需求使用期限的全过程,需求跟踪包括编制每个需求同系统元素之间的联系文档,这些元素包括其他类型的需求,体系结构,其他设计部件,源代码模块,测试,帮助文件等。需求跟踪为我们提供了由需求到产品实现整个过程范围的明确查阅的能力。需求跟踪的目的是建立与维护“需求-设计-编程-测试”之间的一致性,确保所有的工作成果符合用户需求。
跟踪能力(联系)链(traceability link)使你能跟踪一个需求使用期限的全过程,即从需求源到实现的前后生存期。跟踪能力是优秀需求规格说明书的一个特征。为了实现可跟踪能力,必须统一地标识出每一个需求,以便能明确地进行查阅。
4.工作分解结构
工作分解结构(简称WBS)跟因数分解是一个原理,就是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。即:项目→任务→工作→日常活动。工作分解结构以可交付成果为导向,对项目要素进行的分组,它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。
工作分解结构(Work Breakdown Structure, WBS):以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。无论在项目管理实践中,还是在PMP考试中,工作分解结构(WBS)都是最重要的内容。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。WBS同时也是控制项目变更的重要基础。项目范围是由WBS定义的,所以WBS也是一个项目的综合工具。