第 1 章:别把“需求文档”当成真正的需求

44 阅读10分钟

道可道,非常道;名可名,非常名。
无名天地之始,有名万物之母。
故常无欲以观其妙;常有欲以观其徼。
此两者同出而异名,同谓之玄。玄之又玄,众妙之门。

《道德经》第一章,一上来就很“反直觉”。

我们平时做技术、做产品,最喜欢什么?喜欢定义。

需求要定义,字段要定义,接口要定义,流程要定义,指标要定义。最好每个东西都有名字、有边界、有负责人、有排期。

这当然很重要。没有定义,团队无法协作;没有命名,系统无法表达;没有文档,复杂工作很快就会变成一团乱麻。

但老子第一章提醒我们:能被说清楚的,往往只是事物的一部分;能被命名的,往往已经不是事物的全部。

这句话放到今天的技术和产品世界里,依然非常锋利。

一、道和名,到底在说什么?

“道可道,非常道。”

这里的第一个“道”,可以理解为事物背后的规律、运行方式、真实逻辑。第二个“道”,是说出来、表达出来、描述出来。

所以这句话不是说“道不能说”,而是说:凡是能被完整说出来、固定写下来的规律,都不是永恒不变的规律本身。

比如你写了一份《系统架构设计文档》,它当然有价值。但它不是系统本身。真正的系统,存在于代码、流量、依赖、历史包袱、团队习惯、线上故障和用户行为里。

文档只是地图,系统才是地形。

“名可名,非常名。”

这句话也不是反对命名。恰恰相反,命名非常重要。程序员都知道,好的命名能救命,坏的命名能让人怀疑人生。

但老子提醒我们:名字只是人为切出来的标签,不等于事物本身。

比如一个字段叫 status,看起来很简单。可你真去维护它,可能会发现里面藏着十几种状态:

  • 未提交
  • 审核中
  • 审核失败
  • 已发布
  • 已下架
  • 已删除
  • 被风控拦截
  • 用户不可见但运营可见

名字叫 status,但真实世界从来不只是一个字段名那么清爽。

“无名天地之始,有名万物之母。”

没有名字之前,世界是混沌的、整体的、未被切分的。有了名字之后,我们才能分类、识别、沟通、管理。

这和做产品很像。

用户最开始只有一个模糊感受:“这个东西不好用”“这里很麻烦”“我找不到我要的”。产品经理要把这种模糊感受拆成需求、流程、页面、交互、指标。

命名让世界可操作,但也会让我们误以为自己已经理解了世界。

二、需求文档不是需求,PRD 也不是用户

做产品的人,最容易遇到这个问题。

用户说:“我想要一个导出功能。”

于是需求文档里写:

增加数据导出功能,支持 Excel 下载。

看起来很明确,对吧?

但这只是“名”。它被命名成了“导出功能”。真正的“道”可能是:

  • 用户要向老板汇报,所以需要一张能直接放进周报的表
  • 用户要做二次分析,所以需要结构化数据
  • 用户不信任系统页面,所以想把数据拿到本地留档
  • 用户只是想分享给同事,并不是真的需要 Excel

如果不继续追问,你可能会做出一个非常标准、但并不好用的导出按钮。

最后用户还是不满意,因为他真正想要的不是“导出”,而是“可交付”“可分析”“可证明”“可协作”。

这就是第一章的意思:名字是入口,不是真相。

产品经理如果只停在需求名称上,就会变成“功能搬运工”。用户说要什么,就排什么;老板说做什么,就拆什么;竞品有什么,就抄什么。

但真正好的产品判断,往往发生在命名之前。

你要问:

  • 用户为什么这样说?
  • 他在哪个场景下说的?
  • 他说的是方案,还是问题?
  • 这个需求背后有没有更简单的解决方式?

很多时候,用户嘴里的“我要一个按钮”,翻译成人话其实是:“我现在没有安全感。”

这才是产品工作有意思的地方。

三、变量名不是业务,接口名也不是设计

程序员同样逃不开“名”的陷阱。

比如你看到一个变量:

const isValid = checkUser(input)

看起来很清楚:用户有效。

但什么叫有效?

是格式有效?权限有效?账号状态有效?风控有效?会员有效?当前业务场景下有效?

如果你不看上下文,只相信变量名,很容易踩坑。因为代码里的“名”,常常只是某个历史时刻留下来的简化表达。

再比如一个接口叫:

GET /api/order/detail

听起来只是“订单详情”。但它可能承担了太多职责:

  • 返回订单基础信息
  • 返回支付状态
  • 返回物流信息
  • 返回售后入口
  • 返回优惠券展示
  • 返回运营活动配置
  • 顺便埋点
  • 顺便触发一次状态刷新

接口名叫 detail,但真实行为可能已经变成了“订单详情页后端总控中心”。

所以成熟的程序员不会只看名字。他会看调用链、数据流、异常分支、历史提交、线上表现。

因为他知道:命名帮助我们理解系统,但系统不会因为命名好听就变简单。

四、“无欲以观其妙”:先别急着下结论

“常无欲以观其妙”,这句话特别适合排查问题。

