瀑布模型与敏捷模型的核心区别到底是什么?
我的总结是:一个是完成后一次性交付,交付后接受饱和的需求变更攻击;一个是持续增量交付,尽早获取用户反馈并做出调整。仅此而已。
当面对需求不明确的情况时,完成后一次性交付显然风险巨大,而持续增量交付可以降低这种风险。
比如说,你的团队要开发一个由多个模块构成的大型系统(如:HIS系统包括挂号、开单、收费等几十个模块),但是你的团队对该系统的需求并不是十分了解,而客户也无法说清楚具体的需求(事实上,这是普遍存在的情况),这种情况下,如果要一次性开发完成后再交付给客户试用,就会面临巨大风险,因为模块之间可能存在依赖,如果上游模块需求搞错了,下游模块也会受到影响,造成的修改成本就非常大,而如果能持续分模块交付,每交付一个或几个模块就让客户试用并反馈意见,则会大大降低这种风险。