第十三章 - 软件过程管理与改进

定义

  • 软件企业组织需要建立一个统一的、明确定义的组织级软件过程,使得所有的项目遵照执行,同时在实用执行中不断地改进和完善组织级过程体系。
  • CMMI是一个企业级的软件开发过程模型和质量标准,提供了一个组织级的管理模型、标准、改进框架。
  • 软件过程框架形成一个包含CMMI、PSP和TSP三者的严密的整体, 本章重点阐述以此为基础的组织级的软件过程体系。

能力成熟度模型/CMMI与过程改进(*)

在这里插入图片描述

  • 由卡内基梅隆大学软件工程研究所(SEI)负责研发,并形成了一套系统的评估标准,也为软件公司提供了认证的标准和路线。
  • 模型中将过程的能力和成熟情况按照等级或成熟度进行了划分。
  • 开发的能力与成熟度阶段性的改善过程和路线通过下图进行了可视化的描述。
    在这里插入图片描述
  • 级别1 初始级:initial
    开发的初级阶段,没有引入任何系统化的过程控制。开发过程存在很大的随意性,开发结果存在较大的不确定性,并且难以理解和回顾,开发过程经常返工,工作量翻倍是常态。被动的等待问题的出现以及救火式的处理,项目成败极大的依赖员工的技能和承诺。
  • 级别2 已管理级:managed
    这个阶段的项目可以再现,总结出了项目开发的特点和管理经验,项目管理起到了重要的作用。引入了关键的子过程:需求管理(REQM)、项目计划(PP)、项目跟踪和控制(PMC)、过程和产品质量保证(PPQA)、配置管理(CM)、供应商协议管理(SAM)和度量与分析(MA)。但仍然是被动的问题应对方式。
  • 级别3 已定义级:defined
    所有已有的过程都进行了统一的文档化,它们能够被公司范围所理解和利用,并为其它项目提供一个统一的框架。公司范围对过程的分析综合和协调是管理的核心,为此需要下面的子过程的支持:需求定义(RD)、验证(Val)、确认(Ver)、技术方案(TS)、风险管理(RSKM)、组织级过程聚焦(OPF)、组织级过程定义(OPD)、组织级培训(OT)、集成项目管理(IPM)、决策分析和决定(DAR)。这是一个主动的问题应对方式。
  • 级别4 已量化管理级:Quantitatively Managed
    为了能够识别出哪些过程改动会带来什么样的质量变化,需要对过程和产品质量进行量化的度量。每个过程的表现需要能够度量,并基于量化结果进行自我分析的能力,通过以下两个子过程进行支持:组织级过程性能(OPP)和量化项目管理(QPM)
  • 级别5 优化级:Optimizing
    在此阶段,公司能够在基于前面的基础阶段之上确定更为合理的优化目标和及时识别并做出必要的过程调整。包含的子过程包括:组织级革新与实施(OID)和原因分析与解决(CAR)。
  • 举例:CMMI提供了对所有任务的风险和人员需求的描述,图中针对原企业模型进行了具体改进。
    • 在这里插入图片描述
  • CMMI过程域:
    • CMMI二级及以上中的子过程又称为是过程域(Process Area)
    • 过程域简单的说就是做好一个事情的某一个方面,对应软件开发来说,就是做好软件开发的某一个方面。
    • CMMI中过程域(PA)主要内容分四大类22个,其中2-3级有18个,4-5级4个
    • 在这里插入图片描述

过程域结构

  • 每个过程域具有一系列的目标,包括特定目标(Specific Goals)和通用目标(General Goals),并给出了它们对应的特定实践(Specific Practice)和通用实践(General Practice)
    -

PP过程域

  • PP过程域的基本描述结构
    在这里插入图片描述
  • 特定目标和实践描述结构
    在这里插入图片描述
    特定子实践描述结构
    在这里插入图片描述
  • 通用目标和实践描述结构
    在这里插入图片描述

PSP

在这里插入图片描述

  • CMMI为每位员工也定义了阶段性的能力和成熟度,即个体软件过程(Personal Software Proces,PSP)。
  • PSP0理解软件过程的思想并且完成相应的开发工作。
  • PSP1计划个人工作安排(个人过程的改进),通过实际开发时间和缺陷的度量,确定对个人过程的改进是否带来了工作的提升。
  • PSP2开发人员能够树立自己的质量目标并通过自我评审评估工作效率。

TSP

  • TSP是对团队软件过程的定义、度量和改革提出了一整套原则、策略和方法
  • 把CMMI要求实施的管理与PSP要求开发人员具有的技巧结合起来,以按时交付高质量的软件,并把成本控制在预算的范围之内。
  • TSP是一个框架,个人将自己的工作过程和技能结合到具备团队成熟的过程管理技术,使他们能够完成高质量的工作。。
  • TSP框架结构包括一系列能力领域。
    • 每个能力领域都由一组相互关联的知识域组成
    • 知识域又是由概念和技能组成,
    • 这些概念和技能是知识域中包含的最小信息单位。
      • 概念用于描述TSP内容的智能方面,即技术的信息、事实、术语和哲学成分。
      • 技能指个人理解和应用一个或多个概念的能力,从而能够完成工作任务的执行。
  • 6个能力领域,分别是TSP基础和原理、团队基础、TSP的项目策划、TSP的项目实施和跟踪、收集和使用TSP数据、扩大TSP。
    • 每个能力领域都全面描述了相关的知识域以及知识域中的概念与技能,供团队应用到项目管理中。
      在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42739587/article/details/114669107