对于新的项目,采用瀑布式的开发模式是绝对不可取的,这会让你陷落人月神话的焦油坑中。
采用迭代增量式的开发模式,绝对是远离焦油坑的明智选择。
一个项目迭代的次数也应该要有个估算,不能太少也不能太多。本人认为中等规模的项目,迭代三次是比较合适的。
比如:银行帐户管理系统。
准备:需求分析(理清最核心需求,了解次级需求,了解其他需求)。
/**核心需求:开户、存款(活期|定期)、取款、销户等。
次级需求:证券帐户第三方存管、按揭贷款、基金定投、理财投资等。
其他需求:短信提醒、理财业务手机广告等。**/
第一次迭代:总体设计,最核心部分的详细设计及开发测试。要达到项目能够部署运行、最核心的功能可以 [演示] 和 [进行功能性测试] 的目的。
第二次迭代:第一阶段,向客户及相关人员演示成果,并重新审视需求(达到完全清晰核心需求、理清次 级需求、了解辅助需求)。
重新审视架构结构及模块化分。该修正的修正,该扩展的扩展,该重构的重构。达到可[演示]及[提交全面测试]的目的
第二阶段,对次级需求进行详细设计及开发测试,达到可进行[演示] 和 [进行功能性测试] 的目的。
第三次迭代:第一阶段,向客户及相关人员演示成果,并重新审视需求(达到完全清晰核心需求和清次级需求、理清辅助需求)。
重新审视架构结构及模块化分。该修正的修正,该扩展的扩展,该重构的重构。达到可[演示]及[提交全面测试]的目的
第二阶段,辅助需求进行详细设计及开发测试,达到可进行 [演示] 和 [全面测试] 的目的。
收尾:测试。
如果项目规模较大,可以多划分出一次迭代,或在某一次迭代中进行两次局部迭代,以期达到快速稳步推进的目的。