vlambda博客
学习文章列表

软件测试基础之敏捷开发

阅读本文大概需要 3 分钟。

要问当前互联网公司普遍采用的开发模式是什么,毫无疑问那就是敏捷开发,据统计,目前90%的软件开发模式都采用敏捷开发。本文就给大家普及下敏捷开发的整个来龙去脉。


敏捷开发是什么?

百度百科的定义:

敏捷开发(Scrum)以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

这么一大段有点不好理解,可以简单理解为:

适应变化,不断迭代。


为什么要采用敏捷开发,它跟传统的瀑布模式有什么不同?

在传统瀑布模型的开发中,软件开发过程从前到后被分成需求、设计、开发、测试几个固定的阶段,像瀑布一样下来,整个需求都是批量开发、批量测试、批量交付。



这样的模式有以下几个缺点:

  1. 项目的生命周期完成后,最后才能看到项目的成果。

  2. 项目过程中,有效的反馈太少。

  3. 不能够很快的适应客户的需求变更。


首先互联网产品的几大特点:需求变化快。一般都要以用户需求为核心,先初步设计和开发出部分功能,再根据市场和用户的反馈信息,不断调整修正自己的需求和目标。


快速迭代,快速反馈,快速修正。


所以采用敏捷的好处:

早期交付,从而大大降低成本。

及时了解市场需求,降低产品不适用的风险。


一个完整的敏捷开发过程

  1. 产品经理收集需求,形成产品待办列表

  2. 项目团队参与迭代(sprint)计划会,形成迭代任务

  3. 开发团队进行具体的开发任务,每日站会。

  4. 开发团队进行成果演示(迭代评审会),产品经理,市场/高层,项目经理参与

  5. 评审通过,产品上线。评审不通过,再对产品做修改。

  6. 开发团队与项目经理进行迭代回顾会,分析好的地方和需要改进的点。


scrum 开发中的四个会议:

  • 迭代(sprint)计划会:需要做什么,怎么做,什么时间完成。

  • 每日站会:昨天做了什么,有什么风险,今天计划做什么。

  • 迭代(sprint)评审会:大家评审迭代的产出,然后对待办事项做相应调整。

  • 迭代(sprint)回顾会:讨论哪里完成好,哪里需要改进。


Scrum中的三种角色:

  • 产品经理  Product Owner:产品负责人,明确整个产品的需求和定义。

  • 项目经理  Scrum Master:敏捷专家或者敏捷大师,确保Team按照Scrum的方式运行。

  • 开发团队  Dev  Team:研发人员,包括开发、测试、UI等。


敏捷的四个价值观

  1. 个体与交互胜过过程和工具

  2. 可用的软件胜过完备的文档

  3. 客户协作胜过合同谈判

  4. 响应变化胜过遵循计划