第13章 · 知识精要

开发管理

章节概述

开发管理是软件工程中协调人员、过程和技术三大要素以实现项目按时、按预算、按质量交付的核心领域。美国国防部调查显示,70%的软件项目失败源于管理不善而非技术不足;20世纪90年代仅约10%的商用软件项目能按预定费用和进度交付。业界共识是:管理水平影响项目全局,技术只影响局部。因此必须从项目管理的角度去管理软件开发和运行,以控制财务成本、提高资源利用率、缩短开发时间、提高产品质量和可靠性。

根据美国项目管理协会(PMI)的知识体系,项目管理可分为范围、时间、费用、质量、人力资源、沟通、风险、采购和整体管理9个知识领域。对于软件开发管理,尤其重要的7个方面是:软件范围管理、软件进度管理、软件成本管理、软件配置管理(属整体管理)、软件质量管理、软件风险管理、开发人员管理(属人力资源管理)。本章还涵盖需求管理、软件文档管理、软件运行与评价以及软件过程改进(CMM/CMMI)。

知识结构框架

  • 13.1 项目的范围、时间与成本 — 项目范围管理(启动、范围计划、定义、核实、变更控制)、项目成本管理(资源计划、成本估算、成本预算、成本控制)、项目时间管理(活动定义、排序、历时估算、进度编制、进度控制)
  • 13.2 配置管理与文档管理 — 软件配置管理概念(IEEE 729-1983六大功能、ISO 9000-3要求)、配置管理解决方案(ClearCase、PVCS、VSS、CVS)、软件文档管理(三类文档、编制计划、质量要求)
  • 13.3 软件需求管理 — 需求变更(变更预防与控制)、需求跟踪(变更控制过程、影响分析、基准版本、历史记录、状态跟踪)
  • 13.4 软件开发的质量与风险 — 软件质量管理(质量计划、质量保证、质量控制;评审与测试)、项目风险管理(风险识别、分析、应对、监控)
  • 13.5 人力资源管理 — 组织规划(垂直/水平/混合团队)、人员招募(项目经理六大能力)、团队建设(四阶段:形成→震荡→正规→表现)
  • 13.6 软件的运行与评价 — 稳定性与可靠性评价、需求满足度评价、实施效益评价
  • 13.7 软件过程改进 — CMM五级、CMMI(阶段式/连续式)、ISO 9000、ITIL

核心概念

项目范围管理

保证项目顺利完成所需的全部工作过程,包括启动、范围计划编制、范围定义、范围核实、范围变更控制5个部分。范围定义将可交付成果分解为更小、更易管理的单元,提高估算准确性、建立基准、便于职责分配。

项目成本管理

保证在批准预算内完成项目所需过程,包括资源计划编制、成本估算、成本预算、成本控制4个部分。成本估算是对可能数量结果的估算,定价是商业决策,二者不同。

项目时间管理

确保项目按时完成所需过程,包括活动定义、活动排序、活动历时估算、进度计划编制、进度控制5个部分。活动排序确定依赖关系,历时估算采用渐进明细方式逐步精确。

软件配置管理(SCM)

IEEE 729-1983定义的六大功能:配置标识、版本控制、状态统计、审计和审查、生产、过程管理、小组协作。三大核心:版本管理(基础)、问题跟踪、建立管理。

软件文档管理

文档分三类:开发文档(需求、设计、测试计划等)、产品文档(用户指南、培训手册、参考手册等)、管理文档(项目计划、进度记录、变更记录等)。还可分内部文档与外部文档。

需求管理

控制和维持事先约定,保证项目开发过程的一致性。包括需求变更(项目启动阶段预防、实施阶段控制)和需求跟踪(变更控制过程、影响分析、基准版本、历史记录、状态跟踪)。

软件质量管理

包括三部分:质量计划(判断并决定如何达到质量标准)、质量保证(定期评估总体绩效,建立信心)、质量控制(监视结果,判断是否符合标准)。评审和测试是重要手段。

项目风险管理

对项目风险进行识别、分析并采取应对措施的系统过程。按内容分为内部技术风险、内部非技术风险、外部法律风险、外部非法律风险。过程包括规划、识别、定性分析、定量分析、应对计划、监督控制

风险应对四策略

PMBOK 2012版四种应对方法:规避(改变计划排除风险)、转移(将后果连同责任转给第三方)、减轻(降低概率或影响)、接受(不改变计划,含主动应变计划)。

