项目管理:别总想着“完美”,先学会“烂尾” 别总想着项目务必是那种像上帝创作一样丝滑的史诗。在大量人眼里,项目经理就是那个站在会议室中央,拿着激光笔在白板上一笔一划写出完美架构的人。我见过忒多这样的场景,老板坐在对面,一脸期待地看着你,仿佛只要你一个完美的方案,这个项目就一定能火。 我观察过,真正的高手,往往是从制造“有缺陷”的项目启动练手的。 记得某次公司核心系统的重构,我的第一个动作不是画思维导图,而是直接找了一个负责测试的老同事,让他故意把代码里的一个变量名写成"super_long_variable_name_that_makes_it_sure_it_works",然后故意在数据库连接字符串里搞了一个怪的 ANSI_QUOTES 设置。接下来的两周,我们就像是两个在沙漠里找水的赶路人。半个项目周期那会儿了,系统别看彻底挂了,但那个变量名叫起来既痛苦又有趣,大家聊聊起来也特别繁华。 这种“制造小 bug"的过程,在项目管理圈里有个段子,叫"20% 的运气,80% 的运气,100% 的运气”。我的策略就是:在开发阶段,我要用 90% 的运气去制造那些务必被修复的 bug,把系统逼到极限。
只有当系统在你最狼狈的时候“求饶”,只有当它在你最混乱的时候坚持到底,它才能在交付日那天真正运转起来。
要是一启动流水就是个完美的产品,你拿啥去证明自己呢? 大量人认定项目管理就是赶进度,那是把“保险”和“风险”这两个词理解偏了。 在过往的案例里,我见过那种把风险当成敌人去狠狠揍的打法。
比如某电商平台上线前,为了赶服务器扩容,盲目拍板在高峰期开启全负载均衡,结局流量一上来,CPU 直接飙到 99%,响应工夫直接变成毫秒级,系统直接“罢工”,连用户看一眼都纹丝不动。
那时我们团队坐在机房里哭得撕心裂肺,后来不得不花钱请第三方队伍换个硬件,才把那个庞大的坑给填了。 这就叫“回绝风险,拥抱可控”。真正的专家,是从哪儿启动定义风险的。
不是等系统烂了再说,而是在设计阶段,你就得想清楚:要是用户需求变了,要是服务器跟不上了,要是连老板都不中意了,我们这是哪种风险? 不同的风险,需求不同的应对策略。有的风险是随机的,比如取决于某个第三方的 API 接口突然封门,那只能靠预案,得提前预备好备选方案(Plan B),哪怕这个 Plan B 是贼简陋就连有点过时的。有的风险是线性的,比如工期拖延,这就得靠强制约束,哪怕要牺牲质量也要先把事做成。 我在带团队时,最怕那种“完美主义”的陷阱。
那时候有个项目,老板说了,我们做的东西务必是“业界良心”,不能有瑕疵。我受住了。结局呢?我们花了三个月,把每个 bug 都查得遍体鳞伤,代码别看有一点点瑕疵,但文档做得滴水不漏,测试用例也覆盖到了千钧一发的时候。最终项目上线那天,客户问:“这东西好吗?
有没有小毛病?”我指着屏幕上一行报错日志,淡淡地说:“这个,我在上线前就把它想好了,故此它不存有。”客户笑了。 我也见过那种把风险说得忒大的情况,认定只要把风险讲得充足高,就能让对方不敢下手。但这在项目管理里是个大忌。
要是风险忒高,项目就停不下来,成本会无限膨胀,团队会崩,客户会笑。 真的项目管理,是把风险管住在“可接纳”的范围内。
比方说,我带过一个做物流调度系统的项目,核心需求是自动化,但我发现现有的 API 接口质量忒差,每次调用都得人工校验。
要是强行要求自动化,回去改接口需求两周,工期就崩了;要是强行要求自动化,又会害得上线后系统不稳定。 故此我做了一个折中的方案,把“全自动”降级为“半自动”,加上人工复核环节。
这样既保留了自动化的核心优势,又通过人工复核把风险降下来。
这个项目别看上线时略微有点卡顿,但服务稳定性远超预期,客户就连给公司打了个掌声。 这里有个数据支撑一下:根据行业统计,90% 的项目黄了不是出于技术不中,而是出于团队无法在压力下协作。而我们的“制造小 bug"策略,本质上是在训练团队在压力下协作的本事。当你不得不处理一个故意留下的 Bug 时,团队的技术深度和抗压本事会瞬间拔高到一个新台阶。 另外,我也见过项目经理把“经验”当回事,认定自己做过的事,别人照做就行。
这种作风在大型跨部门项目中特别常见,结局往往是“老牛吃嫩草”,大家都用背过的那种方式,结局踩坑。 真正的专家,是懂得灵活调整策略的。
比如刚入职的项目经理,可能还在用旧地图找新大陆,这时候就要学会“画小地图”。当你发现旧地图走不通时,不要急着去“完美”地重新规划,而要尝试换一条路,哪怕这条路风景一般,只要它是可行的,就能让你看到不一样的可能性。 最终,我想说说“接纳”。 大量人黄了,是出于他们面对难题时,第一反应是“如何补救”,而不是“如何接纳”。接纳意味着承认这个项目不可能做到完美,承认目前的条件可能不够,也承认人类在复杂系统中一辈子会有不确定性。 记得有一次,一个原本盘算半年的项目,出于一直遇到各种各样的外部依赖难题,最终拖成了整整一年。我当时挺自责,认定自己本事不中。
后来我冷静下来,发现难题的本质是:那个项目本身就不稳,不是我的难题。 我重新评估了一下价值,发现这个项目别看延期了,但积累了一些贼宝贵的数据,并且团队在过程中磨合得也挺深。
最终,我把项目砍掉了一半的规模,只做核心的数据抓取模块。别看没能达到最初的全体目标,但这是一个贼成功的“最小可行性产品”,并且团队士气高涨。 故此,别再总想着做一个完美的项目了。做一个烂得有趣的、有教训的项目,往往比做一个完美但无趣的项目更有价值。 出于,没有一次完美的项目,只有无数次的“修正”。当你把那些修正做得充足好,把那些教训吸收得充足深,你自然就成为了那个能驾驭不确定性、能在废墟上开出花来的人。
这才是项目管理真正的含金量。