除了瀑布模型这间小屋和其他小屋有着明显界限之外,其他几种模型就像一座山,有着不可分割的关系,十分密切。这幅图总体上就分为:需求->设计->制造->测试,四个阶段。不同的开发项目需要不同的模式,要选择合适的模式才能够在生产开发中获得更高的效率。
在我看来,瀑布模型更像传统工业制造模式,严格根据设计模型进行一系列规律的流水线工作,前期阶段的设计很重要。适用于需求易于完善定义且不宜变更的软件系统。但缺乏灵活性。
敏捷开发将软件项目切分为多个可相互联系又可独立运行的子项目,人员的沟通很重要,其短周期且具有超强适应能力。
看板管理信息流程,并配合定量、固定装货容器等方式,使得生产过程中的物料流动顺畅,提高开发效率。而Scrum是为了调节领导新增任务或修改需求给程序员所带来的压力和不良情绪而产生的角色,保证项目能够正常交付。精益软件开发通过采用商业假设驱动实验、迭代产品发布和验证学习组合来实现产品开发周期的缩短并发现创意构思是否可行。
敏捷开发适应于市场变化以及客户的多样需求。