吐泡泡的阿呆 android Dev Engineer

【笔记】敏捷开发scrum和jira实践

2020-06-30
adai

敏捷开发scrum和jira实践

一、前言

之前对敏捷的概念,一直停留在需求迭代,不断演进。认为只要符合这个就算是敏捷。在读了scrum指南之后,敏捷有了新的理解,故此记录。

二、理论基础

  • 透明性

透明有两方面,一方面是理解一致;另一方面是流程的关键环节公开

  • 检视

检视提供了及时修正偏差的机会,和code review类似,可以看到一定的问题,但是过于频繁就会影响进度。

  • 调整

发现了偏差,就需要有action

scrum指定了检视和调整的4个正式事件:

  • Sprint计划会议
  • 每日Scrum站会
  • Sprint评审会议
  • Sprint回顾会议

三、Scrum团队

  • 产品负责人:负责管理产品列表

  • 开发团队: 负责交付产品「增量」

这里的开发团队不仅仅是技术开发,而是所有对,交付产品『增量』负责的人,这些人包括但不限于业务人员、测试、技术。开发团队不包含子团队。

建议开发团队在小于9人,大于 3人。人太少,没必要scrum;人太多,协调不过来。

  • Scrum Master:scrum管理员,确保所有人正确理解scrum并实施scrum

这是个服务角色。

四、Scrum事件

Sprint

Sprint是Scrum的核心,中文翻译是冲刺。感觉还是很贴切的,工作就是一阶段一阶段的冲刺。我把他理解成工作周期

每个Sprint会产出产品完成增量

Sprint的时间一般都是小于一个月的,长了容易导致变更和风险不可控。

取消Sprint会有重大的资源浪费,应该避免。

sprint会产出产品增量

增量 : 我理解为一个周期内交付的一个或多个完成的功能或版本。

Sprint包含以下事件:

Spritn 计划会议

为下个Sprint做计划,和我们的月度产品规划差不多。产出的是Sprint待办列表,其实就是一个产品的规划清单。

计划会议有两项议题:

1、接下来做什么 ? => 产品待办列表

2、这么做? => Sprint待办列表

  • 产品待办列表

  • 产品期望的产出

  • Sprint待办列表

  • 开发团队根据经验和工作量预估的,觉得可以完成实际会处理的清单

每日Scrum站会

每日站会目的是检视工作进展,预测短期工作,适当做出调整

Sprint评审会议

评审会议的目的是检视产品增量,获取反馈,从而调整产品待办列表。本质上可以理解为产品复盘。

Sprint回顾会议

检视团队自身,制定sprint改进计划。这是scrum过程自我改进的一个好机会

五、Scrum工件

  • 产品待办列表

需要完成的一切东西,都可以放在待办列表

  • Spritn待办列表

开发团队对下个「增量」的预测,经过筛选,根据经验认为可完成的的产品待办列表

  • 增量

一个Sprint完成的所有「产品待办列表

然后。。。完了。。。这么点

六、Scrum在jira中实践使用

一般scrum开始会建一个项目

image-20200630175144043

新建项目可以看到一个看板

scrum2

左侧:

Backlog:产品待办列表

Activity sprint:对应当前活动sprint只会有一个

release:指代发布版本

Sprint开始

产品罗列所有产品需求

scrum3

Sprint计划会议

确定好sprint待办列表然后startSprint

scrum4

有些sprint可能包含好几个版本发布

可以通过版本来控制划分需求

scrum5

直接将需求拖到对应版本即可

可以通过Release 和 Activity sprint,分别过滤当前版本需求和当前sprint需求。

scrum6

scrum7

当看板配置中,设置了进度和到期日后,就可以在界面上直接看到每个story需求的开发时间总和,开发进度和到期时间了

scrum9

scrum8

前面说了,透明性是scrum的支柱。所以对人员闲置和项目进度来说人员时间分配是很重要的一环。

tempo插件很好的解决了这个问题,当然页带来了一定的管理成本,需要每个小伙伴配合填写

点击看板左侧的Timesheets 进入项目时间表

scrum10

可以看到小伙伴在项目中的开发时间和计划,当然这里我还没有填。

点击右侧的View in Tempo Timesheets 按钮进入事件表管理

scrum11

可以看到开发成员在项目中的时间花费(数字部分)和计划安排(黄色进度部分)

点击日程表,可以编辑对应排期

scrum12

也可以通过点击右上方蓝色按钮记录工作日志,记录一段时间的开发时间实际花费

scrum13

通过在时间表的左上角筛选项可以查看团队工作安排,成员的工作安排,项目的工作安排

scrum14

通过jira,我们可以清晰的了解当前sprint的项目,团队成员的工作计划,成员在每个项目中的时间安排,项目中的每个过程和产出都可以对团队成员透明可见。很好的解决了团队写作的问题。

当然操作有一定的学习和推广成本,慎用。

实际使用中也有很多并行的scrum项目,也可能有不同的业务团队。可以通过过滤器进行项目过滤,也可以通过模块进行业务划分,还有标签标记等工具。

工具可以在一定程度上解决协作问题,但是我不太认同为了协作而协作过度使用工具。最终还是为了少干重复的事情,减少沟通成本,把更多精力投入到有意义的事情中。

对Scrum的理解

我认为Scrum的敏捷过程是一个 设定目标 -> 完成目标-> 检查调整-> 设定新目标 不断反馈调整的迭代过程。工件就是产品对功能的细分计划。

实际过程中项目大小和并发协作及其复杂,需要不断做出灵活调整。

所有项目管理都有一定的成本,需要谨慎,循序渐进。


Similar Posts

Comments