![55d0483afc4b39b459e1600c9d1f0108.png](https://i-blog.csdnimg.cn/blog_migrate/851d38f8fdfbac0ddd6cf085e749891f.jpeg)
常见的开发模式都有哪些?大家还有印象吗?不记得不要紧,下面的开发模式你可要好好学习下。
要问当前互联网公司普遍采用的开发模式是什么,毫无疑问那就是敏捷开发,据统计,目前90%的软件开发模式都采用敏捷开发。本文就给大家普及下敏捷开发的整个来龙去脉。
敏捷开发是什么?
百度百科的定义:
敏捷开发(Scrum)以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
这么一大段有点不好理解,可以简单理解为:
适应变化,不断迭代。
为什么要采用敏捷开发,它跟传统的瀑布模式有什么不同?
在传统瀑布模型的开发中,软件开发过程从前到后被分成需求、设计、开发、测试几个固定的阶段,像瀑布一样下来,整个需求都是批量开发、批量测试、批量交付。
![88c3675514d525fd61c796e96b802f02.png](https://i-blog.csdnimg.cn/blog_migrate/d7ae06045193df3c7053472524ea8b6b.jpeg)
瀑布模式
这样的模式有以下几个缺点:
- 项目的生命周期完成后,最后才能看到项目的成果。
- 项目过程中,有效的反馈太少。
- 不能够很快的适应客户的需求变更。
首先互联网产品的几大特点:需求变化快。一般都要以用户需求为核心,先初步设计和开发出部分功能,再根据市场和用户的反馈信息,不断调整修正自己的需求和目标。
快速迭代,快速反馈,快速修正。
![bf8f5035100a2840a22f42fe33205ad3.png](https://i-blog.csdnimg.cn/blog_migrate/d2c524f449732f6e35d142f0f55ab6f3.jpeg)
敏捷模式
所以采用敏捷的好处:
早期交付,从而大大降低成本。
及时了解市场需求,降低产品不适用的风险。
一个完整的敏捷开发过程
- 产品经理收集需求,形成产品待办列表
- 项目团队参与迭代(sprint)计划会,形成迭代任务
- 开发团队进行具体的开发任务,每日站会。
- 开发团队进行成果演示(迭代评审会),产品经理,市场/高层,项目经理参与
- 评审通过,产品上线。评审不通过,再对产品做修改。
- 开发团队与项目经理进行迭代回顾会,分析好的地方和需要改进的点。
scrum 开发中的四个会议:
- 迭代(sprint)计划会:需要做什么,怎么做,什么时间完成。
- 每日站会:昨天做了什么,有什么风险,今天计划做什么。
- 迭代(sprint)评审会:大家评审迭代的产出,然后对待办事项做相应调整。
- 迭代(sprint)回顾会:讨论哪里完成好,哪里需要改进。
Scrum中的三种角色:
- 产品经理 Product Owner:产品负责人,明确整个产品的需求和定义。
- 项目经理 Scrum Master:敏捷专家或者敏捷大师,确保Team按照Scrum的方式运行。
- 开发团队 Dev Team:研发人员,包括开发、测试、UI等。
敏捷的四个价值观:
- 个体与交互胜过过程和工具
- 可用的软件胜过完备的文档
- 客户协作胜过合同谈判
- 响应变化胜过遵循计划