SCRUM敏捷开发教程

article/2025/8/27 19:49:00

大家好,我是煎饼哥,本期向大家介绍一个关于敏捷开发的方法,叫做scrum,相信资深的产品经理都接触过类似的项目管理方法。

  scrum敏捷开发,是一个美国统计学教授记录了多年工作经验,总结出来的一套简单易懂的开发方法,我接触过不少产品经理,惊奇发现不少产品经理的确是产品把控的非常好,输出的BRD,MRD,PRD等都非常专业,但是却没一套很好的项目管理方法。

  干货分享第一期:10分钟教会你SCRUM敏捷开发 干货第一期微信号:terrydengbin

  scrum 是一种迭代增量软件开发方法,通过该方法,你可以量化工作量,并且可以把每个任务量化成具体时间,得出最后一个项目的总时间(一般估算到小时)。能让管理者看清楚项目进度,把握项目进程的各种问题。scrum简单易用,但是简单的东西要掌握就容易犯错,大家可以在尝试中掌握这种项目管理方法,以下是我做内部培训个人写的scrum ppt教程,抛砖引玉,希望能普及该方法。

  首先欢迎大家关注本公众号,持续会输出原创内容,谢谢。

  (点击图片可以查看大图)

  

  scrum是有效管理未知因素和不断变化的产品需求,结束混乱,着重于如何驱动项目实现最高的投资回报。

  scrum材料准备:一个白板,n张便条纸,一张a4纸打印燃尽表(手绘也可以),一只笔。

  

  在scrum里面,有3种角色,分别是product owner(产品负责人)scrum master(团队负责人)scrum team (开发团队)

  Product owner: 是需求方,提出需求,能对功能流程,业务流程拍板的人。

  Scrum master :团队负责人,一般是product manager,负责解决团队问题,领导项目。

  Scrum team:项目执行人员,开发项目一般包括,前端后端开发,ui等。

  

  Scrum 步骤一:

  头脑风暴,如果product owner 对产品需求非常清楚,就可以省略这个步骤,开发一个原则“先紧后松”, 必须先把需求了解清楚,这里product owner可以召集技术团队/用户群体对其需求进行公开征求意见,最后输出一个产品建议表。

  

  Scrum 步骤二:

  product owner 对产品建议表进行筛选,做减法提炼最核心的需求。在确定了需求后,这个时候由scrum master 进行输出prd (product requirement document) , 这里就和传统的瀑布流一样了,该有的文档都必须有了,必须由scrum master 和product owner 确定好需求,包括业务逻辑,功能流程等。

  前面基本是最耗时间的,product owner和开发团队一来一回好多次。

  

  Scrum 步骤三:

  神马原型,ui设计都不是在步骤二完成的,刚才只是开始,步骤三后面才是scrum的精华部分,把任务量化,包括,原型,logo设计,ui设计,前端开发等。

  尽量把每个工作分解到最小任务量(wbs),最小任务量标准为工作小时不能超过16小时。准备估算总体项目时间吧!

  把每个任务都贴在白板上面,白板上分三部分

  (1)to do待完成

  (2)in progress 进展中

  (3)done 完成。

  

  如何估算时间:玩poker game(扑克游戏)这个方法估算出来的工作时间比较准,参与扑克游戏的最好有专家和开发涉及到的人员(杜绝阿猫阿狗,酱油男等参与)

  扑克游戏玩法:

  (1)每个人发一些便条纸, 针对具体任务,每个人根据经验写出时间(不公开写)

  (2)同时展示该项目完成时间,肯定存在最大最小的工作时间,最大最小两个人请你们辩论吧,为什么要那么长时间完成,或者那么短时间完成,其他人可以提出疑问,在一定程度上达成认可。

  (3)进行再次私下对该任务写时间,再公示,再辩论,这样下去,大家写出来的该任务的时间越来越接近了。

  (4)最后达成一个共同认可的时间,这个就是该任务的工作时间!

  注意事项,如果参与的人不懂该任务流程,参与投票就会影响准确率。

  

  Scrum 步骤四:

  好吧,经过大家纠结讨论了好久,终于把任务量化到具体多少时间完成了!

  恭喜!接下来,把n个任务按照开发的重要度,组合成n个sprint( 冲刺),每次执行一个sprint.

  

  每个sprint 都是独立的,一般先做主要功能,再到次要功能,再到小功能,最后的sprint 一般是修复bugs。

  

  因为任务都被量化了,每天工作了多少小时,完成了多少任务量,通过每天例会scrum master非常清楚,并且在time burn down chart (时间燃尽表)进行表示。我们就可以直观看到任务的进度了,而且是具体到多少小时!

  

  在burn down chart 里面,不管任务是否按时完成都必须记录。

  

  时间燃尽表是scrum的精华,通过该表格可以可视化任务的时间进度,大家可以看下图,day1 是整个任务的总共时间,每天按照任务完成度更新剩余时间,或者增加时间(例如发现一个技术难点,团队成员请假等要增加开发时间)

  

  在白板上面当前sprint 每天肯定都是在变的,scrum master 赶快把每天更新工作量吧!更新后算出剩余时间,就画在burn down chart上。

  

  关于bugs... ...

  每个sprint 都必须测试,尽量大家一起测试吧,如果太多bug就开一个sprint来修复bugs.

  

  每天要做的是,要开standing meeting ,因为大家的时间都是非常紧张的,一般是站着开的,一般10分钟左右.

  

  会议就问开发团队每个人三个问题:

  (1)你今天做了什么

  (2)明天打算做什么

  (3)有没遇到什么困难?

  scrum master 要解决开发团队的困难,让项目快速进展下去。

  每周一次周会,product owner最好在场。 每个月一次月会,product owner最好在场,指出产品开发是否在product owner期待范围内。

  

  好吧, 如此重复下去,直到开发完成!

  Scrum 步骤五:

  最后一个步骤,评估。

  product owner 和其团队/用户会对产品进行评估,可能还会有各种揪心的事,但是product owner是给钱的主,他要改还是要改的,建立一个bugs sprint吧,把产品做到product owner最想要为止!

  

  写在最后的话

  SCRUM也有缺点一直被人诟病,就是对团队要求高,团队成员相互信任度高,团队的人有能力,而且不会相互推搪责任,归根到底对应新团队使用该方法开始是各种问题的!请多多磨合吧!

  

  作者微信:terrydengbin

  最后直接送上干货ppt, keynote, pdf! 编写该教程我是使用了keynote 里面文字少,基本都是动画哦!!有mac的童鞋有福啦,我也转成了ppt格式,动画肯定会损失的,还有pdf可以下载。

  大家关注“今日发现”微信公众号,输入“SCRUM"即可获得下载地址!


