非标项目经理,如何管理软件进度?我在这上面翻过三次跟头,分别是三台不同的设备。每一台都是装配完了等程序,车间干坐着,客户催发货。三次的教训不一样,我分开写。电池Pack线那台,装配完那天,我问软件:“程序好了吗?”不是他偷懒,是他说“快了”的时候,自己也不知道还差多少。软件这行,只有“做完了”和“没做完”两个状态,不存在“80%”。那个项目之后,我把软件的交付物拆成了三段——不是“开发、测试、调试”,是“通讯通、单步跑、联调能跑”。每一段完成,必须灌进设备里当场跑通给我看。没看到设备动,就是没完成。后来设备交出去了,我复盘:其实五天里,四天是在等一个供应商的通讯协议。如果提前知道他在等这个,我可以帮他催供应商,或者把联调时间往后推,不至于让装配干坐着。一台视觉检测机,软件和视觉是两个人分别做的。项目计划上,视觉部分验收表里只有一条“视觉检测正常”,没有中间节点。交付前三天,视觉的检测结果一直报错,因为两个人用的坐标系定义不一样。现场现改,动了结构件的位置,钣金重新打孔,比计划晚了四天。那之后我把“坐标系一致”写进验收节点清单,变成两个独立节点。视觉方是否拿到机械图纸并确认原点位置、软件方是否用同一份坐标系参数开始编程,这两项确认完再往下走。这第三条可能比前两条更接近你说的痛点。一个客户的设备,方案阶段写了“兼容两种产品”。客户工程部确认时没提第三种。设备做到一半,客户制程换了,要兼容第三种规格。这件事直到软件交付联调的时候才发现——三个规格的取料位置不一样,软件只按两种写的。现场改完,延误的工期客户没补钱。那之后,软件启动之前,我多问一句话:客户现场目前实际在产的是哪几种规格?有没有新规格可能在交付前导入?这问题不该问软件,应该问客户。我后来定了一个动作:项目启动时单独问客户销售端一句话“设备交付之前,你们那边有没有可能导入新产品”。客户销售说“有可能”,我就提前跟软件说预留接口,哪怕多花两天配置时间,也比现场返工来得省。那台设备的交付期,后来在客户那边有新产品导入可能的情况下,预留了配置时间;实际交付后两周客户导入新产品,软件只改了配方文件,没动主程序。软件交付物必须是“灌进设备里能跑”的东西。我不看代码,只看设备动没动。软件与视觉、与PLC、与客户的坐标系和数据格式,在编程开始前确认,不等联调才发现。客户那边有没有新产品导入的可能,在项目启动时确认;有,就提前跟软件说留接口。以上三次翻车,目前我只解决了前两次的重复发生。第三次“客户需求在软件过程中变了”这件事,备件预留配置能应对一部分,但还没有完全杜绝。如果你有相关的经验和解决方法,可以分享给我。