第13章 · 播客 第1集
开发管理 · 七成项目败在管理:范围、时间与成本
🎙️ 本集播客:第1集:从一个扎心的调查数据开章——70% 的失败项目败在管理而不是技术。先把九大知识领域和软件开发七大管理方面的对应关系摆清,然后逐一拆解范围管理五部分(范围核实与质量控制的标准区分句)、成本管理四部分(成本估算与定价之辨)、时间管理五部分。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
雅
小雅
阿明,新一章「开发管理」。先给你一个数字:美国国防部曾在 20 世纪 70 年代中期专门针对软件项目失败的原因做了调查,结果是 70% 的失败软件项目都是因为管理不善引起的,而并不是事先以为的技术实力不够。你品品这个比例。
明
阿明
七成栽在管理上?我一直以为项目黄了都是技术不够硬。
雅
小雅
更扎心的在后头。到了 20 世纪 90 年代,据对美国软件工程实施现状的调查显示,大约只有 10% 的项目,尤其是商用软件,能够按预先计划的费用和进度交付。所以业界结论是:影响软件研发项目全局的因素是管理水平,而技术只影响局部。这句话直接就是判断题——问「影响项目全局的因素」,答管理水平,不是技术水平。
雅
小雅
再说加强项目管理的好处,这是多选题的原材料:控制财务成本、提高资源利用率;改进客户关系;缩短开发时间;降低成本;提高利润、生产率、产品质量和可靠性;完善公司内部协调。
明
阿明
那「项目管理」本身怎么定义?我记得是美国项目管理协会给的。
雅
小雅
对,美国项目管理协会的项目管理知识体系:项目管理是指在项目活动中运用专门的知识、技能、工具和方法,使项目能够实现或超过项目干系人的需要和期望。注意关键词是「项目干系人」的需要和期望,不只是甲方老板一个人。
雅
小雅
一般的项目管理可以分为 9 个知识领域:范围管理、时间管理、费用管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理和整体管理。而对软件开发管理来讲,尤其重要的有 7 个方面:软件范围管理、软件进度管理、软件成本管理、软件配置管理、软件质量管理、软件风险管理、开发人员管理。这里藏着一对对应关系:软件配置管理属于九大领域里的整体管理,开发人员管理属于人力资源管理。考「配置管理属于哪个知识领域」,答整体管理。
明
阿明
九减七,沟通管理和采购管理这章就不重点展开了?
雅
小雅
对,本章聚焦这 7 个。先立骨架:项目管理首先要考虑三个约束条件——项目范围、时间进度、成本预算。签软件开发合同时要问清三个问题:项目的任务是什么、发起人要通过项目获得什么样的产品或服务,这属于项目范围;项目需要多长时间、进度如何安排,这属于时间进度;项目需要花费多少、资金来源如何,这属于项目成本。三约束配三问,这是填空题的写法。
明
阿明
那就先拆范围管理。我记得它是五个部分?
雅
小雅
项目范围管理,包括保证项目顺利完成所需的全部工作过程,目的是控制项目的全部活动都在需求范围内,以确保项目资源的高效利用。它包括 5 个部分:项目启动、范围计划编制、范围定义、范围核实、范围变更控制。这五个名字一个都不能差,练习题第一题就问「以下不属于范围管理的是」,四个选项里混进一个质量控制,答案选它——质量控制是质量管理领域的事。
明
阿明
五个部分分别干什么?「项目启动」我总以为是写需求。
雅
小雅
逐个抠定义。项目启动,指批准项目启动或者允许项目进入下一个阶段——它干的是「批准」,不是干活。范围计划编制,是将生产项目产品所需进行的项目工作渐进明细和形成文件的过程,关键词「渐进明细」。范围定义,是把主要的项目可交付成果分解成更小、更易管理的单元。
雅
小雅
范围定义要达到三个目的,多选常客:提高对成本、时间及资源估算的准确性;为绩效测量与控制定义一个基准计划;便于进行明确的职责分配。原文还跟了一句很重的话:正确的范围定义是项目成功的关键。当范围定义不明确时,不可避免的变更会使最终项目成本大大超出预算,因为这些不可避免的变更会破坏项目节奏,导致返工、增加项目历时、降低生产率和工作人员的士气。
明
阿明
破坏节奏、返工、拖工期、伤士气,四个连环后果。那范围核实呢,「核实」跟测试验收是一回事吗?
雅
小雅
这里就是本章第一个标准区分句。范围核实是项目干系人,也就是发起人、客户,正式接受项目范围的过程;范围核实需要审查可交付成果和工作结果,以确保它们都已经正确圆满地完成;如果项目被提前终止,范围核实过程应当对项目完成程度建立文档。而原文明确说:范围核实与质量控制是不同的——范围核实是有关工作结果的「接收」,质量控制是有关工作结果的「正确性」。一个管收不收,一个管对不对。题目把两者说成一回事,直接判错。
明
阿明
第五部分范围变更控制呢,它管什么?
雅
小雅
范围变更控制涉及三件事:对造成范围变更的因素施加影响,以确保这些变更得到一致认可;确定范围变更是否已经发生;当范围变更发生时对实际变更进行管理。原文补了一句:范围变更控制必须与其他控制管理过程,也就是进行控制、成本控制和质量控制,结合在一起使用,才能取得良好的效果。你看,范围、进度、成本、质量四个控制是拴在一根绳上的。
明
阿明
范围完了该成本。成本管理是不是就是省钱?
雅
小雅
定义比这个严谨:项目成本管理是保证在批准预算内完成项目所需要的过程。而且软件项目的成本不只是开发成本——它还包括开发之前立项阶段及软件在运行中的费用;操作者的培训费用和项目所使用的各种硬件设施费用也都是整个项目成本的一部分。多选题问「软件项目成本包括哪些」,开发成本、立项阶段费用、运行费用、培训费用、硬件设施费用都在列,别只勾一个开发成本。
雅
小雅
项目成本管理包括 4 个主要部分:资源计划编制、成本估算、成本预算、成本控制。资源计划编制是确定为完成项目各活动需什么资源——人、设备、材料——和这些资源的数量。它和成本估算紧密相关:成本估算就是计算出完成一个项目的各活动所需各资源成本的近似值。
明
阿明
「估算」和「定价」,这俩词我老觉得是一回事。
雅
小雅
原文专门区分了,当一个项目按合同进行时必须分清这两个不同意义的词:成本估算所涉及的是对可能数量结果的估算——执行组织为提供产品和服务的花费是多少;而定价是一个商业决策——执行组织为提供的产品或服务索取多少费用。而且成本估算是定价要考虑的因素之一。一句话记:估算是算成本,定价是定要价。
雅
小雅
成本估算还包括确认和考虑各种不同的成本估算替代方案,原文举了个例子:软件设计阶段多做些工作可减少编码阶段的成本,而成本估算过程必须考虑增加的设计工作所多花的成本是否被以后的节省所抵消。接着成本预算,是把估算的总成本分配到单个活动或工作包上去,建立基准计划来度量项目实际绩效。
明
阿明
所以「建立基准计划」这一步发生在预算,不是估算?
雅
小雅
对,度量绩效的基准是预算阶段建起来的。最后成本控制,先记它的三句总纲:对造成成本基准计划变化的因素施加影响,以保证这种变化得到一致认可;确定成本基准计划是否已经发生变化;当变化发生和正在发生时,对这种变化执行管理。你会发现这跟范围变更控制那三句是同一个模板——施加影响、确定是否发生、管理实际变更。
雅
小雅
成本控制具体包括五个方面:监测成本执行情况,以寻找出并掌握计划的偏差及原因;确保所有变更都准确地记录在成本基准计划中;防止把不正确、不适宜或未批准的变更纳入成本基准成本;将批准的变更通知项目干系人;采取措施,把预计的成本控制在可接受的范围内。
雅
小雅
还有两句容易出判断题的话:成本控制包括寻找产生正负偏差的原因——注意是正负偏差都要找,不光找超支;成本控制必须和其他控制过程结合,如果成本偏差采取不恰当的应对措施,常会引起项目的质量和进度问题,或引起项目在后期出现无法接受的风险。
明
阿明
超支省钱省过头,反而砸了质量和进度。那时间管理呢,五个部分是什么?
雅
小雅
时间管理包括确保项目按时完成所需的各个过程,共 5 个部分:活动定义、活动排序、活动历时估算、进度计划编制、进度控制。先背顺序,再抠定义。活动定义,是对 WBS 中规定的可交付成果或半成品的产生所必须进行的具体活动进行定义,并形成文档——注意它的输入是 WBS。活动排序,是确定各活动之间的依赖关系,并形成文档,活动必须被正确地加以排序,以便今后制定切实可行的进度计划,排序可由计算机辅助或用手工排序。
雅
小雅
项目活动历时估算,是根据项目范围和资源的相关信息为进度表设定历时输入的过程。这里有两句原文的细节:历时估算的输入通常来自项目团队中熟悉该活动特性的个人和团体;估算通常采用渐进明细的方式。最后落一句硬的:项目团队中最熟悉具体活动性质的个人或团队应当完成历时估算——问「历时估算应由谁完成」,答最熟悉该活动的个人或团队,不是项目经理也不是甲方。
明
阿明
那进度计划编制和进度控制呢?
雅
小雅
制订进度计划要决定项目活动的开始和结束日期,若开始和结束日期是不现实的,项目就不可能按计划完成。而且进度计划、历时估算、成本估算等过程交织在一起,这些过程反复多次,最后才能确定项目进度计划。进度控制还是那三句模板:对造成进度变更的因素施加影响,以确保这些变更得到一致认可;确定进度变更是否已经发生;当变更发生时对实际变更进行管理。你看三控制一模板:施加影响、确定发生、管理变更,范围成本进度全套通用。
明
阿明
这集容量不小,给我收个尾。
雅
小雅
本集必背:70% 失败项目因管理不善,90 年代仅约 10% 项目按计划费用和进度交付;九大知识领域,软件开发七大重点方面,配置管理属整体管理、人员管理属人力资源管理;三约束是范围、时间、成本。范围管理五部分:项目启动、范围计划编制、范围定义、范围核实、范围变更控制;范围定义三目的;范围核实管「接收」、质量控制管「正确性」。成本管理四部分:资源计划编制、成本估算、成本预算、成本控制;估算是算花费、定价是商业决策。时间管理五部分:活动定义、活动排序、活动历时估算、进度计划编制、进度控制;历时估算由最熟悉活动的人完成。
明
阿明
收到。下一集讲什么?
雅
小雅
下一集讲配置管理——为什么大项目代码共享越来越难就催生了 SCM,IEEE 729-1983 定义的七大功能,以及 ClearCase、PVCS、VSS、CVS 这几款工具各自的看家本领,全是选择题直接取材的地方。