我们先写一份详尽的需求文档(Spec),涵盖每一个功能、接口、数据流和用户交互细节。开发者严格按照这份“蓝图”来一行行敲代码。这种方式严谨、可控,但过程漫长且僵化,往往需要耗费大量时间来沟通和修改文档。