美国国防部调查:70%失败项目是管理不善而非技术不够。只有10%项目能按计划费用和进度交付。小明开奶茶店——技术再好(奶茶再好喝),管不好采购/排班/成本,照样亏本。本章7节讲怎么让软件项目不翻车。
🎭 本章导读:7大管理领域
📐 13.1 项目的范围、时间与成本
13.1.1 范围管理5部分
项目启动→范围计划编制→范围定义→范围核实→范围变更控制。
- 范围定义:把可交付成果分解成更小更易管理单元。目的:提高成本/时间/资源估算准确性、为绩效测量定义基准、便于职责分配
- 范围核实:干系人正式接受项目范围,审查可交付成果。注意:范围核实≠质量控制(核实是"接收",质控是"正确性")
- 范围变更控制:影响变更因素、确定变更是否发生、管理实际变更。必须与其他控制结合
13.1.2 成本管理4部分
资源计划编制→成本估算→成本预算→成本控制。
成本估算≠定价。估算是"花费多少"(近似值),定价是"收多少"(商业决策)。成本控制含:监测偏差及原因、确保变更准确记录、防止不正确变更纳入、通知干系人、控制预计成本。
13.1.3 时间管理5部分
活动定义→活动排序→活动历时估算→进度计划编制→进度控制。
🗂️ 13.2 配置管理与文档管理
13.2.1 SCM概念6功能
IEEE 729定义SCM 6功能:配置标识、版本控制、状态统计、审计和审查、生产、过程管理、小组协作。
ISO9000.3要求:唯一标识版本、标识构成完整产品的各软件项版本、控制多人同时更新、协调复杂产品更新、标识跟踪所有措施和更改。
13.2.2 SCM工具4种
| 工具 | 特点 |
|---|---|
| Rational ClearCase | 全面:版本控制+工作空间管理(View)+建立管理+过程控制,支持UNIX/Windows |
| Merant PVCS | 8模块(VersionManager/ConfigurationBuilder/Tracker/Notify/Reporter等),工业标准 |
| Microsoft VSS | 基本认证+版本控制(CheckIn/Out/Branch/Label),与VS集成,适合个人 |
| CVS | 开源,Linux/UNIX自带,并发版本系统 |
13.2.3 软件文档管理
文档7作用:管理依据、任务联系凭证、质量保证、培训与参考、维护支持、历史档案、销售可能。
文档3类:开发文档(需求/设计/测试/质量)、产品文档(培训手册/参考手册/用户指南/支持手册)、管理文档(计划/进度/变更/判定/职责/报告)。
按用途分内部文档(计划/需求/架构/详设/构件/类/测试/源码)和外部文档(安装/操作/在线帮助/性能/操作索引)。
好文档5特征:针对性(分清读者)、精确性(无歧义)、清晰性(配图表)、完整性(自成体系)、灵活性(按项目定)。
📝 13.3 软件需求管理
13.3.1 需求变更
两阶段措施:
- 启动阶段预防:基准文件定义越详细清晰,后期分歧越少。需求文档清晰且有客户签字,超出合同范围的变更需另外处理
- 实施阶段控制:分析变更请求,评估风险,修改基准文件。注意:需求必须与投入联系(需求变投入也变)、变更需出资者认可、小的变更也要走正规流程、注意沟通技巧
13.3.2 需求跟踪5项
- 确定需求变更控制过程(标准过程)
- 进行需求变更影响分析(对计划和其他需求)
- 建立需求基准版本和控制版本文档
- 维护需求变更历史记录(日期/原因/负责人/版本号)
- 跟踪每项需求状态(已推荐/已通过/已实施/已验证)
🎯 13.4 软件开发的质量与风险
13.4.1 软件质量管理3部分
质量计划:判断哪些质量标准相关+如何达到。活动含计划质量活动、定义可测量目标、确定可量化管理、提供资源资金、培训人员。
质量保证:定期评估总体绩效,建立能达到质量标准的信心。贯穿始终。
质量控制:监测具体结果是否符合标准+消除不合格根源。含评审、调试、测试。
软件评审目标5点:发现错误、验证需求、保证按标准表示、统一形式开发、使项目更易管理。评审过程:召开会议→决策(接受/拒绝/暂接受)→报告记录。评审准则:分配资源和时间表、评产品不评人、不脱离主题、不为解决问题而是发现问题、建立评审清单。
测试3文档:测试计划(范围/方法/资源)、测试过程(步骤和数据)、测试结果(归档+问题报告)。
13.4.2 项目风险管理
风险管理=识别+分析+应对的系统过程。三时段:事前控制(规划)、事中控制(方法)、事后控制(报告)。
4风险类型:内部技术风险(新技术/不切实际要求)、内部非技术风险(战略/管理/质量/进度/成本)、外部法律风险(规章/专利/合同)、外部非法律风险(政治/经济/通胀/灾害)。
风险管理6过程:规划→识别→定性分析→定量分析→应对计划→监督控制。
3个关键概念:
- 风险得失值:风险发生的损失大小(可折算为时间影响)
- 风险概率:发生可能性的百分比(主观判断)
- 风险值(风险曝光度)=风险概率×风险影响。例:25%概率延4周→风险值=1周
4种应对策略(PMBOK 2012):
| 策略 | 含义 | 手段 |
|---|---|---|
| 规避 | 改变计划排除风险 | 澄清要求、取得信息、改善沟通 |
| 转移 | 后果连同责任转第三方 | 保险、履约保证书、固定总价合同 |
| 减轻 | 降低概率或得失量 | 提前行动、培训、应急储备金 |
| 接受 | 不改计划,承受后果 | 主动接受=制定应变计划 |
风险监控最有效工具之一:"前10个风险列表"——按风险值排序前10个,每次检查后形成新列表。含跟踪已识别风险+识别新风险+调整应对计划。
👥 13.5 人力资源管理
3种团队组织方案:
| 方案 | 构成 | 优点 | 缺点 |
|---|---|---|---|
| 垂直 | 多面手,每人从头到尾 | 端到端平滑、技能广 | 多面手贵且难找 |
| 水平 | 专家,每人一两个角色 | 高质量完成各环节 | 各专业联系少、管理难 |
| 混合 | 多面手+专家 | 兼前两者优点 | 兼前两者缺点 |
项目经理6能力:领导能力(授权/激励/榜样/抉择)、沟通技巧、人际交往、应付压力、培养员工、时间管理。
团队成长4阶段:
- 形成阶段:个体转团队,疑惑多。激励:预期激励+信息激励+参与激励
- 震荡阶段:着手执行,挫折/对立/抵制。激励:参与激励+责任激励+信息激励
- 正规阶段:接受环境,凝聚形成,相互信任。激励:参与激励+自我成就/责任意识+知识激励
- 表现阶段:积极工作,高绩效,集体感荣誉感。激励:危机激励+目标激励+知识激励
📈 13.6 软件的运行与评价
- 稳定性和可靠性:运行周期内出错率、性能劣化趋势。测试做得好后期问题少
- 是否满足用户需求:用户按归档需求文档逐个检查。满足才同意交付
- 给用户带来的好处:价值指标(节省人工/流程时间/降低出错率等)
🔄 13.7 软件过程改进
CMM 5级(阶梯式进化框架):
| 级 | 名称 | 特征 |
|---|---|---|
| 1 | 初始级 | 随意混乱,起点 |
| 2 | 可重复级 | 焦点在管理过程(需求/项目/质量/配置/子合同5个),可重复可进化 |
| 3 | 定义级 | 企业范围工程化标准,文档化标准过程,剪裁出项目过程 |
| 4 | 管理级(量化) | 量化管理,所有过程建度量,详尽度量 |
| 5 | 优化级 | 持续改善,据反馈优化执行步骤 |
CMMI:CMM最新版,两种表示:阶段式(5成熟度级别,同CMM)和连续式(过程区域分4类:过程管理/项目管理/工程/支持,各类分基本和高级)。
ISO 9000:确定质量体系最少需求,与CMM都基于TQM。ISO9001(1994)≈CMM 2级,2000版对应更多CMM 4/5级要求。
ITIL:IT服务管理最佳实践指南,V2.0(2000-03)、V3.0(2007)。把IT与业务紧密结合。
🏆 本章总结:7大管理防翻车
- 范围时间成本:范围5+成本4+时间5
- 配置与文档:SCM 6功能+4工具+文档7作用3类5特征
- 需求管理:变更(2阶段)+跟踪(5项)
- 质量与风险:质量3部分+评审5目标+风险4类型6过程4策略+风险值公式+前10列表
- 人力资源:3团队方案+PM 6能力+团队4阶段
- 运行评价:稳定性+需求满足+价值
- 过程改进:CMM 5级+CMMI 2表示+ISO9000+ITIL