Scrum敏捷开发模式
前言
我的个人博客
最近报名参加了微信小程序应用开发赛,也是作为走向职场前的一次锻炼,为了模拟企业开发的流程,我们团队决定使用敏捷开发模式来管理项目。这篇文章,是对在近些天来网上学习到的Scrum敏捷开发模式的总结。
软件开发过程
一个完整的软件开发过程一般包括图中五个阶段,分为需求、设计、编码、测试、维护五个阶段。对于不同的软件系统,可以采用不同的开发模型,并由此产生了不同的。常见的软件开发模型,可以参考以下链接。
敏捷开发模型(Agile-Development-Model)
敏捷开发的概念
敏捷开发是一种以用户的需求进化为核心,采用迭代、循序渐进的方法开发的方法。
敏捷开发的方法有很多,包括Scrum、极限编程、功能驱动开发以及统一过程(RUP)等,IT开发中,最常用的是Scrum(迭代式增量软件开发过程)。
Scrum(迭代式增量软件开发过程)
Scrum特点
将一个大的项目分为多个互相联系或者独立运行的子项目,围绕最小化可行产品的特性进行产品规划,并且分别完成。每个子项目都经历规划(Plan)、开发(Build)、测试(Test)、评审(Revidw)四个阶段,这四个过程合称为一个迭代(Sprint),通常一个迭代需要一到三个星期。
增量交付,迭代式开发,在一次次迭代汇中,完善产品的功能,并能够持续发布,强调适应性,并非瀑布模型中的预见性。
在此过程中,主体软件要处于随时可发布,可交付给用户的状态。
Scrum四元素
- 迭代
- 团队
- 会议
- 工件
一、迭代
将一个大的项目分为多个互相联系或者独立运行的子项目,围绕最小化可行产品的特性进行产品规划,并且分别完成。每个子项目都经历规划(Plan)、开发(Build)、测试(Test)、评审(Revidw)四个阶段,这四个过程合称为一个迭代(Sprint),通常一个迭代需要一到三个星期。
二、团队
1.PO——产品或业务负责人(Product Ower):
类似于产品 经理,确定产品的方向和愿景,发布和需求的优先级。
2.SM——敏捷教练(Scrum Master):
熟悉敏捷开发模式和流程,团队负责人。
3.交付团队
设计、产品、开发、测试、运维人员
三、会议
1、迭代计划会(Sprint Planning Meeeting)
在迭代之初,由产品负责人(PO)讲解需求,并由开发团队进行估算的会议。
2、每日立会(Daily Scrum Meeeting)
团队每天进行沟通的内部短会,用于同步信息,尽早发现风险。
团队负责人发布任务。开发团队,可以通过类似以下的任务展板领取任务。
从昨天的立会到现场,我完成什么?从现在到明天的立会,我计划完成什么。有什么阻碍我的进展。
3、迭代评审会(Sprint Review Meeeting)
向客户或者其他利益干系会展示,获取客户反馈
4、迭代回顾会(Sprint Retrospective Meeeting)
每个迭代后总结开发中经验和教训,进行持续改进。一般会进行定量和定性分析。
(1)定量分析:是否完成目标?
迭代速率、迭代燃起燃尽图、迭代计划故事和实际完成故事、计划发布日期与实际发布日期、客户满意度、团队满意度、生产环境Bug数、生成Bug解决时间、用户故事。
(2)定性分析
哪些做得好的保持,哪些坏的要丢弃
四、工件
用户故事(User Stories):一种表达产品需求的语言格式。产品经理通过用户故事了解用户需求细节,为团队合理制定任务的优先级。
产品需求列表(Prodcut Backlog):汇集用户需求的列表,产品经理会从众多用户故事中筛选出优先项,并把他们列入产品待办列表中。
迭代需求列表(Sprint Backlog):单个迭代要做的需求列表,一次迭代中往往选取当前优先级最高并经过讨论的用户故事,剩下的继续评估,交给下次迭代。
燃尽图(Burundown Chart):用以展示整个Sprint待办列表的进度。当燃尽图曲线接近于0时,也就意味着这次迭代即将完工。
Scrum具体开发流程
文字描述
- 第一阶段:首先产品经理(产品团队)把需要上线的产品特性做成产品需求列表(Prodcut Backlog),由产品经理(产品团队)基于产品整体战略、目标、业务价值、实现难度等因素甄选出优先级最高的项目,交个整个团队进行讨论。
- 第二阶段:召开迭代规划会议,研发团队、产品经理和开发团队负责人(Scrum Master)讨论用户故事的优先项,且决定本次次迭代要研发的需求项。并由开发团队负责人开展可行性评估和工时评估,确定迭代的需求排期,形成迭代需求列表(Sprint Backlog)。
- 第三阶段:会议结束后,团队中的每个成员需要对每个用户故事有深刻的理解。团队负责人根据需求拆分相应的子任务,分配相应的开发成员执行,并评估相应的工时。
- 第四阶段:研发团队要在一到三周的时间里开发完成迭代需求列表中的需求,在迭代中,每日站会用于团队来交流他们做完了什么,正在做什么,以及遇到的问题,及早发现风险。
- 第五阶段:每次迭代的产出都是一个可以发布的产品版本,在迭代结束前,会进行迭代评审会(Sprint Review Meeeting),由研发团队向产品经理做案例演示并接受评价。产研团队根据整个迭代需求的完成情况和缺陷处理情况,最终决定整个产品是否上线,也可以在发布前增加新功能。确认上线后,由运维进行上线环境部署,正式上线。
- 第六阶段:在迭代结束时,产品和开发会举行迭代回顾会(Sprint Retrospective Meeeting),团队一起思考工作中可以改进的地方,制定改进措施。每次迭代都需要进行这样的会议,来不断改进产品的质量。
- 最后,产品团队在产品功能上线后,持续收集用户的反馈,分析数据形成新的用户故事,进入下一次迭代。
总览图
PS:平时写代码如何通过测试并入库?需求如何完成?
首先,测试团队会根据产品需求文档,进行进行测试用例撰写工作和开发工作同步进行。 开发人员开发完成自己的需求任务之后,使用测试团队写好的测试用例进行自测(跑各种静态检查、复杂度、测试用例、功能测试等),自测通过转移给测试,自测不通过,自行修复,直到通过再转给测试。
测试团队再次进行测试, 发现Bug则建立缺陷,将缺陷关联到相应的需求任务上,并指定个相应的开发者进行修复。
测试完成后,提交代码。触发CI(持续集成)流程。跑完流程后,进入代码评审,通过后,才能入库。
参考链接
teambition敏捷研发讲解。
Scrum敏捷开发模式相关推荐
- Leangoo大讲堂:免费Scrum敏捷开发实战—武汉站
活动信息: 授课时间:2016年5月21日 下午 14:00 – 17:30 (13:30签到) 授课地点:武汉市洪山区民族大道一号光谷资本大厦二楼培训中心 人数限制:150人(企业报名每家限制3人以 ...
- leangoo大讲堂:scrum敏捷开发实战——深圳站
授课时间:2016年4月23日 下午 14:00 – 17:30 (13:30签到) 授课地点:深圳软件园,南山区科技中二路深圳软件园二期14号楼三楼大厅 人数限制:150人,企业报名的每家限制为3人 ...
- 从瀑布开发模式到敏捷开发模式(scrum)的思路转换
部门推广scrum敏捷开发已经小半年了.团队也从不适应.慢慢地开始变的习惯.之前领导安排我作为我们组的scrum master.因为从来没有做过leader.然后直接之前也没有接触过scrum.更是非 ...
- 纯国产敏捷项目管理软件,可基于scrum敏捷开发落地
Leangoo简介 国产项目管理软件Leangoo领歌,www.leangoo.com 轻量,简洁,直观,专业的敏捷项目协作平台,看板式的管理方式,列表.泳道的多维度,直观透明的特点来呈现敏捷团队的 ...
- 敏捷开发模式下如何更好的进行测试
最近CTO组建了一个敏捷开发团队,团队人员包括 PM.设计.开发.测试角色,主要由PM来主导团队走向,因为以前并没有参加过敏捷开发的经验,对敏捷开发做了简单理解后,参考了前人的一些意见,总结出在 敏 ...
- 敏捷开发系列学习总结(11)——Scrum敏捷开发流程的三个角色、四个会议和三个物件
Scrum敏捷开发流程主要包扩三个角色.四个会议和个三物件. 三个角色 Scrum团队中包括三个角色,他们分别是产品负责人.开发团队和 项目的直接管理者(Scrum Master). Scrum 团队 ...
- 敏捷开发模式 与 TDD 的思考总结
"你有了解哪些开发模式?" "你了解的这几种模式有哪些不同" "测试方法与目的是什么?" 带着这些问题,我们来看看Agile 中的Scrum ...
- 网上商城代码实现_中国中铁网上商城转型敏捷开发模式,实现快速反应、快速迭代...
△北研中心的同事给业务部门演示迭代成果中国中铁网上商城成功转型敏捷开发模式,实现快速反应.快速迭代.切实解决公司内部以及合作方的业务需求,更好服务多样化的客户群体.经历了两次每2周为一迭代的短期快速开 ...
- Scrum敏捷开发看板工具分享
在找适合我们团队的协作工具的时候,我们也是费了好大一把劲- 一款好的看板协作工具在团队协作和项目管理中起着非常大的作用,但是我们要的不仅仅是看板,还有要满足企业管理者的需求, 要求是: 1. 看板式并 ...
- Leangoo看板标签的用法(scrum敏捷开发)
什么是Leangoo(领歌) Leangoo(中文名:领歌)是一款基于看板的项目管理工具. 我们可以使用Leangoo管理项目需求.任务.或者是问题和文档,随时跟踪团队工作进展. Leangoo看板工 ...
最新文章
- d010:盈数、亏数和完全数
- 原来CASTLE RC2 还不支持IBATIS 1.6,郁闷了很久
- 魔兽世界工程学技能1-375冲级攻略
- P3-weixin-2.0.0版本发布(微信插件式开发框架)
- nginx+uwsgi 部署
- 用vue.js学习es6(四):Symbol类型
- 数据库建表操作SQL代码大全
- 【C】狐狸找兔子问题
- 神威太湖之光之超级计算机,中国研发的“神威·太湖之光”,超级计算机能给我们带来什么?...
- 基于MATLAB的三重积分与曲线积分
- 阿里10年:一个普通技术人的成长之路
- unity3d好学吗?
- 从零开始写Python爬虫 --- 1.5 爬虫实践: 笔趣阁小说批量下载
- uva1601(The morning after Helloween)解题报告
- JavaScript-学习笔记一
- 我的第一篇 实习报告
- 逐帧绘制毕达哥拉斯树
- c++知识点总结--共用体--枚举
- 5.UI线程和非UI线程的交互方式
- 认识方程式、函数、坐标图形