瀑布式的需求分析,重点在于疏通流程。敏捷式的需求分析,重点则是拆分功能。小版本的需求功能,这正是敏捷开发的核心所在。敏捷开发并非不分析流程,只是更侧重于拆分功能。通过将流程中各个步骤拆分为功能,来疏通流程。同时,借拆分功能来编订测试用例,实现测试驱动。因此,功能拆分的单位应是测试用例。当一项功能只能用一个用例来描述时,基本上即已足够。
敏捷的需求分析,以冲刺计划会的形式展开。参会的应有客户方,负责人,开发组,测试组,以拆分用例或流程的方式进行分析,并将用例以用户故事的形式记录下来。一个用户故事对应一个测试用例。故事应标志业务优先级。故事内继续细分开发任务,开发任务是开发组的工作单元,依据开发的基础性与否标记开发优先级。最后,确定本次冲刺要完成的故事,生成冲刺BackLog,自选或分派开发任务。
需求细化为冲刺迭代奠定了小版本的基础,而小版本正是敏捷开发的核心,也是敏捷项目质量保证的根本。冲刺计划决定了开发进度。所以,对冲刺计划怎样强调都不过分。