http://chatgpt.dhexx.cn/article/XwyVrQBD.shtml

相关文章

Scrum敏捷开发模式

前言 我的个人博客 最近报名参加了微信小程序应用开发赛,也是作为走向职场前的一次锻炼,为了模拟企业开发的流程,我们团队决定使用敏捷开发模式来管理项目。这篇文章,是对在近些天来网上学习到的Scrum敏捷开发模式的总结。 软件…

无向图的邻接表

如何根据无向图画出邻接表呢? 比如: 第一排的v1,与v2和v4相连,因此两个黄色方框内的数字分别代表v2和v4的下标; 第二排的v2,与v1、v3和v5相连,因此三个绿色方框内的数字分别代表v1和v3和v5的…

C++实现的邻接表

1. 在学习图的存储方式中,邻接矩阵和邻接表是两种比较常用的存储图的方式,下面使用的是C语言实现的邻接表 2. 具体的实现过程如下: ① 首先使用结构体声明图的结构体,图中顶点的结构体,以及指向下一条边的结构体&…

图的存储--邻接表

邻接表既适用于存储无向图,也适用于存储有向图。邻接表常用于稀疏图的存储。 邻接表存储图主要在于将图的各顶点建立一个链表,链表记录该顶点的邻接点的在数组的位置。 #define MAX_VERTEX_NUM 10 // 最大顶点数 #define INF 32767 // 不邻接 typedef…

有向图的邻接矩阵、邻接表和逆邻接表

1、如何根据有向图画出邻接矩阵? 如图: v1指向v2和v3,在矩阵中v1指向v2、v3的表示标1。 注意: v1指向v2在矩阵中是用竖列的v1对应横行的v2 2、如何根据有向图画出邻接表呢? 注意: 画有向图的邻接表时…

【数据结构】 图的邻接表

邻接表是图的另一种存储结构(使用链表的思想)。 该方式的基本思路:顶点表后指向邻接表,邻接表中依次为当前顶点的邻接点 准备工作 与邻接矩阵类似,在构造邻接表之前,需要存储各个顶点的信息,…

《数据结构》-图的邻接表表示法(四)

