FDD(Feature Driven Development)特征驱动开发是由(Jeff De Luca)提出的,他为那些对敏捷方法的作用感到怀疑的人提供了关于特性驱动开发的成功案例。成功案例之一是新加坡一家大银行的一个复杂的商业贷款应用系统。在Jeff没有加入该项目之前,该项目遇到了不小的困难,该项目是一个涉及大范围的商业、公司和消费者贷款系统,它融合了大量的贷款凭证(从信用卡到大型跨行的公司贷款)和广泛的贷款功能(从调查到完成后台监测)。在与Peter Coad合作的新加坡项目的工作中,FDD方法也得到了修正。开发人员在两周内(或者更短)进行交付。管理人员有一套方法来制定计划,该计划包括意义明显的里程碑,由不断的确实的结果带来的风险降低。用户通过他们可以理解的里程碑来查看计划。
FDD过程反映了从早期的以过程为中心的方法学中学习的过程。FDD要求自始至终有足够的过程来保证可扩展性和可重复性,并始终鼓励创造性和革新。FDD坚持如下观点:·为了用于更大的项目,一个用于构建系统的系统是必要的。
只有简单的、定义良好的过程才能更好地起作用。
过程的步骤应该是合乎逻辑的,并且它的价值应能立即清晰地展现在每个团队成员面前。
好的过程在幕后起作用,这样团队成员就可以专注于结果。短的、迭代的、特性驱动的生命周期是最好的。在更高层次上对FDD进行简单概括--它只有5个过程,如图9.6所示。花在每个过程上的项目时间分解如下:
过程1:开发整体模型(初始10%,项目进行中4%)。
过程2:构建特性列表(4%,项目进行中1%)。
过程3:按特性制定计划(2%,项目进行中2%)。
过程4:按特性进行设计。.
过程5:按特性进行构建(设计和构建共占77%)。