人力资源管理

包括组织规划(垂直/水平/混合团队方案)、人员招募(经验、兴趣、可得性、胜任度评估)、团队建设(形成→震荡→正规→表现四阶段)。

CMM / CMMI

CMM(软件能力成熟度模型)提供五级阶梯进化框架:初始级→可重复级→定义级→管理级→优化级。CMMI有阶段式(5级成熟度)和连续式(过程管理/项目管理/工程/支持四大类)两种表示方法。

关键公式与规则

// 风险值(风险曝光度/风险暴露) 风险值 = 风险概率 × 风险影响 // 示例:某风险概率 25%,一旦发生导致项目计划延长 4 周 风险值 = 25% × 4 周 = 1 周 // 说明:风险得失值 = 风险发生后对项目造成的影响大小 // 风险概率 = 风险发生可能性的百分比(主观判断) // 风险值 = 两者乘积,是评估风险的重要参数
// CMM 五级成熟度模型(阶梯式,不可跨越级别进化) 第1级 初始级 — 过程未定义,随意且混乱 第2级 可重复级 — 焦点在管理过程(需求/项目/质量/配置/子合同管理) 第3级 定义级 — 企业级工程化标准,文档化并集成到标准过程 第4级 管理级 — 量化管理,所有过程建立度量方式 第5级 优化级 — 持续改善,根据反馈信息优化执行步骤
// CMMI 两种表示方法 // 1. 阶段式(与 CMM 一致) // 将过程区域分为 5 个成熟度级别,帮助组织建议一条容易实现的改进道路 // // 2. 连续式 // 将过程区域分为四大类: // 过程管理 | 项目管理 | 工程 | 支持 // 每大类中的过程区域又分为"基本的"和"高级的" // 可将某一类实践做到最好,其他方面可不必考虑 // CMMI 四个集成成分(1.1版本) // SE(系统工程)+ SW(软件工程)= 基本科目 // IPPD(集成产品和过程开发)= 可选 // SS(Supplier Sourcing 供应商外包)= 可选
// 软件配置管理三大核心部分 // 版本管理(基础)| 问题跟踪 | 建立管理 // IEEE 729-1983 SCM 六大功能 // 配置标识 | 版本控制 | 状态统计 | 审计和审查 | 生产 | 过程管理 | 小组协作 // 项目范围管理五部分 // 启动 | 范围计划编制 | 范围定义 | 范围核实 | 范围变更控制 // 项目成本管理四部分 // 资源计划编制 | 成本估算 | 成本预算 | 成本控制 // 项目时间管理五部分 // 活动定义 | 活动排序 | 活动历时估算 | 进度计划编制 | 进度控制
// 团队建设四阶段 // 形成(预期/信息/参与激励) → 震荡(参与/责任/信息激励) // → 正规(自我激励/知识激励) → 表现(危机/目标/知识激励) // 风险管理过程六步 // 规划 → 识别 → 定性分析 → 定量分析 → 应对计划 → 监督控制 // 风险应对四策略(PMBOK 2012) // 规避 | 转移 | 减轻 | 接受 // 软件文档三类 // 开发文档 | 产品文档 | 管理文档

