The not-doing list
The to-do list is intent; the not-doing list is the actual decision. The first asks you to give up nothing, the second asks you to give up something.
What you'll run into
- 范围一路膨胀,每个功能加进来时都显得挺合理
- 同一个问题反复讨论,因为上次没留下结论
- 让 AI 做功能,它顺手把相关的都补上了,回头你还得删
Scope rarely blows up because of one crazy decision. It is usually the accumulation of a dozen "might as well add it" moments. Each one looks reasonable in isolation, because nothing is pushing back. The not-doing list is the thing that pushes back.
What to write
| 这一类 | 为什么值得专门写下来 |
|---|---|
| 看起来顺理成章的 | 「都做了记录,顺便做个统计吧」——最常见的膨胀来源 |
| 竞品有而你没有的 | 写清楚为什么不跟。不写的话,每次看到对手更新都要重新纠结 |
| 用户提过但你判断是伪需求的 | 连同判断理由一起记。下次有人再提,直接翻记录 |
| 技术上很想做的 | 「正好可以试试这个新框架」,这类动机跟用户价值无关 |
| 未来某天要做的 | 标明「不是这一版」,跟「永远不做」区分开 |
Three rules for writing it
- Every entry needs a reason. Just writing "no mobile" means in three months nobody remembers why. Write "no mobile, because target users reconcile at their desks," and the entry stays useful.
- Distinguish "not this version" from "never." The first is a scheduling question, the second a positioning one. Mixing them implies everything is negotiable.
- Put it at the very front of the spec. At the end is the same as not writing it. Every time a new feature comes up, scan this list first.
| 不做 | 为什么 | 类型 |
|---|---|---|
| 团队协作与权限 | 目标用户是单干的自由设计师 | 永远不做 |
| 在线画稿 | 他们已经有专业工具,我们抢不动 | 永远不做 |
| 移动端 | 对账都在电脑前完成 | 这一版不做 |
| 自定义主题 | 只有一个人提过,且是设计师的职业习惯 | 这一版不做 |
A note for AI
Put the not-doing list into CLAUDE.md, and the AI will remind you even when you have forgotten it yourself.
CLAUDE.md · scope constraints
## 这个项目明确不做的 永远不做(属于定位,不要试图说服我): - [不做的事] —— 因为 [理由] - [不做的事] —— 因为 [理由] 这一版不做(以后可能做,但现在不要实现): - [不做的事] —— 因为 [理由] 执行要求: - 我提的需求如果落在上面任何一条里,先指出来并说明 它对应哪一条,等我确认要不要破例,再动手。 - 实现功能时不要「顺手」补上清单里的相关能力, 哪怕它看起来只要几行代码。 - 如果你认为某条约束已经不合理了,可以提出来, 但要给出理由,不要自己绕过去。
The second rule is the most practical. AI loves to "helpfully" fill in — ask it for a list and it will quietly add sorting, filtering, pagination, and export. Those few lines block most of that.
