做 minierp 这段时间,我最大的体会是:代码最多卡我一晚上,业务能卡我一星期。
一个"数量",五个人的五种说法
我最早做库存的时候,想得很简单:数量不就是一个数字吗,填进去、加减一下就完了。
真用起来才发现,同一样货,在不同岗位嘴里是完全不同的数字:
- 采购说的是"下单数量";
- 仓库说的是"到货数量";
- 销售关心的是"还能卖多少";
- 财务对的是"账面数量"。
仓库说"还有 100 个",销售说"能卖的只有 60 个"——两人都没错,差的 40 个已经被订单占住了,只是还没出库。
为什么业务比代码难
代码不会骗人,写错了它就明明白白报错。业务不一样,每个人都站在自己的岗位上说话,每句话在自己的场景里都是对的。
系统要干的事,不是判断谁说得对,而是把这些话翻译成同一套规则:什么情况算被占用、什么时候释放、谁改了要留痕、哪个数字是对外的口径。
这件事的本质是把话说清楚,不是写代码。我那个"数量"字段改了三遍:第一版就一个数字,一用就乱;第二版拆成"账面 / 可用",还是不够;第三版才补上"被订单占用"这一层,大家终于不吵架了。
我现在怎么问需求(3 个笨办法)
- 不问"你要什么功能",问"现在这事你是怎么做的"。人描述需求会往"高大上"里说,描述动作才说实话。
- 要一张真实的表、一张真实的单据。Excel 比语言靠谱一百倍,字段叫什么、谁在填、哪几列是空的,一眼就看清。
- 每个字段追到底:谁填、什么时候填、能不能改、改了要不要审核。这四个问题问完,一半的返工就省了。
再加一句万能提问:“你觉得现在最容易出错的地方在哪?”这句话一出口,对方通常能连着讲十分钟——那才是系统真正要解决的问题。
写在最后
如果你是企业里用系统的人,下次觉得系统别扭,先别急着骂:试试把自己的流程从头讲一遍。讲不清楚的那一段,往往就是系统里最硌手的地方。能把这段讲明白的人,在团队里其实很值钱。
我在做一套自研 ERP,叫 minierp,目前还在开发阶段,开发日常会持续更在这里。
关注我,看我怎么把 minierp 这套 ERP 一点点做出来。