图片来源:https://www. tapd .cn/forum/view/36971
这张图片从上向下,五个房间,分别是瀑布模型(waterfall),敏捷开发(agile),看板(KANBAN),SCRUM 和精益软件开发(lean)。
1. 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
2 .敏捷开发(agile):以人为核心、迭代、循序渐进的开发方法。敏捷开发以用户的需求进化为核心,采用迭代按部就班的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分红多个子项目,各个子项目的成果都通过测试,具有可视、可集成和可运行使用的特征。换言記,就是把一个大项目分为多个相互联系,也可独立运行的小项目,分别完成,在此过程当中软件一直处于可以使用状态。
3. 看板(KANBAN):利用看板来管理信息的流程,并配合定量、固定装货容器等方式,而使生产过程中的物料流动顺畅的一种模式。(KANBAN要求把开发中的任务,以 即时贴、可视化软件等等形式表现出来)
4. SCRUM:是一种迭代式增量软件开发过程,通常用于敏捷软件开发。
5.精益软件开发(lean):精益产品开发是一种用于开发产品和服务的方法论,旨在缩短产品开发的周期,并快速发现产品创意构思是否可行;这是通过采用商业假设驱动的实验、迭代产品发布和验证学习的组合来实现的。
瀑布模型这间小屋和其他小屋有着明显的界限之外,其他几种模型就像一座山,有着不可分割的关系,十分密切。这幅图总体上就分为:需求 → 设计 → 制造 → 测试,四个阶段。不同的开发项目需要不同的的模式,要选择合适的模式才能够在生产开发中获得更高的效率。