线上出故障时,很多人的第一反应是找一个熟悉的原因:

  • “是不是数据库慢了?”
  • “是不是缓存穿透了?”
  • “是不是前端没传参数?”
  • “是不是某个人昨天改坏了?”

这些猜测不一定错,但如果太早认定答案,就会被自己的经验带偏。

“无欲”不是没有目标,而是先放下执念。先看现象,别急着贴标签。

比如一次接口超时,你可以先看:

  • 超时从什么时候开始?
  • 是全部用户,还是部分用户?
  • 是所有接口,还是某个接口?
  • 是平均耗时上升,还是 P99 抖动?
  • 是代码变更、流量变化,还是依赖服务异常?

这就是“观其妙”。

它不是玄学,而是系统性观察。

你暂时不急着证明自己是对的,才更可能看到事情真实的样子。

五、“有欲以观其徼”:带着目标,看清边界

但只观察也不够。

“常有欲以观其徼”,意思是当你带着目标去看,就能看到边界、结果、路径和限制。

排查问题时,观察之后要收敛:

  • 哪条链路最可疑?
  • 哪个依赖最近变更过?
  • 哪个指标最先异常?
  • 哪个修复动作风险最低?

做产品也是一样。

你既要“无欲”地观察用户,不急着把用户行为塞进自己的预设里;也要“有欲”地做取舍,明确当前版本到底解决哪个问题。

只无欲,容易变成漫无边际的调研。
只有欲,容易变成带着 KPI 找证据。

好的产品和好的工程,都需要这两种视角来回切换。

先打开,再收敛。先看见复杂性,再做简化。

六、一个产品例子:用户真的需要“标签”吗?

假设你在做一个笔记产品。

用户反馈:“能不能加一个标签功能?我想给笔记分类。”

这听起来很合理。很多产品都有标签,做起来也不算太难。

但如果你只听到“标签”这个名字,就很容易直接进入方案:

  • 支持新建标签
  • 支持给笔记打标签
  • 支持按标签筛选
  • 支持标签管理

功能上线后,用户可能一开始很开心,但过一阵子就不用了。

为什么?

因为他真正的问题可能不是“缺少标签”,而是:

  • 笔记太多,找不到以前写过的内容
  • 内容之间没有关联,知识很难沉淀
  • 分类本身太累,坚持不下去
  • 搜索不好用,只能靠人工整理

如果看到了这一层,你的方案可能就不一样了。

你也许会优先优化搜索,也许会做自动关联,也许会在用户写作时推荐相关内容,也许会减少手动整理成本。

标签是“名”,信息找回才可能是“道”。

七、一个技术例子:重构不等于变好

技术团队里也有很多容易让人兴奋的词。

比如“重构”。

一听到重构,很多人会默认这是好事:代码更优雅,架构更清晰,系统更现代。

但真实情况没那么简单。

有些重构确实是在降低复杂度;也有些重构,只是把熟悉的复杂度换成了不熟悉的复杂度。

旧系统的问题是方法太长、模块太乱;新系统的问题可能变成抽象太多、链路太深、排查太难。

表面上看,名字从“老代码”变成了“新架构”。但系统的本质问题未必解决了。

所以判断一次重构值不值得,不是看它用了什么模式,也不是看目录结构漂不漂亮,而是看:

  • 变更成本有没有下降?
  • 故障定位有没有更快?
  • 新人理解有没有更容易?
  • 核心链路有没有更稳定?
  • 业务迭代有没有更顺畅?

名字会让人兴奋,结果才会说明问题。

八、穿过名字,看见结构

这一章看起来很玄,其实非常务实。

它不是让我们否定语言、否定命名、否定文档。恰恰相反,我们需要这些东西。没有名字,人无法协作;没有定义,系统无法建模;没有抽象,复杂度会把人压垮。

但老子提醒我们:使用名字,但不要被名字困住。

看到“增长”,要问增长什么、为什么增长、代价是什么。
看到“留存”,要问用户留下来是因为价值,还是因为迁移成本。
看到“中台”,要问它是在复用能力,还是在制造流程。
看到“AI 能力”,要问它到底解决了什么真实问题。

技术世界尤其如此。

看到“微服务”,别先激动,先问团队有没有治理能力。
看到“低代码”,别先排斥,先问目标用户是不是需要降低门槛。
看到“DDD”,别先套概念,先问领域边界是不是真的清楚。

所有名词都有用,但所有名词都危险。

因为它们一旦变成口号,就会遮住真实问题。

九、总结

如果把第一章翻译成今天的工作语言,我会这样说:

需求文档不是需求,接口名称不是接口行为,产品指标不是用户价值,技术方案不是系统本身。

我们需要命名,因为命名让复杂世界变得可讨论。
但我们也要穿过命名,因为真正的问题常常藏在名字后面。

一个人变成熟的标志,是不再轻易被词带着跑。

听到一个概念,他会问场景。
看到一个方案,他会问代价。
拿到一个需求,他会问动机。
面对一个系统,他会问它真实如何运行。

这就是《道德经》第一章给技术人的第一课:

别急着定义世界,先学会看见世界。

当你能在“名”之外继续往前走一点,就已经站在“众妙之门”前了。