实际会发生什么,一步一步
每个阶段结束时,你手上都会有实际的东西。你没看到之前,不会往下推进。
- 0101
咨询
一次对话,免费在谈开发之前,先把问题到底是什么弄清楚。
大多数需求送来时已经是一个方案——一个应用、一个仪表盘、一个系统。我们往前退一步,先问今天什么出了问题、影响谁、多久发生一次。有时诚实的答案是更小的方案就能解决,有时是你根本不需要一个应用。这两种答案你都会听到。
你会获得
- 对问题达成共识,并写下来
- 第一版必须具备的功能清单
- 现成还是定制,先给出初步判断
需要你提供
把最原始的版本带来。截图、表格、你们团队自己想出来的临时办法——这些比一份漂亮的需求文档更有用。
- 0202
方案
通常几天范围、周期与费用都写下来——在敲定任何事之前。
你会收到一份文档,明确写出要做什么,同样重要的是不做什么。它把工作拆成阶段,让你看到投入落在哪里,并写明我们所做的假设,方便你纠正。如果数字不合适,我们一起调整范围,而不是悄悄降低质量。
你会获得
- 按阶段划分的书面范围
- 标出里程碑的时间表
- 与该范围匹配的费用,并列出假设
需要你提供
认真读,并且提出反对。这个阶段的分歧只花一次对话;同样的分歧留到后面,代价是重做。
- 0303
开发
几天到几个月,取决于范围分阶段开发,每个阶段都有你能打开、能试用的东西。
我们先设计界面再写代码,让流程在修改还便宜的时候就定下来。之后分阶段开发,每个阶段都会落在一个你能登录、能实际使用的环境里——不是截图,也不是进度汇报。反馈在开发过程中就吸收,而不是堆到最后。
你会获得
- 界面设计与页面之间的流程
- 每个阶段都能打开的可用环境
- 定期的进度说明,用平实的语言
需要你提供
趁记忆还新,试试每个阶段,把觉得别扭的地方告诉我们。最该来看的是每天要用它的人。
- 0404
交付
上线时,之后持续应用、代码、账号和文档,全部归你。
交付是所有权的转移,不是一封告别邮件。源代码、托管与服务账号,以及为没参与过的人写的文档,都会转到你手上。如果你希望我们继续——维护、修复、下一批功能——那会按事先约定的条款进行,而且是一种选择,从不是依赖。
你会获得
- 源代码与所有账号,登记在你名下
- 文档,以及给你团队的讲解
- 如果你需要,书面的支持条款
需要你提供
定好你这边由谁接手,并让他参加讲解,别让知识只留在一个人身上。
开发过程中我们怎么做事
流程是最容易写下来的部分。真正决定它能不能站得住的,是这些习惯。
说人话
用你能转述给团队的说法解释进度,而不是一堆技术名词。
决定要留字
通话里谈定的事都会用文字确认,免得日后靠记忆断案。
先做最小可用的版本
最能体现价值的部分先上线。「有了更好」的排在后面。
坏消息说得快
如果进度延后或预估错了,你会早点知道——那时候还有选择。
上线那天,应用并没有结束
之后怎么办在上线前就谈好,所以开发结束不会变成争执的开始。
修复
我们交付的东西有缺陷,按约定条款修好,不会重新报价。
更新
依赖库、安全补丁与平台变更,按计划保持在最新状态。
后续功能
开发期间你先搁下的清单,等你准备好再按优先级继续。
或者什么都不做
代码和账号都在你手上。要不要继续合作,永远是可选的。