敏捷开发的概念

敏捷开发是一种以人为核心,迭代,循序渐进的开发方法。

为什么说是以人为核心?传统的瀑布模型是以文档驱动的,但是在敏捷中,只写少量的文档,注重的是人与人之间面对面的交流。

什么是迭代?迭代就是把一个很长的开发周期,划分成一个个小的周期,在每个周期的结束都会有可交付的产品,这个我们就叫做迭代。

Scrum是敏捷的一种。(我们公司用的就是Scrum)

Scrum中三大角色:

PO(Product Owner):产品拥有者,主要负责给团队提需求,确定产品的功能,以及验收产品。

Scrum Master:负责整个团队内部的协调工作;保护团队不受外界干扰,保证团队正常运行。

Scrum Team:跨职能团队,负责实现每个迭代的需求。

 

Scrum流程:

1.PO按照优先级列出一个产品需求列表。

2.Scrum Master 与PO以及XXX开预计划会,确定哪些需求是要在接下来一个迭代进行的,哪些需求移到以后的迭代中。

3. Scrum Team开计划会。(1)会上PO给大家讲解每个Stroy(Scrum中把功能划分成很多小功能,一个小功能就叫做一个story)要完成的功能,大家针对这些story有疑问的,可以现场提问,直到没有问题。(2)接下来大家给每个story分别估点,开发估开发的点,测试估测试的点。(3)每个成员各自领取自己的任务

4.迭代开始了。每天上午开站立会,会议控制在15分钟以内,大家站在一起,依次汇报昨天完成了什么,并且计划今天做什么。同时遇到不能解决的问题也可在站立会上提出。汇报完后,走到黑板前把自己所take的story移到燃尽图的相应状态中。

5.迭代演示会议:每个迭代结束的时候,成员需要将这个迭代内完成的story在其他成员面前展示。

6.最后是回顾会,以轮流发言的方式进行,每个人依次总结本次迭代中有哪些优缺点。会议主持人(我们一般是PO)负责记录这些优缺点。如果有需要改进的,具体实施到下个迭代中去解决改进。

 

敏捷测试与传统测试的不同:

1.流程不同:

传统测试中阶段性很明显,需求分析,设计评审,单元测试到集成测试,系统测试等,测试计划,测试设计,测试执行,测试报告等。

而在敏捷测试中,更加强调产品的持续测试,质量的持续反馈,流程更简化,阶段性更模糊。

2.传统测试会比较注重测试计划的制定,但是在敏捷中强调测试的速度和适应性,侧重计划的不断调整以适应需求的快速变化。

3.传统测试中,开发和测试角色分的很清楚。

但是在敏捷中产品质量的把关不只是测试的事,更像是整个项目组的事。比如我们测试人员写完测试用例,用例是需要三方(开发,测试,产品)共同评审确认的,这样更能找出测试人员设计出来的用例的缺失和不足,以便找出产品更多的缺陷。

4.传统测试鼓励自动化测试,但是自动化测试的成功与否对测试没有致命影响。

但是在敏捷测试中,由于发布版本太快,周期太短,必须要有自动化协助测试人员进行回归测试,否则敏捷无法进行。也就是说敏捷测试的基础就是自动化测试。

5.传统测试强调发现的缺陷都要记录下来,方便以后跟踪缺陷,分析缺陷(分析缺陷产生的根本原因,分析这些缺陷中哪些优先级较高需在这个版本上线之前修复,哪些可以遗留到下一版本解决),生成缺陷报告,并且很注重缺陷的处理和跟踪流程。

但在敏捷中,更加强调的是面对面的沟通和交流,并且更注重的是产品本身,更不关注缺陷本身。

6.敏捷中不需要写测试用例,直接是基于用例,基于对需求的理解来完成新功能的验证。即使要写测试用例,只要保证各个功能点被覆盖即可,不必过于详细。

7.传统测试中得等开发把产品开发完毕,才开始测试。但在敏捷中,一旦某块新代码完成,就开始测试,而不是等所有的代码都开发完毕才开始验证。(这其实就相当于我们把一个story划分的特别细)

总结敏捷开发之Scrum的更多相关文章

  1. [转载]敏捷开发之Scrum扫盲篇

    现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP...      为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述S ...

  2. 敏捷开发之Scrum扫盲篇

    现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中 ...

  3. 敏捷开发之Scrum扫盲篇(转)

    转:http://www.cnblogs.com/taven/archive/2010/10/17/1853386.html 现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP.. ...

  4. 敏捷开发之Scrum

    现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中 ...

  5. 转:敏捷开发之Scrum扫盲篇

    现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中 ...

  6. 敏捷开发之Scrum扫盲篇(转)

    现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后于他人,我也开始学习Scrum.今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的语言来描述Scrum中 ...

  7. 【转】敏捷开发之Scrum扫盲篇

    现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中 ...

  8. 敏捷开发之Scrum站立会议

    Scrum是迭代式增量软件开发过程,通常用于敏捷开发.站立会议通常指Scrun方法中的每日站立会议.顾名思义,是每天以站姿的方式召开的会议.以下从功能及要点方面对其进行解释说明: 功能:     1. ...

  9. 敏捷开发之scrum模型

    什么是敏捷开发? 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法. 怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它 ...

随机推荐

  1. STM32Cube在Main里判断USB是否已连接到电脑

    首先添加这两个Includes: #include "usbd_def.h" #include "usbd_hid.h" 然后就可以在代码里用这个来判断是否有连 ...

  2. vertica 中位数函数 MEDIAN 的使用

    中位数函数:MEDIAN 使用表达式:MEDIAN ( expression ) OVER ( [ window‑partition‑clause ] ) 准备测试数据: ), name ), sal ...

  3. ThinkPHP连接Oracle数据库的详细教程

    一. 操作环境搭建 系统:Windows7 旗舰版 64位PHP环境:wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24 32位版ThinkPHP:3.0正 ...

  4. 【MySQL】binlog2sql

    binlog2sql 1.安装 shell> git clone https://github.com/danfengcao/binlog2sql.git && cd binlo ...

  5. freemarker模板文件的4个组成部分

    FreeMarker模板文件主要由以下4个部分组成:1.文本,直接输出的部分.2.注释,即<#–…–>格式不会输出.3.插值(Interpolation):即${..}或者#{..}格式的 ...

  6. Ubuntu19 安装 pylearn2

    环境: /etc/issue # Ubuntu 19.10 \n \l python -V # Python 其中,python环境是我自己建立的虚拟 venv 方便测试( 相当于你的python 实 ...

  7. 初次用R的实际案例数据分析

    这是一次教授布置的期末作业,也是书籍<商务数据分析与应用>的一个课后作业 目录 数据描述 数据预处理 描述性统计分析 模型分析(方差分析) 数据描述 非学位职业培训机构的178个学员的数据 ...

  8. 另一种缓存,Spring Boot 整合 Ehcache

    用惯了 Redis ,很多人已经忘记了还有另一个缓存方案 Ehcache ,是的,在 Redis 一统江湖的时代,Ehcache 渐渐有点没落了,不过,我们还是有必要了解下 Ehcache ,在有的场 ...

  9. [個人紀錄] RabbitMQ安裝

    參考資料 https://blog.csdn.net/tjcyjd/article/details/77150893 https://blog.csdn.net/u014308482/article/ ...

  10. python 函数式编程 闭包,返回一个函数

    参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017434209254976 作业 #使用生成器 def createCounter( ...