Scrum开发的步骤及准备
Scrum敏捷开发的关键字就是增量、迭代,他更重视项目团队之间的现场沟通,不向传统瀑布式开发那样需要万事具备,才开始开发,Scrum在大方向和小故事点确认好了后,团队就可以开动了。
Scrum的团队一般都不大,一Scrum团队人数一般在10人左右,主要角色有:
1.product owner(产品负责人)、scrum master(团队负责人)、scrum
team(开发/测试团队)。
2.Product owner :需求方,提出需求,能对功能流程、业务流程拍板的人。
3.Scrum master :团队负责人,负责解决团队各类问题,领导项目的人。
4,Scrum team :项目执行人员,一般指项目具体开发和测试的人员。
Scrum开发的步骤:
步骤一:头脑风暴
如果product owner对产品需求非常清楚,就可以省略这个步骤;开发遵守“先紧后松”原则,必须先把需求了解清楚;这里product
owner可以召集技术团队/用户群体对其需求进行公开征求意见,最后输出一个产品建议表。
步骤二:product owner对产品建议表进行筛选并做减法,提炼最核心的需求。
在确定了需求后,由scrum master进行输出prd(product requirement
document),这里就和传统的瀑布模式一样了,该有的文档都必须有,必须由scrum master和product
owner确定好需求,包括业务逻辑、功能流程等。
步骤三:工作量估算
把任务量化,包括原型、logo设计、ui设计、前端开发等,尽量把每个工作分解到最小任务量,最小任务量标准为工作小时不能超过16小时,然后估算总体项目时间。
把每个任务都贴在白板上面,白板上分三部分:
(1)to do-待完成(2)in progress-进展中(3)done-完成
步骤四:Sprint
经过讨论后,已经把任务量化到需要具体完成的时间,然后把n个任务按照开发的重要度,组合成n个sprint(冲刺),每次执行一个sprint。
Sprint:每个sprint都是独立的,一般先做主要功能,再到次要功能,再到小功能,最后的sprint一般是修复bugs。)
Sprint:因为任务都被量化了,每天工作了多少小时,完成了多少任务量,通过每天的例会scrum
master就非常清楚,并且在time burn down chart(时间燃尽表)进行表示,我们就可以直观看到任务的进度了,而且是具体到多少小时。
Sprint:在burn down chart里面,不管任务是否按时完成都必须记录。
Bugs:每个sprint都必须测试,尽量大家一起测试,如果太多bugs就开一个sprint来修复bugs。
站会:每天要做的是,要开standing meeting,因为大家的时间都是非常紧张的,一般是站着开的,时间不要长,10分钟左右为宜。会议必问开发团队每个人三个问题:(1)今天做了什么(2)明天打算做什么(3)遇到什么困难
scrum master要解决开发团队的困难,让项目快速进展下去;每周一次周会,product
owner最好在场;每个月一次月会,product owner最好在场,指出产品开发是否在product
owner期待范围内;如此重复下去,直到开发完成。
(时间燃尽表:scrum的精华,通过该表格可以可视化任务的时间进度,从图中可以看到,day1是整个任务的总共时间,每天按照任务完成度更新剩余时间,或者增加时间(例如发现一个技术难点、团队成员请假等要增加开发时间))。
步骤五:评估
product owner和其团队/用户会对产品进行评估,可能还会有各种不满意的地方,不过product
owner要求需要改的地方还是要改的,建立一个bugs sprint,把产品做到product owner最想要为止。
补充说明
SCRUM也有其自身的先天缺点,就是对团队要求高,团队成员有能力且相互信任度高,不会相互推卸责任。
新团队使用该方法,起初会有各种问题,需要多多磨合。
基于JIRA的Scrum的项目管理
准备工作:
1、在上面的第三步时需要做工作拆分及工作量估算,会得到一个类似下面的项目计划表,JIRA的Scrum项目管理也是基于此表
2、团队中所有成员必须已经在JIRA中建立用户,并可以正常登陆
正式JIRA中建立Scrum开发项目
一、建立一个Scrum的BoardsScrum的团队
这是新建好的Boards,同时也建好了项目。
二、开发项目常规管理
1、项目编辑
2、版本开发周期设置
3、添加软件开发的功能模块
4、修改工作流
默认工作流太简单,没有QA等功能,需要重新建立工作流,或者增加一个工作流:
这个流程比较适合Scrum项目使用,大概流程如下:建立好每个故事或子任务后,它们都处于
TO DO状态,团队成员登陆JIRA,可以看到分配给自己的任务,团队成员选择一个优先要做的任务,并把当前任务更改为IN
Progress,如果遇到难题进行不下去了,就把这个任务状态改为Blocked,当哪天又可以解决的时候,再把当前任务状态改为In
Progress,如果任务顺利完成,就把当前任务改成Ready For QA状态,等待进行软件测试,如果测试通过没有问题,QA就把这个任务状态改为DONE,此时这个任务就完成了。如果测试中有问题,QA会重新把任务状态改为IN
PROGRESS状态,并分配处理人为开发者,同时备注问题原因,由开发者处理问题后重新提交Ready
For QA。当整个Sprint都测试通过没问题,这个SPrint就结束了,但如果后来集成测试中还有问题,或者任务有了小的要求修改,相关任务,需要REOPENED,重新开始TO
DO去一个新的循环。
返回项目管理中
三、Scrum敏捷开发设置
1、基本设置完成后,返回可以看到功能已经全部具备,下面开始添加Story、Task了
2、建立大一些的用户故事——Epics
以下设置是需要先在第一个Sprint的Planning Meeting上已经确定了Story和细分的Story
Point 。
3、建立第一个Sprint,并重命名,方便识别
4、建立story(即Scrum开发中所说的Story,如果还有子任务,这个story可以不指定经办人)
选择Stroy输入Estimate(预估天数)及子任务
录完了所有的story后,下面按照计划表录入子任务
指定每个子任务的经办人
如此方法,建立完成所有的子任务
5、开始Sprint
设置第一个Sprint的开始及结束时间
有了活动Sprint,Active Sprint项目才能有内容。
在Active Sprint项目中增加Ready For QA列,用于过程测试动作的显示。
6、设置管理面板(为了方便看到整个项目进度情况及分配 给我的任务,可以根据需要专门定制管理面板)
增加一个新面板,并应用给所有人
通过增加小工具来增加工具
修改及移动已有的小工具
创建完成的面板,在用户一登陆时就会看到这个
项目中的6大功能板块:
一、Backlog(查看Epics-大故事,Task-小故事,Sub-Tasks-故事点。)
二、Active Sprints(查看进行中的Sprint的进展情况:To Do/In Progress/Done)
三、Releases(版本发布情况)
四、报表(各类统计报表)
五、Issues(问题列表)
六、模块(每个模块中的问题数量)
说明:JIRA中可以建立项目的类型(上例是建立Boards时系统自动建立的软件项目,是默认的第一个项目类型)
软件类:
1、Scrum软件开发
2、看板软件开发
3、基本软件开发
业务类:
4、任务管理
5、项目管理
6、过程管理
|