是用 uml 进行设计,画出各种图?
其实敏捷也有求分析,只不过很轻量,并且需要客户参与。而且是最!困!难!的一步。
理论上,程序员拿到手里的东西都是确定的东西(比如提供搜索功能,至少要精确到按照名字搜索的程度。再比如优化,要确定为,响应速度在三秒以内),之后可以开撸了。
有人说,tdd 有的时候意义不大。确实这样的,因为完整的流程,tdd 前面是 BDD,BDD 前面是需求分析。
当然这个都是书上说的。。。
Thoughtbot 的 playbook 讲了他们是如何从头开始进行客户产品的设计和开发的, http://playbook.thoughtbot.com/