Karri Saarinen(@karrisaarinen)的一条产品反思:在这个"构建成本越来越低"的时代,我们忽略了 feature 的真正成本不是 build,而是 carry。

建一个功能很容易,养一个功能很难

产品开发中常见的故事:执行成本现在很低,为什么不多做点东西看看哪个能跑出来?

这有道理。生产软件的成本在下降,从想法到可工作原型比以前容易太多。但问题在于:构建 feature 的成本在下降,但维护它的成本没有

每个已发布的 feature 都增加了产品的表面积:

  • 新的交互方式
  • 新的失败模式
  • 新的设计决策
  • 新的支持问题
  • 新的用户预期

它成了团队必须维护的一部分,也成了用户必须理解的一部分。

比失败更危险的是"刚好存活"

很多团队担心 feature 会失败——但失败通常是清晰的,你可以移除它、从中学习、继续前进。

更难的情况是:一个 feature 成功得"刚刚好"——部分用户采用了,部分工作流开始依赖它,团队现在拥有它了。它可能没有让产品真正变得更好,但它让产品变得更大了。

这就是产品变得臃肿的路径。不是因为团队主动选择了它,而是因为加入它的门槛低于与它共存的门槛

Agent 时代,这个风险更高

Agent 让"添加功能"变得更容易——这让克制变得更重要。

以前,克制是内置在流程里的,因为构建是昂贵的,所以你会确保自己在构建正确的东西。

现在不一样了——问题不再是"能不能构建",而是"为什么应该构建"或"为什么它是正确的"。值得问的是:这个 feature 是否值得被维护、支持,并被允许随着时间塑造产品?

核心观点

Every feature should earn its place. Not because implementation is expensive, but because its existence is.

不是因为实现它昂贵它才应该存在,而是因为它的存在本身是昂贵的