个人觉得
敏捷开发强调以人为中心,快速迭代,客户参与多沟通,减少不必要的文档,包括Scrum和XP
优点:快速适应变化,做出的项目比较接近客户需要的
缺点:文档不多,如果人员流动大,维护相对更难
瀑布开发强调文档,就是不同阶段按照顺序自上而下而来,如需求、设计、编码、测试(单元测试、系统测试)、维护,每个阶段尽量做得最好
优点:每个阶段可作为检查点,前一阶段完成只需关注后一阶段
缺点:缺少沟通、反馈,文档比较多,不适应需求快速变化,在生命周期后期才看得到结果,如果有一阶段出了大问题,会影响最终成功