章节概述
开发管理是软件工程中协调人员、过程和技术三大要素以实现项目按时、按预算、按质量交付的核心领域。美国国防部调查显示,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级成熟度)和连续式(过程管理/项目管理/工程/支持四大类)两种表示方法。
关键公式与规则
考试要点
- 项目范围管理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 五级阶梯
风险管理过程流程
团队建设四阶段
| 阶段 | 特征 | 主要激励方式 |
|---|---|---|
| 形成阶段 | 个体转变为团队成员,了解目标和彼此 | 预期激励、信息激励、参与激励 |
| 震荡阶段 | 现实与设想不一致,挫折、对立情绪,士气低 | 参与激励、责任激励、信息激励 |
| 正规阶段 | 接受工作环境,凝聚力形成,相互信任,自由表达 | 自我成就感激励、知识激励(请专家讲解) |
| 表现阶段 | 积极工作,高绩效,集体感和荣誉感,高度授权 | 危机激励、目标激励、知识激励 |