考试要点

  • 项目范围管理5部分:启动、范围计划编制、范围定义、范围核实、范围变更控制。重点理解范围定义的目的(提高估算准确性、建立基准、便于职责分配)及范围核实与质量控制的区别(核实关注"接收",质量控制关注"正确性")。
  • 项目成本管理4部分:资源计划编制、成本估算、成本预算、成本控制。区分成本估算(数量结果估算)与定价(商业决策)。
  • 项目时间管理5部分:活动定义、活动排序、活动历时估算、进度计划编制、进度控制。
  • SCM配置管理:IEEE 729-1983六大功能(配置标识、版本控制、状态统计、审计和审查、生产、过程管理、小组协作),三大核心(版本管理为基础、问题跟踪、建立管理)。ISO 9000-3对配置管理的要求。
  • 软件文档三类:开发文档(需求规格说明、设计说明、测试计划等)、产品文档(用户指南、培训手册、参考手册等)、管理文档(项目开发计划、进度记录、变更记录等)。好文档的五特征:针对性、精确性、清晰性、完整性、灵活性。
  • 需求跟踪五要素:确定变更控制过程、影响分析、建立基准版本和需求控制版本文档、维护变更历史记录、跟踪每项需求状态。
  • 软件质量管理三部分:质量计划、质量保证、质量控制。评审的目标与过程(会议结束时三决策:接受/拒绝/暂时接受),测试的基本文档(测试计划、测试过程、测试结果)。
  • 风险值计算:风险值 = 风险概率 × 风险影响(风险得失值)。如概率25% × 4周 = 1周。风险应对四策略:规避、转移、减轻、接受。
  • CMM五级名称及特征:初始级(混乱)→可重复级(管理过程)→定义级(工程化标准)→管理级(量化管理)→优化级(持续改善)。不主张跨越级别进化。
  • CMMI两种表示:阶段式(5级成熟度,与CMM一致)、连续式(四大类过程区域:过程管理、项目管理、工程、支持,每类分基本和高级)。CMMI四个集成成分:SE、SW、IPPD、SS。
  • 团队建设四阶段:形成阶段、震荡阶段、正规阶段、表现阶段,各阶段对应不同激励方式。
  • 项目经理六大能力:领导能力、沟通技巧、人际交往能力、应付压力的能力、培养员工的能力、时间管理技能。
  • 风险监控工具:"前10个风险列表"——按风险值大小排列前10大风险,密切监控,每次检查后形成新列表。

关键图示

本章无SVG图示,以下用表格和文本图替代关键模型对比。

CMM vs CMMI 对比

维度 CMM(SW-CMM) CMMI
全称 软件能力成熟度模型 能力成熟度模型集成
模型类型 仅阶段式(阶梯式) 阶段式 + 连续式两种表示
成熟度等级 5级:初始→可重复→定义→管理→优化 阶段式5级(同CMM);连续式按能力等级0-3
过程区域分类 按级别分组(如2级含6个KPA) 连续式分四大类:过程管理、项目管理、工程、支持
集成成分 仅软件工程 SE + SW(基本)+ IPPD + SS(可选)
关注点 软件开发过程能力 多学科集成,覆盖系统工程等领域
与ISO 9001关系 94版ISO9001约对应CMM 2级;2000版对应更多CMM 4/5级要求 同CMM,均基于TQM

CMM 五级阶梯

// CMM 成熟度阶梯(不可跨越级别进化,每级是下级的基础) 第1级 初始级 ──→ 随意过程,混乱,无规范保证 │ ▼ 第2级 可重复级 ──→ 焦点:管理过程(需求/项目/质量/配置/子合同管理) │ 过程可重复→可管理→能进化 ▼ 第3级 定义级 ────→ 企业级工程化标准,文档化,集成到标准过程 │ 项目根据标准过程剪裁(需批准) ▼ 第4级 管理级 ────→ 量化管理,所有过程建立度量,产品质量有明确指标 │ ▼ 第5级 优化级 ────→ 持续改善,根据反馈信息优化执行步骤 企业能不断调整过程以求最佳

风险管理过程流程

// 风险管理六步过程(事前/事中/事后控制) 事前控制 ──→ 风险管理规划(决定如何指导和规划风险管理活动) │ ▼ 风险识别 ──→ 找到可能影响项目的风险,记录特征(连续过程) │ 方法:风险检查表、因果分析图、采访干系人 ▼ 定性风险分析 ─→ 按对项目目标影响排序,决定风险重要性 │ ▼ 定量风险分析 ─→ 度量风险可能性和后果,估量对项目目标潜在影响 │ 风险值 = 风险概率 × 风险影响 ▼ 风险应对计划 ─→ 创建过程和技术:规避|转移|减轻|接受 │ 考虑:可规避性、可转移性、可缓解性、可接受性 ▼ 风险监督与控制 ─→ 监视现存风险,识别新风险,执行缓解计划 工具:"前10个风险列表"

团队建设四阶段

阶段 特征 主要激励方式
形成阶段 个体转变为团队成员,了解目标和彼此 预期激励、信息激励、参与激励
震荡阶段 现实与设想不一致,挫折、对立情绪,士气低 参与激励、责任激励、信息激励
正规阶段 接受工作环境,凝聚力形成,相互信任,自由表达 自我成就感激励、知识激励(请专家讲解)
表现阶段 积极工作,高绩效,集体感和荣誉感,高度授权 危机激励、目标激励、知识激励