一文学会敏捷模型在主流互联网公司的实际应用

分享干货,拒绝水货;没有华丽的词藻,只有平实的语言;没有虚头八脑,只有真枪实弹;全程原创,一字一码;乐搏学院老司机带你一起飞。。。

"敏捷“,英文名字Agile,意为快速、快捷。是目前的主流公司的开发首选模型

敏捷是处理事情的一套方法论,Agile也是如此,举个简单的例子,Agile就如同我们开发中的一个接口,接口的意义在于只是定义一些规范,告诉你应该做哪些事,什么流程,但具体怎么做,没有一个具体的定论。具体的开展实现是由实现类来做的,下图展示了Agile“接口”及其众多的“实现类”:
一文学会敏捷模型在主流互联网公司的实际应用_第1张图片
先来大概了解一下Agle:
一文学会敏捷模型在主流互联网公司的实际应用_第2张图片
划重点来了 - 对上图做个简单的解释:
以人为本 - 在Agile中,强调“人”的重要,要充分相信项目组里的每个人有能力做好每项工作,领导应该尽少的参与项目具体安排;有国外敏捷专家做过专门的实验,实验分为二组,分别让参与者以尽快的速度通过二排排列杂乱无章排放的椅子中间的通道。

第一组情况 - 让一个员工蒙上眼睛,让老板在一旁指挥他(她)向前、向后、向左、向右,最后顺利通过通道。最后用时5:30:22

第二组情况 - 让一个员工(不蒙眼睛),自行按着通道通过。最后用时2:20:12,二者几乎时间相差一倍。而且在有领导指挥的情况下,出现了双方互相抱怨的情况,员工说有领导束缚太累;领导说,看我容易吗,又得管理公司还得指导员工等。

最后专家解释,如果想快速促成一件事,要充分做到以“人”为本,充分信任自己的员工(当然这个信任也是有条件的)。

快速响应变化 - 在Agile中,核心之一就是对快速变化的应对。想想在软件项目中,什么最容易变化,首当其冲的就是需求(这玩意让多少人得了抑郁症了),如果能快速应对,快速解决,不至于到后期再因为需求等的变化而耗费太多的人力与物力了。
一文学会敏捷模型在主流互联网公司的实际应用_第3张图片
划重点:
1、Agile中强调的是沟通,所以人与人的交互相当重要(要学会有效沟通哦!!)
2、Agile强调的是交付用户的的阶段性(或整个)产品一定是可用的,所以每个阶段的产出都必须是一个让用户可用,可体验的产品;且(重点),在敏捷项目中,看不到如传统开发模型中的详细文档,甚至在很多大厂中都不可能有多少文档(这一点小伙伴们要适应,在敏捷团队中,找产品要详细的需求文档、找开发要详细的接口文档时,很可能会让你失望到怀疑人生)。

Agille就了解到此。

开始“Scrum”:
在Agile的众多实现方法中,目前最流行的当属“Scrum”,以至于在很多公司一提敏捷,默认就是指Scrum。

以下也是以Scrum为模型来详细开展,但不以书面化的语言来空洞的讲解,全部以个人的公司实践得来的真知,大家先知道,Scrum是Agile的一个实现方式, 一种迭代增量式的开发过程

解剖Scrum:
一文学会敏捷模型在主流互联网公司的实际应用_第4张图片
一般的Scrum团队中都有这三个角色,具体扮演这三个角色的人由公司和项目来决定的。大很多公司中,并没有专门设置Scrum Master一角,而一般是开发的Leader来承担的。
Scrum团队其实是包括开发、测试和产品,只是产品的主要任务是和需求相关的。
一文学会敏捷模型在主流互联网公司的实际应用_第5张图片
Backlog:产品的任务列表。在需求确定后,会由整个Scrum团队参与对需求的评审。之后,对需求进行功能的拆分,以不同的阶段来做产品(一般此过程不需要测试团队参与,但,由项目来定的)。
任务划分完成后,形成任务列表,即,Backlog List,之后将Backlog录入管理系统中,一般为Jira(Jira的使用详细介绍将在其它文章中介绍)。

Backlog中可能包含:Epic、User Story、Task、Sub-task(关于这些名词后边会有专门的解释)

Sprint:由于Scrum中,是分阶段以完成不同的任务,产出可用的产品给用户,所以在一个任务列表比较庞大的项目中,会对Backlog进行优先级的划分与排序,以确定先完成哪部分功能。在确定了Backlog的优秀级之后,就可先选出一部分核心的、优先级高的Backlog先进行开发,以最快的速度交付用户一个阶段性产品。这些Backlog就形成了一个Sprint。一个Sprint中会包含多个Epic、User Story、Task、Sub-task

