敏捷开发的概念

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

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

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

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. Unity Shader 屏幕后效果——景深

    景深效果的原理是,在摄像机的近裁剪平面和远裁剪平面之间可以设置一个焦距,在这个距离所在的平面上的物体最为清晰,而这个距离之前或之后的物体成像是一种模糊状态(根据距离逐渐模糊,最终达到最为模糊的状态). ...

  2. python 进程数据通信

    进程通信的第一种方式from multiprocessing import Process,Queue def f(q): q.put([42,2,'hello']) print('zi q id:' ...

  3. Spring AOP环绕异常影响的报错

    最近遇到一个问题,异常是: java.lang.ClassCastException: org.springframework.http.ResponseEntity cannot be cast t ...

  4. 【maven】pom.xml的exclusions排除依赖传递

    在引用两个有冲突的依赖时,就需要把其中一个的依赖中某个依赖排除掉 exclusions 例如: <dependency> <groupId>org.activiti</g ...

  5. Centos 7搭建Gitlab服务器超详细Centos 7搭建Gitlab服务器超详细(搭建成功)

    一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 注意:用户不 ...

  6. 『kamp 树形dp』

    kamp Description jz 市的云台山是个很美丽的景区,小 x 暑期到云台山打工,他的任务是开景区的大巴. 云台山景区有 N 个景点,这 N 个景点由 N-1 条道路连接而成,我们保证这 ...

  7. AWS云创建EC2与使用注意事项-踩坑记录

    目录 AWS 一 创建 EC2(云服务器) 二.AWS 注意事项 三.AWS 申请 SSL 证书 四. 创建VPC AWS 文章 GitHub 地址: 点我 AWS云服务器价格计算器 AWS WEB ...

  8. 用友U9 刷新当前页面代码

    this.Action.NavigateAction.Refresh(null, true);//刷新当前页

  9. English--音标重难点

    English|音标重难点 在拥有了,音标的元音与辅音的基础之后,需要对于这些音标进行加以区分,毕竟方言对于口型的影响非常的大. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知识点 ...

  10. 将canvas中左上角的原点坐标位置改为左下角

    在使用canvas的时候,原点坐标在左上角,这个很犯人,因为一般的坐标基本都是在左下角,即笛卡尔坐标系,那怎么进行转变呢,在这里用到了canvas的translate,rotate,和scale进行转 ...