寓言故事
一间很大的药材铺里那块总被挪错的药斗标签
一间很大的药材铺有一套用了很多年的办法。掌柜每天清早把药斗标签分给抓药师傅,谁拿到什么,就去做什么。小城不大,事情也不急,这套办法很少出错。
后来,来的人多了,订单变厚了,工具也多了。城门没有坏,但陌生人开始学会说暗号。抓药师傅开始发现,最难的不是干活,而是不知道该先听哪一个指令。
有人提议用一个简单办法:把所有药材按名字长短重新排队。头几天确实有效,所有人都看得见规则,队伍也安静了一些。掌柜以为问题解决了。
很快,人们学会了顺着新规则行动。急活被包装成普通活,普通活被写成急活;有人为了让自己的事先被处理,故意多敲几次柜台上的铜铃。看起来更有秩序,实际却更难判断。
于是第二条规矩来了:凡是和Permissions有关的事,一律优先。结果新的拥堵又出现了。因为很多事情表面上都能和Permissions沾边,真正需要处理的差异反而被抹平。
有个年轻学徒没有继续加规矩。他连续三晚坐在门口,记录每块药斗标签从哪里来、被谁拿走、用了什么工具、什么时候回来、回来后又改了几次。
第四天,他把记录摊开给掌柜看。问题不在某个人偷懒,也不在RBAC写得不够漂亮。问题是城里只有入口,没有过程;只有命令,没有状态;只有结果,没有回路。
他们最后没有再增加一条口号,而是按病症、药性、禁忌和复诊结果重新组织药柜。从那以后,柜台上的铜铃不再代表谁喊得响,而代表一件事在系统里走到了哪一步。
这时,老工匠才说:我们真正缺的不是更聪明的人,而是一种能让复杂工作稳定流动的结构。防线要假设有人会利用规则本身。