事情是怎么开始的?
兄弟们,今天分享的这个事儿,我能记一辈子。上个月我们接了一个大单子,是给一个全国连锁的零售客户做系统升级,要赶在月底前把他们华北区所有门店的收款机程序和硬件都换一遍。这活儿,量大,时间紧,而且客户的执行力简直是出了名的慢。所以我当时把时间线拉得特别紧,心里想的是,只要我们这边的代码和配置包能在周五下午四点前搞定,留足一整夜给代工厂去做最终的打包和出库检测(行话叫UAT),周六一早货车就能跑起来,周日客户开始部署,完美。
当时周五下午四点半,我亲自盯着把一个配置包传给了负责集成打包的代工厂,确认他们已经开始跑流程,心里那叫一个踏实。我跟团队说了,都回家休息,把手机声音开最大,等着明天早上八点的确认短信就行。我甚至觉得自己能睡个好觉,连夜宵都没敢吃,想着明天还有硬仗。
凌晨一点,鸭子真的倒了
我躺下没多久,大概凌晨一点十分,电话就炸了。不是我的团队打来的,是代工厂那边的现场负责人,声音都快哭了。我当时脑子嗡的一下,心想:出事了。
他直接在电话里说,哥,出大问题了,货走不了了,彻底“倒鸭子”了。我问他到底怎么回事,他给我抛出一个我这辈子听过最离谱的理由:他们负责这批货的三个质检员,集体食物中毒,拉肚子拉到起不来,两个被送去医院了,一个勉强能动但根本没法工作。更要命的是,他们那个临时组建的夜班打包组,因为对我们这回的系统流程不熟悉,在开始跑检测脚本的时候,把我们给他们的主配置表弄乱了。现在是,500多套设备,一套都没能跑完 UAT,而且配置还是一团麻。
我的货车,定的是凌晨四点半发车,不然赶不上客户周日开门前的部署窗口。当时是凌晨一点多,我还有三个小时,手里是一堆散沙,而且没有一个专业人员能顶上去。我当时火气没往代工厂身上撒,我知道骂人没用,我直接穿上衣服,钥匙抓着就冲下楼,直奔代工厂仓库。
第一招:赶紧掐住脖子,止损
我到现场一看,那景象真是绝望。仓库里,几百个箱子堆着,几个一脸懵逼的工人杵在那里,不知道该干我连咖啡都顾不上喝,先做了三件事:
- 第一件事:锁车。我直接给物流公司打了电话,跟他们说,这批货晚点走,具体时间等我通知。告诉他们,我宁愿付延时费,也不能让一堆废铁跑上路。这是关键的第一步,先把即将发生的灾难性损失按住。
- 第二件事:摇人。我把我的团队,所有在家躺着的,不管是不是技术岗,只要能爬起来的,全叫过来。我甚至把我们公司行政部那个通宵玩游戏的IT小伙子也叫过来了,告诉他,今天不看代码,就看屏幕,动动手就行。目标:凑齐十个能动的活人。
- 第三件事:跟客户通气。这一步最难,但不能拖。我打电话给客户项目负责人(这个人跟我关系还算铁),我没说食物中毒的事儿,就说我们发现了一个“关键的兼容性优化点”,为了确保交付质量,我们需要做一次紧急的二次配置,保证早上第一批能发,但数量会缩水。我先打了个预防针。
第二招:集中火力,打穿核心
人到齐后,我看了看表,还剩不到两个小时,我们不可能检测500台设备。我马上把流程砍掉90%。
我直接告诉那十个被我从床上挖起来的兄弟们,忘掉所有复杂的检测脚本,我们今天只做三件事,我管这叫“核心三板斧”:
- 能开机(亮绿灯)。
- 能连上客户的内网(ping得通)。
- 收银软件能打开,而且能刷出测试商品清单(功能可用性)。
我把复杂流程简化成了一个只有三个勾选项的白纸黑字清单。我把十个人分成五组,每组两个人。一个人负责“喂”配置,一个人负责“点”这三个勾选项。我要求他们,每台设备从开始配置到确认完成,必须控制在五分钟内。
我自己站到了流程的最末端,做“最终的复核官”。我不是监督他们工作,我是亲自把前50台的配置数据都拿出来,随机抽取检查,确保流程没有跑偏。这是在极度混乱中,用身体立起来的质量标准。你不能信任任何人在凌晨三点能保持清醒和专业,但你可以信任他们能照着清单打勾。
第三招:用人情顶住交期
到了凌晨四点,我们使出了吃奶的劲儿,最终完成了180套设备的完整配置和核心功能检测。离客户要求的500套还差一大截。
我果断做出决定:先发这180套!我再次打电话给客户的项目负责人。这回我坦白了,我把实话说了八成,告诉他代工厂那边出了无法预料的紧急情况,但我个人已经投入现场,并且确保了第一批设备是可用的。
我没有跟他争辩合同上的交付量,我用我的个人信用和人情去交换:
- 我保证,这180套设备绝对能上线。
- 剩下的320套,我们今天白天会集中所有资源,加急处理,保证明天下午三点前,剩下的设备全部用专车送到。
- 最重要的是,我承诺,我今天早上会带着技术骨干,直接去他们华北区的办公室坐镇,直到第一批设备全部部署上线,保证系统稳定。
最终,靠着这份“人情抵押”,客户同意了分批交付的方案。凌晨四点半,货车虽然晚了半小时,但第一批合格的设备,还是上路了。那一刻,我感觉自己像是跑完了一个马拉松,瘫坐在仓库冰冷的地上。
这么折腾一趟,学到了
倒鸭子是可怕的,但更可怕的是,你在鸭子倒了之后,手忙脚乱找不到自己的核心目标。这回经历,让我彻底明白了几个道理:
危机就是最好的压力测试。我以前总觉得,流程规范了,外包管理到位了就万事大吉。屁!你必须要在自己的流程里,留一个“极限抢救”的预案,越简单越专门对付那些不专业的“临时工”。
不要相信任何人在关头的承诺,只相信你亲自看到的核心数据。我这回的失误就是把UAT的决定权完全交了出去,导致完全被动。
在技术交付里,有时候,你个人的脸面比合同管用。我这回能挽回局面,不是因为我技术多牛,而是因为我跟客户负责人之间有足够的信任基础。当系统崩塌的时候,你愿意跳下去救火的态度,比你推诿责任要值钱一万倍。从此以后,我和这个客户的关系更铁了,因为我们一起熬过了那个地狱般的凌晨。