第13章 · 趣味学习

开发管理:让项目不再翻车 📊

美国国防部调查:70%失败项目是管理不善而非技术不够。只有10%项目能按计划费用和进度交付。小明开奶茶店——技术再好(奶茶再好喝),管不好采购/排班/成本,照样亏本。本章7节讲怎么让软件项目不翻车。

🎭 本章导读:7大管理领域

项目管理9知识领域中,软件开发7个尤其重要:范围、进度、成本、配置(属整体)、质量、风险、人力。本章按此铺开:范围时间成本→配置与文档→需求管理→质量与风险→人力资源→运行评价→过程改进。
小明
老师,管理不就是管人吗?为啥还要管"配置"和"文档"?
老师
因为软件是"无形产品"。奶茶店的奶茶喝完就没了,但代码会一直变——今天改一行,明天改一行,不改就烂,改多了就乱。配置管理管"版本别乱",文档管理管"知识别丢"。这7块都是"防翻车"的刹车系统。

📐 13.1 项目的范围、时间与成本

项目管理首先要考虑三约束:范围(做什么)、时间(多久)、成本(花多少)。签合同时必须明确。

13.1.1 范围管理5部分

项目启动→范围计划编制→范围定义→范围核实→范围变更控制。

  • 范围定义:把可交付成果分解成更小更易管理单元。目的:提高成本/时间/资源估算准确性、为绩效测量定义基准、便于职责分配
  • 范围核实:干系人正式接受项目范围,审查可交付成果。注意:范围核实≠质量控制(核实是"接收",质控是"正确性")
  • 范围变更控制:影响变更因素、确定变更是否发生、管理实际变更。必须与其他控制结合

13.1.2 成本管理4部分

资源计划编制→成本估算→成本预算→成本控制。

成本估算≠定价。估算是"花费多少"(近似值),定价是"收多少"(商业决策)。成本控制含:监测偏差及原因、确保变更准确记录、防止不正确变更纳入、通知干系人、控制预计成本。

13.1.3 时间管理5部分

活动定义→活动排序→活动历时估算→进度计划编制→进度控制。

范围5(启动/计划/定义/核实/变更)、成本4(资源/估算/预算/控制)、时间5(定义/排序/历时/计划/控制)

🗂️ 13.2 配置管理与文档管理

SCM=控制软件系统一系列变化的学科。核心三部分:版本管理(基础)、问题跟踪、建立管理。

13.2.1 SCM概念6功能

IEEE 729定义SCM 6功能:配置标识、版本控制、状态统计、审计和审查、生产、过程管理、小组协作。

ISO9000.3要求:唯一标识版本、标识构成完整产品的各软件项版本、控制多人同时更新、协调复杂产品更新、标识跟踪所有措施和更改。

13.2.2 SCM工具4种

工具特点
Rational ClearCase全面:版本控制+工作空间管理(View)+建立管理+过程控制,支持UNIX/Windows
Merant PVCS8模块(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项

  1. 确定需求变更控制过程(标准过程)
  2. 进行需求变更影响分析(对计划和其他需求)
  3. 建立需求基准版本和控制版本文档
  4. 维护需求变更历史记录(日期/原因/负责人/版本号)
  5. 跟踪每项需求状态(已推荐/已通过/已实施/已验证)

🎯 13.4 软件开发的质量与风险

质量不是绝对的,总是与给定需求有关。质量管理=质量计划+质量保证+质量控制。

13.4.1 软件质量管理3部分

质量计划:判断哪些质量标准相关+如何达到。活动含计划质量活动、定义可测量目标、确定可量化管理、提供资源资金、培训人员。

质量保证:定期评估总体绩效,建立能达到质量标准的信心。贯穿始终。

质量控制:监测具体结果是否符合标准+消除不合格根源。含评审、调试、测试。

软件评审目标5点:发现错误、验证需求、保证按标准表示、统一形式开发、使项目更易管理。评审过程:召开会议→决策(接受/拒绝/暂接受)→报告记录。评审准则:分配资源和时间表、评产品不评人、不脱离主题、不为解决问题而是发现问题、建立评审清单。

测试3文档:测试计划(范围/方法/资源)、测试过程(步骤和数据)、测试结果(归档+问题报告)。

13.4.2 项目风险管理

风险管理=识别+分析+应对的系统过程。三时段:事前控制(规划)、事中控制(方法)、事后控制(报告)。

4风险类型:内部技术风险(新技术/不切实际要求)、内部非技术风险(战略/管理/质量/进度/成本)、外部法律风险(规章/专利/合同)、外部非法律风险(政治/经济/通胀/灾害)。

风险管理6过程:规划→识别→定性分析→定量分析→应对计划→监督控制。

3个关键概念

  • 风险得失值:风险发生的损失大小(可折算为时间影响)
  • 风险概率:发生可能性的百分比(主观判断)
  • 风险值(风险曝光度)=风险概率×风险影响。例:25%概率延4周→风险值=1周

4种应对策略(PMBOK 2012):

策略含义手段
规避改变计划排除风险澄清要求、取得信息、改善沟通
转移后果连同责任转第三方保险、履约保证书、固定总价合同
减轻降低概率或得失量提前行动、培训、应急储备金
接受不改计划,承受后果主动接受=制定应变计划

风险监控最有效工具之一:"前10个风险列表"——按风险值排序前10个,每次检查后形成新列表。含跟踪已识别风险+识别新风险+调整应对计划。

风险值=风险概率×风险影响(必考计算);4种应对策略区别(规避/转移/减轻/接受);前10风险列表是风险监控最有效工具。风险识别贯穿整个项目生命周期。

👥 13.5 人力资源管理

3过程:组织规划→人员招募→团队建设。

3种团队组织方案

方案构成优点缺点
垂直多面手,每人从头到尾端到端平滑、技能广多面手贵且难找
水平专家,每人一两个角色高质量完成各环节各专业联系少、管理难
混合多面手+专家兼前两者优点兼前两者缺点

项目经理6能力:领导能力(授权/激励/榜样/抉择)、沟通技巧、人际交往、应付压力、培养员工、时间管理。

团队成长4阶段

  1. 形成阶段:个体转团队,疑惑多。激励:预期激励+信息激励+参与激励
  2. 震荡阶段:着手执行,挫折/对立/抵制。激励:参与激励+责任激励+信息激励
  3. 正规阶段:接受环境,凝聚形成,相互信任。激励:参与激励+自我成就/责任意识+知识激励
  4. 表现阶段:积极工作,高绩效,集体感荣誉感。激励:危机激励+目标激励+知识激励
团队4阶段像奶茶店开业:形成=招人互相试探;震荡=真干起来发现活比想象难,开始抱怨;正规=磨合好了,各司其职;表现=默契配合,爆款频出。激励方式要随阶段变——初期讲愿景(预期),中期给参与感,后期靠成就感,冲刺靠危机感。

📈 13.6 软件的运行与评价

交付用户使用后,对照评价标准打分。关注3点:
  • 稳定性和可靠性:运行周期内出错率、性能劣化趋势。测试做得好后期问题少
  • 是否满足用户需求:用户按归档需求文档逐个检查。满足才同意交付
  • 给用户带来的好处:价值指标(节省人工/流程时间/降低出错率等)

🔄 13.7 软件过程改进

SPI帮助软件企业对软件生产过程进行计划、诊断、改进方案制订及实施。4种模型。

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与业务紧密结合。

CMM 5级"初可定管优";CMMI两种表示(阶段式/连续式);ISO9000≈CMM2级;ITIL是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