全文约 1900 字,阅读约 5 分钟。
重点内容:项目延期,十有八九不是技术不行,是需求没定清、范围没控住、工期拍脑袋、沟通断了线这四件事。给一个马上能用的止损顺序。
先抛个反常识的结论:项目延期,绝大多数时候跟"技术太难"没关系。我见过太多项目,开发天天加班,代码也没少写,结果一拖再拖,最后复盘一看,死因全是流程和沟通,技术问题连配角都算不上。
这不是我一个人嘴硬。Standish Group 的 CHAOS 报告跟踪了几十年,2020 版的数据是:软件项目里只有 31% 能按时、按预算交出来,剩下的不是延期就是超支。更细的一层是,PMI 在《Pulse of the Profession》2023 里说,约 37% 的项目失败,直接跟"需求变更太频繁、范围控制不住"挂钩。换句话说,项目延期这口锅,技术只背一小半,剩下的大半是管理动作出了问题。
需求没定清就开工,返工费最贵
需求模糊是延期的头号元凶,而且它坑人坑得最隐蔽。有博主复盘过一个金租软件项目,立项时候的需求和最后定稿的需求,除了项目名称一样,功能交互完全是两套系统。定稿之后的工作量,差不多是立项估算的两倍。
更狠的是节点已经焊死了。这个项目要赶着过审计,同体量的活正常要四个月,结果只给了六十天。会也开了,砍需求,结果只砍掉 20% 的总业务量。后面就是一路 965 到 996 再到 007,团队里一半开发是借调和新招的,冒烟测试一周主流程都跑不通,测试环境还没搭好。到最后为什么还是推迟上线?是需求逻辑出问题,对账模块的借贷根本不平,一个财务软件对账对不平,神仙也救不了。
这种"需求没想全"在中小项目里更常见。有个做软件的项目经理举过个例子,客户说"我要个类似美发店发卡的软件,能充值消费就行"。听着简单吧?结果会员录入、充值满减、积分体系、老带新这些周边模块客户压根没提,等实施的时候才开始细化,交付期就一拖再拖。客户不是故意坑你,是他自己也没想清楚要啥,你把他的"大概"当成"确定",后面全是账。
需求不清的可怕之处在于,它不在一开始爆发,而是在开发到一半的时候才反噬。前期调研不够、干系人没对齐,等写代码才发现漏了关键功能,返工的成本是几何级涨。所以现在谁跟我说"需求差不多就行,先干起来",我都劝一句:开工前没把边界、场景、例外情况问清楚,后面省的时间全得加倍还。
范围蔓延,边做边加越做越重
第二个真凶叫范围蔓延,说人话就是"做着做着,顺带改一点"。客户随口说"这个按钮挪个位置",领导拍拍肩说"再加个导出功能吧"。单看每一条都不大,加起来能把原计划彻底冲垮。
PMI 的数据是,超过一半的软件项目都经历过范围蔓延。这玩意最常见的开场白是"顺手优化一下",客户觉得改个按钮不就是分分钟的事,但开发这边一动,接口要改、关联模块要动、回归测试要重跑,一个小改动背后是一串连锁。需求冻结这词听着官僚,实际上是保命用的:不是不让改,是改之前先把"要花多少时间、要不要砍别的"这笔账算清楚。
工期拍脑袋,程序员又天生乐观
第三个坑在估算。程序员估工期普遍乐观,这个真不是贬义。有个程序员自己写的复盘挺实在:他说自己说"三天搞定一个模块",三天后往往只完成三分之一,因为他心里那个"完成"是代码写完,离测试通过、联调跑通还差得远。
《人月神话》那句老话到现在还成立:给一个已经延期的项目加人,只会让它更慢。因为有些任务上下文依赖重,只能一个人从头想清楚,硬塞两个人进来,光沟通对齐就先把时间耗光了。工期这事,估算的时候少算一个联调、一个改 bug、一个兼容适配,最后就是整体延期。
沟通断层,团队天天在救火
最后一个,也是最容易被当成"没法管"的一个,是沟通断层。前端等接口,后端等文档,测试等环境,产品临时改需求,信息不同步,问题全压到快上线才一起爆。再加上核心骨干被别的项目拉去救火,重要不紧急的事全拖成紧急,整个团队就陷进"天天救火、人人吃紧"的状态。
有个项目经理分享过一个自己公司的调研,他私下挨个复盘了公司里几个延期项目,发现普遍就五条:客户需求不清、频繁改需求、双方缺乏沟通、核心团队被拉去救火、供应商能力参差。五条里没有一条是"技术做不出来"。你说这延期到底怪谁,怪技术吗?
还有个挺典型的翻车记,一个内部项目从立项就乱。经理名义上管项目,可各部门的人同时被好几个项目占着,进度已经落后一个月了,连个成型的单元都没有。管理层一边催进度,一边还在临时改需求,经理天天在写解释和补救计划。团队是临时拼的,互相不熟,同一个问题被反复问,信息根本同步不起来。到最后这项目超期了半年,费用干到预算的 180%。这种事你要是亲历过一回,就明白延期跟"人不努力"关系不大,是压根没有一套流程把信息兜住。
怎么办,就三步
说完了原因,给个能马上落地的止损顺序。第一步,需求定稿前,把边界、场景、例外情况一条条问清,定完稿就冻结,之后任何变更先过账。第二步,估算别只算写代码,把需求沟通、设计、联调、测试、改 bug、发布这些环节全算进去,程序员报的工期本来就偏乐观,往外承诺前得再留出几成余量。第三步,别等最后一起验收,按阶段小步确认,每完成一块就核一块,别让返工攒到终点。
这三步做起来,其实就一句话:把范围管住,把变更的账算清,把进度摊开来看。真要落这套东西,光靠人肉提醒迟早崩,得有个系统把需求、排期、变更、进度都摆到明面上。我们自己的智序 ORDR 项目管理系统就是冲这个去的,需求、任务、里程碑一张图看全,谁改了什么、影响哪几天,都有迹可查,免费不限人数,私有化部署也能上。延期这事,说到底不是运气,是流程,先把流程的账管起来,才谈得上按时交。
如有侵权请与我们联系
