一天做出可打开版本
用一条输入到结果的主路径,做出第一个能给别人体验的版本。
第一天的目标不是"把产品做完",而是获得一个可以打开、可以操作、可以讨论的对象。
它只需要证明一件事:用户给出输入后,能否得到你承诺的那个结果。
一天结束时的验收物是一个链接,不是一份进度。
链接发得出去,这一天就成立。发不出去,不管写了多少代码都还在第零天。
先写验收句
在打开编辑器之前,先写一句:
一个从没见过这个项目的人,打开链接,完成 ___,最后看到 ___。
如果一句话里出现两个"并且",范围通常已经太大。第一版只保留一条主路径。
写不出这句话时,问题不在实现上,在范围上。
一天的时间盒
第 1 小时:画四个状态
只画四张粗糙页面或状态:
- 第一次打开
- 正在处理
- 成功结果
- 失败以后怎么办
不用先做完整导航、设置中心和个人主页。主路径之外的页面都可能是假需求。
第四个状态最容易被跳过。跳过它,第七小时你会发现失败时页面是空白的,然后临时补一个"出错了"了事。
第 2—4 小时:跑通数据
先用固定样例跑通输入、处理和输出。确认数据结构正确以后,再接真实服务。
顺序反过来会很痛苦——真实服务的网络问题、认证问题和你自己的数据结构问题会同时出现,你分不清是哪一个。
如果第三方接口还没准备好,可以在界面明确标注"演示数据"。
不要为了看起来完整,把假结果伪装成真实能力。
给人看的时候你可能会含糊过去,但对方一旦按这个结果做了决定,信任就没了。标一句"演示数据"的成本是零。
第 5—6 小时:处理最常见的失败
至少覆盖四种:空输入、网络失败、重复点击、超时。
错误提示要告诉用户下一步能做什么,而不是只显示"出错了"。
重复点击这条最容易漏。按钮点两次产生两条数据,是第一天最常见的 bug,处理方式是点击后立刻禁用,加上服务端按唯一标识去重。
第 7—8 小时:部署并找人验收
部署到一个临时地址,用另一台设备、隐私窗口和手机各走一遍。
这三种方式各自能抓到不同的问题:
| 检查方式 | 能抓到什么 |
|---|---|
| 另一台设备 | 写死在本地的地址、只在你机器上有的文件 |
| 隐私窗口 | 依赖你已登录状态才能跑通的流程 |
| 手机 | 布局挤坏、按钮点不到、键盘挡住输入框 |
最后找一个不知道你怎么实现的人操作,全程不要解释。
怎么把任务交给 AI
一次只给一个可验证任务,并附上验收标准:
实现结果页的失败状态。
要求:
- 请求超时后停止加载
- 展示可理解的原因
- 保留用户原输入
- 提供"重新尝试"按钮
- 不改变成功状态
完成后运行现有检查,并告诉我如何手动验收。"帮我做完整产品"会让 AI 同时替你做产品、架构和交互决策,最后很难判断哪一步错了。
"不改变什么"这一行不能省。 不写它,AI 会顺手重构它觉得应该重构的地方。
今天明确不做
- 多角色权限
- 完整后台
- 三种登录方式
- 多语言
- 推荐系统
- 精致动效
- 复杂埋点
这些不是永远不做,而是等真实用户证明它们阻塞主路径以后再做。
但要留一件最小的记录能力:知道有多少人打开了、有多少人走完了。没有这两个数,你看不见结果。
一天做不完怎么办
不要延长到第二天、第三天。回去砍范围。
按这个顺序砍:
1. 删掉第二个人群、第二个场景
2. 把能人工完成的步骤先人工做
3. 把设置项写死成一个默认值
4. 把"处理中"从异步改成同步等待
5. 只保留一种输入格式砍到能在一天内跑完为止。一天做不完的第一版,通常是范围问题,不是能力问题。
常见错误
先接真实服务再跑通数据结构。 两类问题同时出现,分不清是哪个。
跳过失败状态。 第七小时发现是白屏,临时补个"出错了"。
没处理重复点击。 点两次产生两条数据。
把假结果伪装成真实能力。 对方按结果做决定后信任就没了。
只在自己电脑上验收。 写死的本地地址和已登录状态都会漏过去。
做不完就延到第二天。 该砍范围,不是该加时间。
一个埋点都不做。 看不见有多少人走完。
验收标准
- 有一个别人能打开的临时地址
- 一条输入到结果的完整路径能跑通
- 至少一个失败状态有明确提示和下一步
- 空输入、重复点击、超时三种情况都处理了
- 另一台设备、隐私窗口、手机各走过一遍
- 有真人在你不说话的情况下操作过
- 能看到打开人数和完成人数
- 有一份已知问题清单
本章动作
写下那句验收句,并删到只剩一个动词和一个结果。
然后只做这条路径。
下一步
- AI 编程工作流——从一天扩展到持续推进
- 测试与排错——守住已经跑通的路径
- 把 MVP 砍到最小——一天做不完就回这里