本文回答的问题:如果真要把 03 号方案 做出来,先写哪一行代码,后写哪一行。
⚠️ 03 号的 §9 是业务分期(先做什么有价值),本文是工程排期(先做什么不会死)。两者顺序不完全一样, 差别的地方本文都会点名。
一句话: 按"错了会死"排,不按"做了有用"排。 前三个月的产出应该是四个可能为"做不了"的结论, 加上一条从供应商发货到 SAP 库存变化的、只服务一家厂一个品类的完整链路—— 而不是四个模块各做了 30%。
0. 三个不答就不能排期的问题
这三条决定了工期是 8 个月还是 20 个月。不定就动手,等于把排期建在猜测上。
Q-A · 建在哪:新建、扩 SRM、还是 SRM 当底座?
| 方案 | 说明 | 工期影响 | 判断 |
|---|---|---|---|
| ① 全新自建 | 从零起一套 | +4~6 个月 | ❌ 03 号 §8.1 那张对表里有 17 项是生产在跑的(多模态读图、飞书双向长连接、移动端外壳、扫码收货、操作留痕三阶段、受控语义层 BI、定时底座)。全新自建等于把它们再写一遍 |
| ② 直接扩 SRM 主干 | 立邦模块长在 SRM 仓库里 | 最快 | ⚠️ 风险在耦合:SRM 是采购侧(供应商/寻源/合同),立邦粉料是生产计划侧。两个域的主数据(供应商 vs 工厂/设备)几乎不重叠,硬塞会互相污染 |
| ③ SRM 作平台底座 + 立邦域模块 | 复用底座(认证、飞书、AI 网关、留痕、定时、附件、审批),新建 plant / plan / report / risk 四个域模块 |
+2~3 周(抽底座的成本) | ✅ 建议 |
选 ③ 的具体做法:不 fork,也不硬塞。在 SRM 仓库里新开
modules/libang/*四个域, 只允许单向依赖:立邦域 → 平台底座;禁止平台底座 → 立邦域。 加一条 ArchUnit/依赖检查规则钉死这个方向,否则半年后两边就缠在一起了。⚠️ 这条要在 M0 就立好。依赖方向一旦被破坏,事后拆的成本是当初立规则的 50 倍。
Q-B · 谁是库存权威源?
已在 03 号 §4.4 定了:SAP。 本文按此排期。 如果立邦推翻这条(例如要以 WMS 为准),M1 整体重做,其余里程碑顺延。
Q-C · 第一手数据谁来填?
这条比 Q-A 更能决定成败,而且它不是技术问题:
| 数据 | 谁填 | 有没有动力 | 风险 |
|---|---|---|---|
| ASN(发货预报) | 供应商 / 委外厂 | ❌ 没有 | 🔴 高 |
| 签收 | 立邦仓管 / 委外厂仓管 | ⚠️ 有(本来就要签) | 🟡 中 |
| 生产日报 | 委外厂班组长 | ❌ 没有 | 🔴 高 |
| 交付进度与异常 | 委外厂 / 区域 | ❌ 没有 | 🔴 高 |
⭐ 四张表里三张的填数人是「外部的、没有动力的人」。 这意味着:这个项目最大的技术难点不在技术。 所以 §2 的四个尖刺里,S2(外厂协同尖刺)必须真的找三家厂做,不能在会议室里推演。
1. 排序原则:按"错了会死"排
1.1 两种常见的错排法
| 错排法 | 为什么错 |
|---|---|
| 按 PPT 顺序(先啃 APS 排产) | 03 号 §1 已论证:场景一是果。先做它 = 在一堆洞上盖智能,且六个月看不到任何可测收益 |
| 按模块顺序(先把主数据建完整,再建业务) | 主数据"建完整"是个没有终点的目标。半年不出东西,第二个季度就会被砍预算。主数据要跟着第一条业务链路长出来,不是先长好等业务来用 |
1.2 正确的排序判据
对每一件事问两个问题,按乘积从大到小做:
风险 = 「这件事的答案我现在不知道」× 「等到后期才发现答案的代价」
| 事项 | 现在知道答案吗 | 晚发现的代价 | 排序 |
|---|---|---|---|
| SAP 能不能给写权限、MIGO 接口通不通 | ❌ 不知道 | 🔴 极高——不通则场景二整体换形态 | S1 · 最先 |
| 委外厂会不会真的填数 | ❌ 不知道 | 🔴 极高——不填则场景三/四没有数据源 | S2 · 最先 |
| 达成率口径业务能不能达成一致 | ❌ 不知道 | 🔴 高——口径变则 D2/D6 全部重算,历史数据作废 | S4 · 最先 |
| 手写体识别到底行不行 | ❌ 不知道 | 🟡 中——不行就走结构化录入(本来就是建议路径) | S3 · 早做,但不卡路 |
| 排产求解器怎么建模 | ⚠️ 部分 | 🟢 低——它在最后一期,且有 P3 的数据打底 | 最后 |
| 前端怎么画甘特图 | ✅ 知道 | 🟢 低 | 随时 |
结论:前四件事全部是"我现在不知道答案,而且晚知道很贵"。 所以第一个阶段的产出不是功能,是四个结论——其中任何一个可以是"做不了"。
2. M0 · 四个工程尖刺(3–4 周,不写业务代码)
照 SRM 33 号的做法办:第 0 步先判定能不能做,打真请求、给读数,而不是推断。 四个尖刺并行,互不阻塞。
S1 · SAP 写通道尖刺 🔴 最高优先
| 要答的问题 | 能不能从外部系统创建一张收货凭证?走哪个接口?谁批权限?测试环境有没有? |
| 做法 | 在 SAP QAS 环境上,用 BAPI_GOODSMVT_CREATE(移动类型 101)真过一张 GR;再故意造四种失败:PO 已关闭 / 超收超容差 / 会计期间已关 / 物料冻结,把四条报文原样抄下来 |
| 通过判据 | ① QAS 上过账成功并拿到物料凭证号;② 四种失败各拿到一条可区分的 msg_type + msg_no + msg_text;③ 同一幂等键重复提交不产生第二张凭证 |
| 不通过怎么办 | 退到「本系统只落作业事实 + 生成待过账清单,人工在 SAP 批量过账」。收益从"分钟级"降到"当班级",但仍然远好于现状,且 M2 之后不受影响 |
| 人 · 时 | 1 名集成工程师 × 2 周(其中 1 周大概率在等权限) |
⚠️ 大企业的 SAP 写权限审批周期常在 6–8 周。 所以 S1 的第一件事不是写代码, 是在项目启动的第一天把权限申请提交出去(见 §7)。
S2 · 外厂协同尖刺 🔴 最高优先,且它是组织尖刺不是技术尖刺
| 要答的问题 | 委外厂的班组长/仓管,会不会每天真的填一屏数?用什么通道能触达?填不填得动? |
| 做法 | 真的找 3 家厂(一家配合度高的、一家中等的、一家信息化最弱的),做一个只有一屏、没有后端的静态 H5(甚至可以是问卷形态),连做 10 个工作日。每天记录:谁填了、几点填的、填错几次、催了几次、抱怨了什么 |
| 通过判据 | ① 10 天里 A 类厂填报率 ≥ 90%,且不需要每天催;② 单次填报耗时 ≤ 2 分钟;③ 至少一家厂能在不培训的情况下完成首次填报 |
| 不通过怎么办 | 三条退路,按顺序试:① 改由立邦区域助理代填(标 entered_by_proxy,成本上升但数据可得);② 只对 A 类 20 家做日跟踪,B/C 类降级为异常才报;③ 把协同率挂进委外厂评级——这是唯一真正有效的一条,但需要业务侧点头(见 §7) |
| 人 · 时 | 1 名前端 × 3 天做 H5,1 名 BA + 区域同事 × 2 周跟场 |
⭐ 这个尖刺的成本极低(一个静态页 + 两周跟场),而它答的是整个项目最大的未知数。 跳过它的后果是:系统做完了才发现没人填——那时候已经花掉六个月。
S3 · OCR 双样本尖刺 🟡 早做,不卡路
| 要答的问题 | 印刷签收单和手写日报,识别读数分别是多少? |
| 做法 | 两套样本分开采、分开打、分开报数。印刷单 ≥ 60 张(覆盖 ≥ 8 家供应商的版式);手写日报 ≥ 60 张(覆盖 ≥ 6 个车间的笔迹,含划改、油污、反光、歪拍) |
| 通过判据 | 印刷:该拒答的拒没拒(遮挡/污损样本的 UNREADABLE 命中率),而不是准确率;手写:数字误读率——注意「8→3」这类错不会报错,所以要逐字比对真值 |
| 不通过怎么办 | 手写这一半允许结论是"做不了"——那就按 03 号 §6.3.1 走结构化录入,OCR 只做存档与稽核。这本来就是建议路径,尖刺只是去确认它 |
| 人 · 时 | 1 名 AI 工程师 × 2 周(含采样) |
⚠️ 两套指标不许混着报。 混着报会得出一个漂亮的平均数,然后把手写这条最危险的路放行。 另照搬 SRM 的纪律:每个反向对照旁边必须并列一条正向对照, 否则分不清"模型读不出手写数字"和"我的请求根本没发对"。
S4 · 达成率口径尖刺 🔴 组织尖刺,最难,最该早开
| 要答的问题 | 分母取哪一版?分子取哪个数?跨班次怎么归属?返工算不算?停机日 SKIP 还是计 0? |
| 做法 | 拿近 3 个月的真实数据,按 03 号 §6.2 的两种口径各算一遍,把两条曲线并排放在一页纸上给业务看。不要开会讨论定义——让两个数字自己说话 |
| 通过判据 | 一页纸口径书,业务方(计划 + 生产 + 委外管理)三方签字;且明确写下"冻结后不可改" |
| 不通过怎么办 | 如果业务坚持用调整后值:必须同时上「计划变更次数/幅度」指标,否则达成率无意义。这一条要写进口径书 |
| 人 · 时 | 1 名 BA + 1 名数据 × 3 周(主要在等会) |
⭐ S4 是四个尖刺里唯一一个技术上零难度、却最可能拖到第 4 个月的。 因为它要的是三个部门对同一个考核指标达成一致—— 而那正好是每个部门都有立场的地方。所以它必须第一天启动。
M0 的产出物
不是代码,是四份带读数的判定书 + 一页口径书 + 一份权限申请回执。 其中允许有"做不了"的结论。早知道比晚知道便宜十倍。
3. 地基:只建第一刀需要的那部分
⚠️ 最容易在这里翻车:以为"先把平台建好"是稳妥的。 实际结果是六个月没有可演示的东西,然后项目被重新评估。
正确做法:地基跟着第一条链路长,每件只做到第一刀需要的深度。
| # | 地基件 | 第一刀(M1)需要做到什么深度 | 后面再深化什么 |
|---|---|---|---|
| 1 | 主数据 | 只要 1 家自有厂 + 3 家供应商 + 1 个品类约 20 个 SKU。手工录入即可,不做导入工具 | 130 家厂、设备/产线、BOM 有效性、配置三层继承 |
| 2 | 身份与权限 | ⛔ 不能砍。 内部走飞书免登 + 显式绑定(查不到就拒绝,绝不自动建号);外部走 H5 短链 + 短信验证码,且外部账号在数据层就看不到内部数据,不靠前端隐藏 | 组织层级、数据权限矩阵、代填授权 |
| 3 | 单据编号与幂等键 | 收货作业单号 + 过账幂等键两种 | 其余单据类型 |
| 4 | 附件/影像存储 | 落盘 + 相对路径 + 启动时可写性自检 | 对象存储、生命周期、水印 |
| 5 | 操作留痕 | 一个拦截器,零 Controller 改动(照搬 SRM ActionTraceInterceptor 形态) |
语义字典、序列挖掘、技能起草 |
| 6 | 定时与触发底座 | 只要一个定时(过账重试) | 静默检测、SLA 升级、风险扫描 |
| 7 | 通道适配层 | 只做 H5 一条腿,但接口先抽出来 | 飞书 / 企微 / 短信适配器 |
| 8 | 指标口径目录 | 一张 metric_version 列 |
受控语义层、对话式 BI |
⭐ 第 2 条是唯一不许砍深度的。 理由:外部厂一旦进来,权限做浅了就是外部人员能看到内部数据—— 这类问题不会自己暴露,会一直静默到被审计或被举报。
其余七条都可以"薄薄一层先上",因为它们做浅了的失败形态是当场就疼(功能不好用),会被立刻发现并修。
4. M1 · 第一刀垂直切片(6–8 周)
4.1 切哪一刀
一家自有厂 · 3 家供应商 · 1 个品类 · 一条完整链路: 供应商报 ASN → 现场签收逐行核对 → 推 SAP 过账 → 库存变化在系统里可见 → 时延可测。
为什么是这一刀(三条理由缺一不可):
- 它同时穿过最高技术风险(SAP 写)和最高组织风险(外部填数)——两个大雷一起趟;
- 它的产出(库存时效)是场景一的前置,也就是说它解掉的是 03 号 §1 那条箭头 ①;
- 它的收益可以用一个数字复算:
posted_at − signed_at的 P50/P90。
为什么不是先做日报:日报的达成率分子要取 SAP 过账量,而 SAP 过账量准不准正是 M1 在治的事。 先做日报,等于用一个还没修好的分子去算达成率。
4.2 M1 做什么 / 不做什么
| ✅ 做 | ❌ 不做 |
|---|---|
| B1 ASN 报送(H5 一屏) | 多通道(先只有 H5 短链) |
| B2 签收作业(扫码 + 逐行三态核对 + 实收数) | OCR(M2 再接,M1 手工录入即可) |
| B3 单据–影像–行项三级绑定 | 索赔时效闸门(M2) |
| B4 SAP 过账适配器(幂等 + 失败队列 + 现场可见回执) | 差异自动索赔流程 |
| B6 时延看板(就一张图:P50/P90 分布) | 全套 BI |
| 地基 1–7 的薄版 | 130 家、设备主数据、配置继承 |
⭐ M1 刻意不做 OCR。 理由:M1 要验证的是"链路通不通、人愿不愿意用",OCR 是优化不是链路。 把 OCR 放进 M1,一旦识别不好,会让人误以为是链路的问题。
4.3 M1 的退出准则(可复算的读数,不是"功能上线")
| # | 判据 | 怎么测 |
|---|---|---|
| 1 | 签收→过账 P90 ≤ 30 分钟 | 直接查 posted_at − signed_at,与 M0 测的基线并排 |
| 2 | 过账一次成功率 ≥ 95%,失败的每一条都有归属和可读原因 | 查 erp_posting 的 status 分布 + 抽 10 条失败看 sap_msg_text 是否原样保留 |
| 3 | ASN 覆盖率 ≥ 70%(3 家供应商,连续 2 周) | 有 ASN 的签收 / 全部签收 |
| 4 | 零重复过账 | 故意断网重试 20 次,物料凭证数必须是 20 而不是 40 |
| 5 | 现场看得见结果 | 断开 SAP,做一次签收,现场页面必须显示"过账失败 + 原因 + 已通知谁",不许只弹 toast |
| 6 | 外部账号在数据层取不到内部数据 | 用外部账号的 token 直打内部接口,必须 403,且不是靠前端藏 |
第 5 条和第 6 条是反向判据。 只验正向(能过账、能登录)会写出一个 "永远显示成功"和"谁都能看"的实现,而两者都不会报错。
4.4 M1 的团队
| 角色 | 人数 | 干什么 |
|---|---|---|
| 后端 | 2 | 域模型 + 过账适配器 + 地基薄版 |
| 前端 | 1 | H5 两屏(ASN 报送 / 签收作业) |
| 集成 | 1 | SAP(S1 的人直接转过来) |
| BA | 1 | 口径、码表、跟场(S2/S4 的人) |
| 合计 | 5 | 6–8 周 |
5. M1 之后:五条线并行
M1 跑通后,链路的形状确定了,可以开始并行。线的切法要让重叠尽量少(照搬 SRM 26 号的分发包做法):
| 线 | 分支名 | 主要交付 | 依赖 | 量级 |
|---|---|---|---|---|
| A · 收货线 | libang-receipt |
B5 差异与索赔闸门 · OCR 接入(S3 通过才做)· 多供应商推广 | M1 | M |
| B · 现场线 | libang-shopfloor |
D1 日报录入 · D2 冻结版与达成率 · D3 异常分流 · D4 影像稽核 · D6 看板 | M1(分子取 SAP)· S4 口径书 | L |
| C · 风险线 | libang-risk |
C1 工厂主数据与分层 · C2 六类信号(含静默检测)· C3 规则 · C4 事件与处置 · C5 看板 · C6 画像 | A/B 线产出数据后才有系统信号 | L |
| D · 计划线 | libang-planning |
A1 工作台 · A2 决策留痕 · A3 配置三层继承与完备度 · A4 CTP · A6 切换矩阵 | C 线的工厂主数据 · B 线的产能数据 | L |
| E · 平台线 | libang-platform |
地基 1–8 的深化 · 多通道适配器 · 权限矩阵 · 指标口径目录 | 无(贯穿全程) | M,长期 |
重叠点,提前点名(不点名就会撞车):
- A 线和 B 线都会碰 影像存储与 OCR 网关 → E 线先把它抽成一件公共件,A/B 都用它,不许各写一份;
- B 线和 D 线都会碰
plan_freeze→ D 线定义,B 线消费。D 线的表结构先合,B 线再动; - C 线和 D 线都会碰 工厂主数据
plant→ C 线先建(因为分层是它的核心),D 线只读; - 全部四条线都会碰 码表 → 归 E 线,新增码值走 PR 评审,不许各线自己加。
⚠️ 迁移号不预分配。 照搬 SRM 的三步规矩:
扫 → 占(写进 claims 文件并单独提交)→ 推到主干。 只压在自己分支上等于没认领——SRM 在这上面栽过一次,别人扫到的"下一个可用"仍是同一个号。
6. 里程碑与退出准则
铁律:上一期未达退出准则,下一期不启动开发(可以并行做设计)。防止"带病滚动"。
| 里程碑 | 内容 | 周期 | 退出准则(可复算的读数) |
|---|---|---|---|
| M0 | 四个尖刺 + 口径书 | 3–4 周 | 四份判定书 + 三方签字的口径书 |
| M1 | 收货直通(1 厂 3 供应商 1 品类) | 6–8 周 | §4.3 六条 |
| M2 | 现场日报与达成率(同一批厂) | 6 周 | 达成率有唯一口径且分母不可改;日报填报率 ≥ 90% 连续 2 周;异常码 OTHER 占比 < 30% |
| M3 | 复制到 A 类 20 家 + 风险信号第一批 | 8 周 | 20 家全部接入;risk_signal 中 source=SYSTEM 占比 ≥ 50% |
| M4 | 风险闭环完整 + 推到 B 类 50 家 | 8 周 | 风险事件平均响应 < 4h;升级链真跑通(有真实升级案例);source=SYSTEM ≥ 70% |
| M5 | 排产工作台 + 决策留痕 + 配置三层继承 | 10 周 | 一次排产人工点击 ≤ 停顿点数 + 3;配置完备度看板能指出防水品类缺哪几项;plan_decision 开始积累 |
| M6 | CTP + 切换矩阵 + 产能反算回流 | 8 周 | 交期承诺兑现率可算;至少 10 台设备的产能参数被实测值修正过 |
| M7 | 建议引擎 | 12 周 | ⚠️ 准入条件是数据量不是日期:plan_decision ≥ 2000 条有效决策且覆盖 ≥ 2 个完整月排产周期 |
合计约 15 个月(M0–M6 约 12 个月,M7 视数据积累)。
⭐ M7 的准入条件必须写成数据量。 按日历排 M7,会在数据不够时启动,然后在噪声上训练出一套"自信的错规则"—— 而它不报错,只是某天开始某类订单都晚一天。
6.1 与 03 号 §9 的差异,逐条说明
| 03 号 §9 | 本文 | 为什么改 |
|---|---|---|
| P1 = 签收 + 日报同期 | M1 只做签收,M2 才做日报 | 日报的分子依赖 SAP 过账量,而过账正是 M1 在治的。同期做等于用没修好的分子算达成率 |
| P0 = 3–4 周口径与判定 | 同,但S4 口径尖刺提前到第一天启动 | 它要三个部门达成一致,交期最长,技术难度却是零 |
| P3 = 排产前置层 | 拆成 M5(工作台+留痕+配置)与 M6(CTP+切换+反算) | M6 依赖 M2 的产能实测数据,必须等它跑满一个季度 |
| 未提团队与并行 | §5 五条线 + 重叠点点名 | 不点名重叠点,两条线会同时改同一张表 |
7. ⭐ 组织侧的长交期事项:第一天启动,不能等代码
这一节是最容易被漏掉、也最容易变成关键路径的一节。 下面每一件的交期都比对应的开发长,而它们不需要任何代码就能开始。
| # | 事项 | 典型交期 | 谁批 | 不早启动的后果 |
|---|---|---|---|---|
| 1 | SAP 写权限 + QAS 测试环境 | 6–8 周 | 集团 IT / SAP 团队 | S1 尖刺没法做,M1 整体空转 |
| 2 | 达成率口径三方签字 | 4–6 周(主要在等会) | 计划 + 生产 + 委外管理 | M2 做完才发现口径要改,历史数据作废 |
| 3 | 委外厂数据协同率进月度评级 | 8–12 周(要改考核办法) | 采购 / 供应链管理 | 130 家没有动力填数,M3/M4 拿不到数据 |
| 4 | 飞书自建应用 + 长连接事件订阅权限 | 3–5 周 | 集团 IT / 飞书管理员 | 内部通知与审批只能做成单向,风险闭环退化 |
| 5 | 企微外部群 / 外部联系人能力 | 3–5 周 | 集团 IT | 外厂触达只剩短信和 H5 短链 |
| 6 | 异常码表与车间共创 | 3 周 | 生产 + 委外厂代表 | 码表脱离现实 → OTHER 占比爆表 → 数据废掉 |
| 7 | 纸质表单重新设计与印刷(若保留纸质路径) | 4–6 周 | 生产 + 采购(印刷) | 表单不改,OCR 永远难;而改表单比改模型便宜十倍 |
| 8 | 试点厂选定与沟通 | 2–3 周 | 区域 + 委外管理 | S2 尖刺找不到人做 |
建议做法:项目 kickoff 当天,这 8 件全部立项、指定责任人、写进周会跟踪表。 它们和 M0 的四个尖刺是同一个时间窗里的事,不是"等技术方案定了再说"。
8. 双轨与关旧路径
⚠️ 这类项目真正死掉的地方不是上线,是旧路径永远不关。 群里发照片、Excel 汇总、企微文档——只要它们还在,新系统就永远是"多一件事要做"。
8.1 切换策略:按单据切 + 短双轨
| 阶段 | 时长 | 规则 |
|---|---|---|
| T-2 周 | 2 周 | 试点厂培训 + 主数据冻结(工厂/设备/物料/码表变更收口到数据组) |
| T 日 | 1 天 | 切换点定义为「发货时点」:T 日起该供应商的新发货必须先在系统报 ASN;T 日前已发未签的走旧流程签完,系统只读展示 |
| T+0~4 周 | 4 周 | 双轨收敛期。每周盯两个数:① 旧路径存量单数(应单调下降)② 新路径 ASN 覆盖率(应单调上升) |
| T+4 周 | 1 天 | ⛔ 关旧路径:群里发签收单照片不再被受理;Excel 达成率表停更 |
| 回退窗口 | 72h | 上线后 72 小时内若发生"供应商无法报单 / 过账大面积失败"级事故,回退旧流程,系统降级只读。72 小时后回退需项目组批准 |
⭐ 双轨不许超过 4 周。 超过 4 周必然产生两套数据真相,而且没人知道哪套是对的—— 到那时"关掉旧路径"就变成了一次需要重新说服所有人的行动。
8.2 推广波次
| 波次 | 范围 | 时点 | 前置 |
|---|---|---|---|
| 波次 0 | 1 厂 3 供应商 1 品类 | M1 | — |
| 波次 1 | 华东 1 个厂群(自有厂 + 其委外厂约 8 家) | M2 末 | M1 退出准则达标 |
| 波次 2 | A 类 20 家 | M3 | 波次 1 稳定运行 ≥ 1 个月 |
| 波次 3 | B 类约 50 家 | M4 | 波次 2 达标 |
| 波次 4 | C 类约 60 家(只上异常上报,不上日报) | M4 末 | — |
绝不多区域同步首发。 一个区域出问题可以停下来修,四个区域同时出问题只能整体回退。
9. v1 明确不做(写死,防止范围蔓延)
| ❌ 不做 | 理由 |
|---|---|
| 库内作业(上架/盘点/拣货/库位) | 库存主账在 SAP/WMS,做进来就是两套账 |
| 内在质量判定(结块/分层/冻损/固含) | 视觉判不了,只能靠 IQC。且要在需求、验收、现场培训三处写明,防止抽检比例被悄悄下调 |
| 拒收决策自动化 | 错误拒收是对供应商的商业动作,不可逆;漏判有留证兜底,可逆。代价不对称 |
| 委外加工费结算 / 对账 | 独立域,工作量与本项目相当,单独立项 |
| 销售侧需求预测 | 上游,不在本项目边界 |
| 全自动排产(无人干预) | 03 号 §3.4 的红线:不做自动学习自动生效 |
| 手写 OCR 直接入账 | 静默错数(03 号 §6.3)。OCR 只做存档与稽核 |
| 存量历史数据迁移 | 设一个"起算日",之前的不进系统。 迁进来的脏数据会永久污染达成率和画像 |
10. 团队规模与工期的关系
| 规模 | 配置 | M0–M6 工期 | 说明 |
|---|---|---|---|
| 小队 3 人 | 后端 2 + 前端 1(BA/集成外借) | ~20 个月 | 五条线退化成串行,C/D 线要排到第二年 |
| 标准 6 人 ✅ | 后端 3 + 前端 1.5 + 集成 1 + BA 1(AI 按需外借) | ~12–13 个月 | 线并行度约 2.5,本文的排期按此 |
| 加速 10 人 | 后端 5 + 前端 2 + 集成 1 + BA 1 + AI 1 | ~10 个月 | ⚠️ 提速有限:M2→M5 的依赖是数据要跑够时间,加人加不快 |
⭐ 10 人比 6 人只快 2–3 个月,因为这个项目的关键路径上有两段是时间本身: ① 委外厂的填报习惯要养成(M2–M3,至少一个季度); ②
plan_decision要积累够(M5→M7,至少两个排产周期)。 这两段加人无效。 想真提速,唯一有效的杠杆是 §7 那八件长交期事项早启动。
11. 所有线共用的验收纪律
照搬 SRM 26 号 §四。每一条后面都有一次真实的翻车。
- 闸门类必须双向夹具。 只验"该拦要拦"→ 会写出恒拒的实现把功能关死;只验"该放要放"→ 会写出一个都拦不住的实现。
本项目的闸门:过账幂等、外部账号隔离、偏差必填理由、
UNREADABLE不许当 0、配置继承覆盖。五个都要双向验。 - 「命中 0」有两种解释:真的不存在 / 搜错地方。每个反向对照旁边必须并列一条正向对照。
- 查了后端要查前端。 前端常常早就把实情写在界面上了。
- 算错不会报错,只会算出一个像样的错数。 涉及算法的夹具,把"错误算法会得多少"一起断言进去——
本项目最典型的是达成率:
按冻结版 86.9% / 按调整后 99.4%,两个数并排放着,差额才成为证据。 - 迁移必须真 PG 验,H2 上测了等于没测。 顺序:跑到你落号的前一号 → 单独应用你的迁移 → validate 通过 → 重启第二次仍通过 → 灌脏数据重放。
- 加
not null default的列,要在有存量行的表上单独验回填。 空库跑通证明不了这条。 - 附件目录要实测可写。 SRM 的
deploy.sh曾用chattr +i把上传目录冻住,接口不报错,只是文件不存在,坏了五天没人发现。 - 「已上生产」≠「在起作用」。 验收要打真请求给读数,不接受源码推断。
- 推送前一刻重读主干。 拿 rebase 前的绿测试直接推,推上去的是一份没验过的组合。
12. 最容易死的五个地方
| # | 死法 | 征兆(出现即拉警报) | 解药 |
|---|---|---|---|
| 🔴 1 | 先做平台,半年不出东西 | 第 3 个月还在讨论主数据模型 | §3:地基跟着第一刀长,每件只做到 M1 需要的深度 |
| 🔴 2 | 委外厂不填数 | S2 尖刺被跳过,或跳过后"打算上线时再培训" | §2·S2 真找 3 家厂跑 10 天;§7·3 协同率进评级 |
| 🔴 3 | 口径没定就上线 | M2 开发已经开始,口径书还没签字 | §2·S4 第一天启动;口径书三方签字才允许开工 |
| 🔴 4 | 旧路径永远不关 | 双轨进入第 6 周,群里还在发照片 | §8.1 双轨硬性 4 周,T+4 周关旧路径写进项目章程 |
| 🟠 5 | A2 决策留痕被砍到二期 | M5 排期紧张时第一个被拿掉的就是它 | 它是 M7 的唯一原料,且要跑满两个排产周期。砍它 = M7 顺延一年 |
13. 第一周该干什么(可直接照做)
| 日 | 事 | 谁 |
|---|---|---|
| D1 | 提交 SAP 写权限 + QAS 环境申请;提交飞书/企微应用权限申请 | IT 接口人 |
| D1 | 召集计划/生产/委外三方,启动达成率口径讨论(S4) | BA |
| D2 | 选定 3 家试点委外厂并沟通(S2 的对象) | 区域 + 委外管理 |
| D2 | 定 Q-A:在 SRM 仓库开 modules/libang/*,立好单向依赖检查规则 |
架构 |
| D3 | 开始采 OCR 双样本(印刷单 60 张 + 手写日报 60 张)(S3) | BA + 现场 |
| D3–D5 | 做 S2 的静态 H5(一屏,无后端) | 前端 |
| D5 | 拉近 3 个月历史数据,按两种口径各算一遍达成率,出一页纸(S4 的弹药) | 数据 |
| D5 | 立项 §7 那 8 件长交期事项,指定责任人,进周会跟踪表 | PM |
第一周不写一行业务代码,这是对的。 这一周启动的东西,交期都在 4–12 周——它们才是关键路径。
14. 本文的自我限定
- §6 的周期是按 6 人标准队、SRM 同栈、复用 03 号 §8.1 那批既有资产估的。 没有立邦的团队规模、 发布流程、环境审批周期作为输入,它是一个假设,不是承诺。
- §7 的交期是大型制造集团的经验值推导,立邦的实际审批链可能更长或更短。第一周就该去校准它。
- §2 四个尖刺的通过判据是我定的,业务方可能有不同的容忍线(例如填报率 90% 是否太严)。 判据可以谈,但"先做尖刺再开工"这条不能谈。
- §0·Q-A 选 ③ 的前提是立邦愿意让粉料系统长在 SRM 仓库里。 如果因为组织或商务原因不行, 退到 ① 全新自建,工期 +4~6 个月,本文其余部分不变。
- 本文没有覆盖:预算、采购流程、信创适配、灾备与容量、数据合规(外部厂人员信息)。 其中数据合规要在 M1 之前确认一次——外部账号存手机号,属于个人信息。