Working Software:每个阶段的产品(即一个Sprint完成后)都必须是一个Working Software。
一文学会敏捷模型在主流互联网公司的实际应用_第6张图片
Scrum团队中的会议那是相当多的,以上只是通用的,重要的会议。
Backlog梳理会议:是对需求进行划分形成Backlog及对Backlog进行优先级排序的会议,一般需要多次会议才能确定。

Sprint计划会议:确定Sprint,及对当前Sprint中具体Backlog进行人员分配和任务排期的会议。该会议一般是整个Scrum团队都参与的。在这些会议是会明确当前Sprint的意义、人员安排及任务的排期。
重点来说一下任务的排期。排期是比较耗时和麻烦的事,有时会几次会议才能确定,排期决定了当次Sprint的开始和结束时间,决定了是否能在确定的时间可以交付用户使用的产品的关键。

题外话:
在排期会议上是硝烟味最浓的时候,开发、测试、产品会“打”成一片的。如果没参与过Scrum过程的童鞋不要被我吓到,可不是真刀真枪的干的哦。因为谁都想让自己的时间富余一些,但项目的周期是越短越好(老板最爱。。。)。

Daily Meeting:就是大名鼎鼎的“每日站会”。在Scrum刚流行到中国这片土地的时候,Daily Meeting可以是说是敏捷的标志。如果你的团队没有Daily Meeting,都不好意思说在做Scrum。

重点:
1、每个工作日都进行,时间一般是早上上班团队人员到齐后进行(也可定其它时间);
2、时长一般在10 - 15分钟(这个需要根据团队规模来定)
3、内容包括,昨天完成的工作;今日的工作安排;有什么问题需要解决;

切记: Daily Meeting只是让相关人员都知道自己的工作状况,此会议上不是讨论问题和解决问题的时候,有问题可以会后找相关人员讨论解决(之所以说切记,防止自己在站会上收不住嘴,因为这事干仗也是常有的事,重压之下,时间就是生命,不要在这个会议上浪费不相关人员的时间,有点不道德哦)。
Sprint回顾:每个Sprint完成之后,要进行复盘。主要是分析一下已完成Sprint的经验总结;解决了哪些问题;遗留了哪些问题,有什么风险;有哪些由于没有完成的任务被顺延的等等。

PS:关于项目排期
1、项目排期时所有的Srum团队成员全部参与的。测试人员的排期项一般包括:用例编写(根据实际负责的模块来定工作量);用例评审(Scrum中一个特点,用例数量会相比传统模型大大缩水,且一般不会太详细的设计,评审前记得提前定会议室哦);冒烟测试全功能测试回归测试(一般在回归测试中包括了在测试过程中发现Bug、解决Bug、验证Bug修复所需的时间);
2、在一般的项目排期时,每一个任务的工作量不超过2小时,如果工作量要超过2小时完成,则需要拆分成Sub-task保证每个任务的工作量控制在2小时内。
3、一般项目组的Srum管理工具为Jira。排期结果会录入Jira,包括开始时间和结束时间。然后开始Sprint。每一个任务按时完成后,切记在Jira中标记结果和结束时间,否则会影响KPI的啊,大哥,可是真金白银的哦!对于没有能按时完成的任务,需要首先和项目负责人说明延时的原因,且在Jira中说明不能完成的原因和预计结束的时间。

日常迭代和项目迭代
一般在项目中的黑话,小Sprint和大Sprint,对应到迭代就是日常迭代和项目迭代。
日常迭代,一般是每周都要进行的,会在每周选定的固定时间迭代。日常迭代中主要包括,线上产品的优化、开发或测试环境的搭建或优化、修复的Bug、对产品功能或用户体验等方面的建议。

项目迭代,项目迭代是指一个Sprint完成后的一次迭代。周期由于不同的公司和不同的项目组而异;

项目上线注意事项
上线前,最好做最后一次快速验证,走一遍项目的主流程,保证在测试环境中不存在问题。
上线前要全程守候,且和开发人员沟通好上线失败的回滚流程是否做好。
上线后,要快速做一次主流程的回归测试,一般选择冒烟测试用例即可。如果上线失败,按之前计划的回滚流程进行回滚操作。

一些名词及解释:
一文学会敏捷模型在主流互联网公司的实际应用_第7张图片
例子:
一文学会敏捷模型在主流互联网公司的实际应用_第8张图片
在这里插入图片描述
乐搏学院软件测试技术交流群: 523227472
乐搏学院官网地址:www.17lebo.com

你可能感兴趣的:(软件测试,自动化测试,敏捷开发测试,软件测试,敏捷测试,Agile,Scrum)