我是小米,今年 31 岁,写代码第 10 年。
如果你问我这几年写代码最大的感受是什么,我可能不会说“技术更新太快”,也不会说“需求永远写不完”,而是一句听起来有点扎心的话:
很多软件不是被技术难度干死的,是被“过度设计”折腾死的。
而这个“过度设计”,往往不是来自技术,而是来自太想把产品做得“完美”的产品经理。
一个按钮,毁掉了整个需求
先给你讲个我亲身经历的故事。那是几年前,我在一个 B 端项目里负责一个很普通的功能: “提交订单”按钮。
听起来是不是毫无难度?结果需求评审那天,产品经理一上来就说:“我们这个按钮,不只是一个按钮。”
我当时心里一紧。接下来 30 分钟,他给我们讲了这个按钮的“完整人生”:
- 未填写必填项 → 灰色禁用态
- 填写中 → 浅蓝色
- 校验中 → loading 转圈
- 校验失败 → 抖动 + 红色提示
- 校验成功 → 渐变动画
- 点击后 → 二次确认弹窗
- 网络慢 → 弱网兜底提示
- 成功 → Toast + 跳转 + 动效
- 失败 → 错误码映射文案
我看着原型,心里只剩一个问题:用户真的在乎这些吗?
后来这个按钮,我们前后改了 5 轮。上线后呢?用户只提了一个反馈:
“点了没反应,还以为没点到。”
那一刻我突然意识到一个问题:我们在设计世界里追求完美,但用户活在现实世界里。
产品经理常见的一个误区:把“自己”当成用户
很多产品经理都很认真、很负责,也很辛苦。但问题往往出在一个非常隐蔽的地方:
你以为你在替用户思考,其实你是在替“理想中的自己”思考。
你有没有见过这种场景:
- 产品经理说:“如果是我用,我会希望它更严谨一点”
- 产品经理说:“我们要防止用户犯错”
- 产品经理说:“流程复杂一点没关系,专业感更强”
但现实中的用户是怎样的?
- 早高峰挤地铁,单手操作
- 午休 5 分钟,只想快点完成
- 不想看说明,不想理解概念
- 更不想被教育“正确使用方式”
用户不是来参加产品设计答辩的。用户只是想把事办完,然后走人。
过度设计,常常长什么样?
我总结了一下,这些年见过的“过度设计”,基本都有几个共性。
1、为了“完美流程”,牺牲真实效率
比如:
- 一个操作,非要拆成 5 步
- 每一步都有校验、说明、提示
- 用户不能跳过,也不能快速完成
流程确实严谨了。但你忘了一件事:80% 的用户,只想完成 80% 的场景。
2、为了“防呆”,把聪明用户当傻子
有些设计,出发点是好的:“我们要避免用户误操作。”
但最后的结果却是:
- 每一步都确认
- 每个按钮都提示
- 每次操作都要你再想一遍
你以为是在“保护用户”。实际上是在告诉用户: “我不信任你。”
3、为了“自洽”,忽略真实使用环境
产品逻辑非常自洽:
- 状态严谨
- 枚举齐全
- 规则完整
但一上线你才发现:
- 用户根本不会按你设想的路径走
- 他们会乱点、跳步骤、反复返回
- 甚至在你最不希望的地方停下来
我们可以用一个比喻来说清楚这件事
我一直很喜欢用一个比喻来形容过度设计的产品。它就像一台“过度智能的电饭煲”。
你本来只想煮个饭。结果它告诉你:
- 请选择米种
- 请选择水质
- 请选择海拔
- 请选择口感
- 是否开启营养保留模式
- 是否进行二次蒸煮
你还没吃上饭,人已经饿烦了。而真正卖得最好的电饭煲是什么样的?一个按钮:煮饭。
从技术视角看:过度设计,对开发是灾难
作为程序员,我必须说一句大实话。过度设计,对开发来说,真的很伤。
我用一张表,简单对比一下「适度设计」和「过度设计」。
你会发现一个很残酷的现实:过度设计的产品,对用户不友好,对开发也不友好。
真正好的产品设计,反而“不显眼”
很多刚入行的产品经理,会有一个阶段:“我一定要把每个细节都设计到。”
但做久了你会发现:真正好的产品设计,用户是感受不到“设计”的。
他们只会觉得:
- “挺顺的”
- “好像也没什么”
- “反正一下就用完了”
但这,恰恰是最高级的评价。
我想给产品经理的三点真心建议
如果你看到这里,我想你不是那种不思考的产品经理。所以我想给你三点,来自一个写了多年代码、被需求折磨过无数次的技术人的真心建议。
1、少问“是不是更完美”,多问“是不是更有用”
- 完美,是设计师的执念。
- 有用,是用户的底线。
2、多去看用户真实使用,而不是只看原型
- 一次真实使用录像,胜过十次需求评审。
3、给用户“犯错的空间”,而不是“不许犯错的牢笼”
- 用户不是来被教育的。
- 软件是工具,不是考试。
最后,说一句可能不太好听的话
我不反对产品经理追求好产品。但我真的不建议:
为了“设计上的完美”,偏离用户真实使用软件的角度。
因为最终为这些设计买单的:
- 是用户的耐心
- 是开发的时间
- 是整个团队的节奏
好的产品,不是设计出来的,是被用户“用出来的”。
END
如果你也是:
- 经常被复杂需求折磨的程序员
- 或者开始反思“是不是想太多了”的产品经理
那希望这篇文章,能让你点个头,心里默默说一句:“嗯,好像确实是这么回事。”
好朋友们,我们下篇再见。
我是小米,一个喜欢分享技术的31岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!