Scrum 使用絮叨
关于Scrum 的一些絮叨
Scrum 的推行的基础在于全员参与,全员协作,包含Dev, QA(quality assurance) ,BA(Business analyst)以及Supporter team等等。
初衷
这篇文章的写作前提是因为我们团队在推新的release cycle的时候,有产品的同学不能理解这样做的目的,或者说很难接受我们去延长需求发布时间(实际并没有延迟上线时间,第一感官错误……)
现状
1,线上问题层出不穷
2,预计上线时间和实际上线时间不符
3,上线计划混乱,周期混乱(虽然之前定的有,但是基本没有遵循,有需求就会时不时上线)
4,开发转敏捷开发后,Sprint中任务计划频繁被打乱
5,在release之后,不能及时验证全部需求,一旦有问题,版本回归会有问题
6,……
目标
1,为了更加规范产品发布流程
2,保证线上产品的质量
3,提升整个团队的效能。
流程
关于Scrum的流程,我简单描述下之前我们的主要环节。
BA
需求收集
需求整理,过滤,筛选(很重要)
需求分类(任务,可用性问题(bug),性能问题,概念想法(暂时不能实现也需要收集))
评估优先级
详细设计
验收条件
验收方式:(Sprint demo全员参与,在sprint结束之后,又各责任人演示当前sprint实现了哪些需求,是否达到验收标准。Mini demo当开发人员的Story完成之后,拉上相关QA&BA,进行小范围功能验收,此流程可贯穿在Sprint中。)
Dev
1,Planning meeting获得Story
2,理解需求,代码实现
3,Unit Test编写(第一轮质量验证)(已有计划)
4,提交git(进入Code Review work flow)(正在推进)
5,Code review done/Reject.(正在推进)
6,进入dev环境,由开发来联调各自功能是否ok(第二轮质量验证)
7,没有问题,merge code from Dev branch to QA branch
QA
1,后面会添加Automation Testing(第三轮质量保证,保证基本流程或者主要流程每次都不会有问题)
2,Functional testing 验证QA branch(第四轮质量验证)
3,Integration testing (第五轮质量验证)
测试为了保证系统基础功能的稳定性,必须编写一套UAT cases(User acceptance testing), UAT case必须在每次release甚至于每次build都需要自动验证(需要添加到automation testing 流程中),UAT case需要根据系统功能的变化进行持续升级。
因为我们目前在现有系统中存在太多的技术债(所谓技术债,指的是在项目前期一味的追求进度而忽视质量造成的欠债),如果整体去修改工作量会过大,我们的经验是在每个Sprint中预留20%-30%的buffer去做修复工作。
这个时候我们的系统中会有三套环境:
Dev & QA & Live(production)
如果预算充足,我们是需要一套stage 环境。stage环境从配置和硬件设备基本和Live环境一致,从而使一小部分用户进行新功能试用,以达到我们最终的全面上线的目的。
Of course,Dev & QA完全分离,对于目前我们来说暂时够用,前提是绝对的物理分离,从数据库到业务代码!(很抱歉,目前我们没有此环节,我正在努力推进!)
经过上述五轮的质量保证,我们就能基本排除线上因开发或者测试的覆盖率不足造成的问题,环境问题不能绝对避免。
看起来上述的内容彷佛和我们的重点:release cycle没有关系?
其实不然,周期为一周的时候,很多需求我们是在一个sprint中测试不完全,仓促上线,会造成线上问题。
1,所谓每一个Sprint,基本要求就是Sprint中所有需求可以完全开发+测试结束并且可以达到上线要求。(目前不满足)
2,当前一周的任务可以release出去吗?从看到的结果,并不是这样,后期这部分会整理出数据来支撑此结论(目前不满足)
按照我们目前的需求以及上线频率来看,修改release周期为2周一次,Sprint 周期也定为2周一次,可以完全cover我们的现状。并且能更好的提升工作质量以及的 deliver 更多的工作量。
为什么敢这么说?使用了Scrum之后,后端团队的提升体现
1,个人工作目标更加明确
2,在交付环节比过去按时并且质量大幅提升
3,规范的方式,大家的积极性更高,产出更高
4,不会被临时穿插的需求打乱自己的工作计划,效率更高,产出更高
5,每个人目前都感觉到节奏感强,工作更充实,更有动力,产出更高
6,慢即是快(对于产品,需求更加明确,清晰,在code的时候节省了大量时间并且避免踩坑)
所以希望每个同事能去拥抱scrum,它是一个工具,一个让我们更加高效的工具,一个增强我们团队合作的工作,一个可以提升大家的积极性,主观能动性,一个伟大的工具!!
Scrum 使用絮叨的更多相关文章
- [转载]敏捷开发之Scrum扫盲篇
现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述S ...
- 敏捷测试模式之Scrum及其实践
一. 敏捷开发模式简介 敏捷是近年来软件研发领域很火的一个词,采用敏捷开发模式的研发团队是越来越多了,尤其是敏捷模式中的Scrum更是佼佼者大行其道,这表明敏捷模式确有其好处,能给企业带来效率的 ...
- 小谈Scrum敏捷开发流程
一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...
- 软件工程的引入:Scrum开发框架总结
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点如下: 软件工程概念 敏捷开发过程scrum 一.什么是软件工程?请用一句话描述. 软件工程是一门研究性的学科:它用工程化 ...
- 关于Agile Scrum的笔记
Roles: Scrum Master -- advisor but leader, 替Team消除障碍 Product Owner -- 定sprint的交付内容, 优先级 Team -- 干活的, ...
- 每日Scrum站会实践推荐
流程 1.团队在Scrum 白板前集中,推荐围成一个半圆形状. 2.最左边的成员开始讲述昨天/上一次Scrum每日站会后到现在为止,完成了什么任务,只需讲对应的任务就行了,不要讲很长的故事. 3.讲述 ...
- Scrum Meeting 20161205
本周Sprint Master 史少帅 一. 会议概要 作为一个新的sprint的开端,本次scrum meeting总结了每个人过去以来的工作,并明确了下一步的计划,具体如下: 工作总结: · 陈双 ...
- Scrum meeting 记录
本周Scrum Master 侯宇泰 一. 工作完成内容记录 · 陈双: 1. 后端数据库Azure Storage设计 2. Offline 上传Movie信息 3. 主页和配音页面的连接 · 鲍航 ...
- Beta阶段第十次Scrum Meeting
情况简述 BETA阶段第十次Scrum Meeting 敏捷开发起始时间 2017/1/4 00:00 敏捷开发终止时间 2017/1/5 00:00 会议基本内容摘要 deadline到来 参与讨论 ...
随机推荐
- Android零基础入门第33节:Android事件处理概述
原文:Android零基础入门第33节:Android事件处理概述 通过对Android基本组件的学习,也有接触少部分Android的事件处理,比如按钮的点击事件.选框的状态切换事件. 一.Andro ...
- Unity开发概览(HoloLens开发系列)
本文翻译自:Unity development overview 要开始使用Unity创建全息应用,点此安装包含Unity HoloLens技术预览的开发工具.Unity HoloLens技术预览基于 ...
- PE工具列表(看雪学院)
PE编辑工具 Stud_PE v. 2.6.0.5 Stud_PE v.2.6.1.0 (2.61汉化版) PE工具,用来学习PE格式十分方便. LordPE DLX增强版(2008.5.31) ...
- linux 系统中将数据写入文档不能立即保存问题的解决方法
应用场景: 设备跑的是Linux系统,与PC上位机进行通信,上位机可以给Linux发送设备配置信息,Linux将配置信息写入文件中以备设备断电重启时使用. bug现象: 设备正常运行,设备配置信息为A ...
- x64系统的判断和x64下文件和注册表访问的重定向(举例了GetProcAddress后转成函数指针的用法)
判断一个32位应用程序是否运行在x64系统下,可以使用下面的代码: BOOL IsX64System() { BOOL bIsWow64 = FALSE; typedef BOOL (WINAPI * ...
- 这里有123个黑客必备的Python工具!
123个Python渗透测试工具,当然不仅于渗透~ 如果你想参与漏洞研究.逆向工程和渗透,我建议你时候用Python语言.Python已经有很多完善可用的库,我将在这里把他们列出来. 这个清单里的工具 ...
- 【vue系列】Virtual DOM 真的比操作原生 DOM 快吗?
一.前言 网上都说操作真实dom怎么怎么慢,这儿有个例子:http://chrisharrington.github.io/demos/performance/,例子循环2000个随机数组,点击按钮重 ...
- ZooKeeper学习第五期--ZooKeeper管理分布式环境中的数据(转)
转载来源:https://www.cnblogs.com/sunddenly/p/4092654.html 引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它 ...
- Laravel --- Laravel 5.3 队列使用方法
一.设置存储方式 在config/queue.php中查看队列驱动,在.env 设置[QUEUE_DRIVER] 主要介绍数据库驱动 二.数据库驱动 1.修改.env CACHE_DRIVER=fil ...
- 全自动Landsat影像温度反演软件开发
许久没有更新遥感类软件开发了,都有点生疏了,这一次我带来了一个老的算法,新的东西, 为什么这么说呢,我们知道Landat8.Landsat5等影像,单个影像去做温度反演,并没有什么太大的难度, 但是呢 ...