邻接表表示法(链式) 存储定义: 顶点:按编号顺序将顶点数据存储在一维数组中关联同一顶点的边(以顶点为尾的弧):用线性链表存储 无向图的邻接表 例如,如下无向图 则它的邻接表为 无向图邻接表的特点: 邻接表不唯一…

【图】邻接表

目录 无向图的邻接表 链表(存相邻顶点下标)的类 数组里放的顶点 邻接表(操作) 构造和析构(创建销毁邻接表) 插入顶点 插入边 获取下标 插v1、v2之间的边 删除顶点 删除边 输出: 其他…

图的邻接表表示法(C语言)

邻接表 邻接表数据结构类型如下: #define MaxVertices 100 typedef struct node{ //边表 int adjvex;node* next; }EdgeNode; typedef struct{ //顶点表 int vertex; EdgeNode* edgenext; }VertexNode; typedef VertexNode AdjList[MaxVertices];//…

邻接表的创建

邻接表 特点: 1、想要知道某个顶点的度,就去查找这个顶点的边表中结点的个数 2、若想判断顶点 Vi 到 Vj是否存在边,只需测试顶点 Vi 的边表中adjvex是否存在 Vj 的下标。 3、若求顶点的所有邻接点,其实就是对此顶点的边表进行遍历…

邻接表创建

邻接矩阵是个不错的图储存结构,但我们发现,对于边数相对顶点较少的图,这种结构是存在对储存空间的极大浪费的(关于邻接矩阵的相关知识在这里:邻接矩阵的创建),因此我们要考虑另外一种存储结构方…

邻接表和邻接矩阵

进入图论的大门(深渊)之前,我们一定要掌握的两种必备手段——邻接表和邻接矩阵,此刻将成为我们的巨大帮手(其实做不来题还是做不来),下面让我们来学习一下,这两种存图方式在计算机中…

图的邻接矩阵和邻接表的比较

欢迎关注“软件开发理论”公众号获取干货 图的存储结构主要分两种,一种是邻接矩阵,一种是邻接表。 1.邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图…

无向图邻接表实现

无向图邻接表实现 顶点:按照编号顺序将顶点数据存储在一维数组当中 关联同一个顶点的边(以顶点为尾的弧):用线性链表存储 头结点:datafirstarc 表结点:adjvex(邻接点的序号,存放…

邻接矩阵和邻接表

图的存储结构主要分两种,一种是邻接矩阵,一种是邻接表。 1.邻接矩阵 邻接矩阵的存储方式是用两个数组来表示图。一个一维数组储存图中顶点信息,一个二维数组储存图中的边或弧的信息。 无向图 这里右图是把顶点作为矩阵内行和列的标头罗列出…

图--邻接表

邻接表是图结构中的一种存储结构,适用于存储无向图和有向图。 邻接表存储图的实现方式是,给图中的各个顶点独自建立一个链表,用节点存储该顶点,用链表中其他节点存储各自的临界点。 与此同时,为了便于管理这些链表&a…

邻接表的实现(有向邻接表)、(无向邻接表),基于C++

邻接表 邻接矩阵的实现请看这里 是不错的一种图存储结构,但是,对于边数相对顶点较少的图,这种结构存在对存储空间的极大浪费。因此,找到一种数组与链表相结合的存储方法称为邻接表。 邻接表的处理方法是这样的: &a…

邻接表图文详解

在与链表相关的诸多结构中,邻接表是相当重要的一个。它是树与图结构的一般化存储方式, 邻接表可以看成“带有索引数组的多个数据链表”构成的结构集合。在这样的结构中存储的数据被分成若干类,每一类的数据构成一个链表。每一类还有一个代表元…

数据结构 图的邻接表

呃,下面该写邻接表了....... 邻接表的出现是因为图若是稀疏图,用邻接矩阵会造成空间的浪费,毕竟你要开辟一个一维数组和一个二维数组嘛,而且还是大开小用的那种。 邻接表为了避免内存的浪费引入了链式存储,它的处理办…

怎么画邻接表?不用邻接矩阵也能画?

目录 一、有向图的邻接表 二、无向图的邻接表 一、有向图的邻接表 最简单粗暴的方式就是把某个顶点发出的箭头指向的顶点全作为单个结点连接到此顶点的后面。结点数等于边数。 按正常思路的话,是一种递归遍历。 1.选一个点作为出发点。比如选一个v0。 2.从第一出…