周三下午。刘总召集技术讨论会。
议题:下一季度订单系统重构。老系统两年多,老出问题。两个月完成。
陈思远先发言:"订单创建、修改、删除、查询、审批、报表、数据同步——老系统都有。加移动端。多语言。"
刘总点头:"还有呢?"
没人说话。
刘总看向周明远。
周明远一直听着没说话。他开了一个小时会,听的全是"做什么"。没有人说"做到什么程度"。
"功能清单没问题。"他说,"但有个问题——这些功能要做到什么程度?"
刘总示意他继续。
"退款功能。退整单还是部分退?部分退怎么算金额?跨仓库退怎么处理?退货运费谁承担?退超过30天了还算不算退款?"
陈思远愣了。
"多语言。支持哪些语言?汇率自动换算吗?不同国家税率不同,是固定还是动态?汇率用哪一天?"
小林也摇头。
周明远看着他们。他们不是能力不行——是没有经历过。没有因为部分退被客户投诉过。没有因为汇率差被财务找过。
"老系统为什么常出问题?不是因为功能不全——是因为每一样只做到'能用'的程度,没做到'不出事'的程度。如果新系统只是把老系统重做一遍,两年以后还会再重构一次。"
"先定程度。每个功能要做到什么程度,一条条列下来。哪些边界要覆盖,哪些规矩要遵守,哪些异常要处理。按程度写说明,再让工具生成代码。"
刘总说:"你来定。"
刘总走了以后。陈思远留下来。
"周哥,我以前一直以为做系统就是实现功能。"
"大部分人都这么认为。"
"但程度从哪来?"
"从你见过的问题里来。见过的越多,定得越全。"
"那我见的不够呢?"
周明远看着他的眼睛:"清单。清单就是见过的结晶。我用八年攒了17条,你现在开始攒,半年后就能超过我。"
陈思远点头。
周明远独自坐回位子。
他说的"做到什么程度"——以前他说的是"怎么实现"。说的是技术、架构、模式。
现在说的是程度——业务边界、规矩、异常处理。
什么时候变的?不重要了。重要的是——他说的话跟所有人不一样。
做什么只是第一步。做到什么程度才是决定质量的。
工具能做。但"做到什么程度"得人定。
他来做。