瀑布开发模式、敏捷开发模式与DevOps
在大学的计算机课程上面,软件工程的老师一定会向大家讲述的是敏捷开发与瀑布开发。毕业后进入很多大型的公司后。大家面对的基本是瀑布开发模式或者敏捷开发模式,瀑布开发模式大致的结构如下:
核心的思想就是讲软件的生命周期分割为不同的阶段,每个阶段完成不同的任务,而且大多数情况下每一个阶段是由不同的团队完成的。这种开发模式比较适合传统大型软件的开发流程,产品负责人从项目的开始阶段就便于估算,项目开发中的每一个阶段都被预先计划,每一个需求都得到确认,在代码编写之前项目的结束标准就能够确定项目是否成功。这样就保证了项目开发的目的明确性。但是瀑布开发模式的缺点也是明显的,如果项目的任何一个阶段出现问题都可能导致整个项目的问题。从产品经理的角度来讲瀑布流可以提高整个产品的规划,但是对于开发人员来讲通常情况是噩梦一样的存在,特别是当开发人员在多个项目之间共享的情况。
敏捷开发是另种在工作中场景的开发模式,敏捷开发的产生一定程度上解决了瀑布开发模式的弊端,将一个大型的瀑布开发流程切分成了非常多的小的子任务,通过连续迭代的方式一步一步的完成一个大型项目的开发。