开始第一个Jira项目

本节介绍如何在采用 Scrum 敏捷开发的项目中使用 Jira 进行项目管理。

Scrum敏捷开发中的主要流程和活动

Scrum 敏捷开发中的主要流程和活动如图 3-19 所示。持续地维护产品的需求到产品 Backlog 中,根据产品需求、市场和团队等情况制订版本的计划,再根据版本计划,把产品研发过程分为多个 Sprint,迭代开发和交付可使用的产品给客户。在每个 Sprint 中,依次召开 Sprint 计划会议(sprint planning meeting)、每日站会(daily standup meeting)、Sprint 评审会议(sprint review meeting)、Sprint 回顾会议(sprint retrospective meeting),团队先制订 Sprint 目标和计划,然后在执行过程中不断更新状态并及时调整,在 Sprint 评审会议上对需求的完成情况进行演示和验收,最后在 Spring 回顾会议上对 Sprint 进行总结,并根据反馈持续改进。持续多个 Sprint 后,发布版本,完成项目。

image 2023 11 17 16 12 13 068
Figure 1. 图3-19 Scrum 敏捷开发中的主要流程和活动

接下来,我们新建一个 Jira 项目 “项目A”,演示在敏捷开发的主要流程和活动中,Jira 如何帮助我们进行项目管理。

记录需求

PO(Product Owner,产品负责人)首先需要把产品需求用 “故事” 的形式记录到 Jira 的 Backlog 中。每个故事都建议填写 “描述” 和 “优先级”,为后面的 Backlog 管理和 Sprint 计划提供充足的信息。产品需求除了可以使用 “故事” 来记录,还可以使用 Epic 问题类型进行记录。Epic 可以很好地对用户故事/任务进行组织和概括,便于与用户、组织管理者等项目干系人进行沟通交流。

故事的描述需要按照 “作为一个<角色>,我想要<功能>,以便于<商业价值>”的格式记录,体现故事的3个要素——角色、功能、商业价值。

预估故事点是对故事工作量的估计,通常采用一个大家都熟悉的功能作为基准,以此功能来衡量其他故事的工作量。故事点采用斐波那契数列:0、0.5、1、2、3、5、8、13、20、40、100。

管理Backlog

PO 在把产品需求记录到 Epic 和故事以后,需要持续地根据用户和市场的反馈对故事的优先级进行调整,并且按故事的优先级从高到低在 Backlog 中拖曳故事,如图 3-20 所示。Scrum team 将从 Backlog 中按顺序提取故事进行研发和交付。

image 2023 11 17 16 16 11 282
Figure 2. 图3-20 管理Backlog

版本管理

PO 根据产品需求、市场和团队的情况,制订发布版本的计划,例如准备在什么时间,优先完成哪些功能,后续版本依次完成哪些功能,发布周期是多久等。在 Jira中,可以把版本计划记录下来,如图 3-21 所示。而且可以把版本和相关的故事、缺陷等关联起来,如图 3-22 所示。

image 2023 11 17 16 17 56 707
Figure 3. 图3-21 版本管理
image 2023 11 17 16 18 26 085
Figure 4. 图3-22 版本关联问题项

版本管理需要项目管理员权限,如果无法添加版本,请检查是否拥有相关权限。关于权限配置,请参考4.7节的相关内容。

启动迭代

准备好 Backlog 之后,Scrum 团队将开启迭代。在 Sprint 计划会议中,PO向团队依次介绍 Backlog 故事,团队用故事点对故事的工作量进行估算。如果需要更精细地跟踪一个故事,可以把故事进一步分解出子任务(sub task)。团队根据 Sprint 的时长和故事的工作量,结合人力资源的投入情况,对 Sprint 的目标和范围作出承诺。

在 Jira 中单击 “创建冲刺” 创建一个 Sprint,设置开始和结束时间,如图3-23所示。

把团队承诺的故事拖曳到 Sprint 中,单击 “开始冲刺”,如图 3-24 所示。

在 Sprint 开始后,我们可以单击页面左侧导航栏中 “活动的Sprint”,查看当前 Sprint 的情况,如图 3-25 所示。

image 2023 11 17 16 21 35 596
Figure 5. 图3-23 创建Sprint
image 2023 11 17 16 22 02 410
Figure 6. 图3-24 开始冲刺
image 2023 11 17 16 22 40 261
Figure 7. 图3-25 查看当前Sprint的情况

迭代实施

启动迭代后,SM(Scrum Master,敏捷专家)每天需要召开每日站会来快速同步每个人昨日的工作情况、今天的计划和是否有阻碍工作的问题。在召开每日站会前,每个成员先在 “活动的Sprint” 看板中更新所领取的问题(故事、任务、缺陷等)的状态,如图3-26所示,然后使用 Jira 的燃耗图/燃尽图(burn down chart)来跟踪Sprint当前的工作进展,燃耗图可以在左侧导航栏中的 “报告” 页面中找到,如图3-27、图3-28所示。

image 2023 11 17 16 23 57 789
Figure 8. 图3-26 每日更新问题状态
image 2023 11 17 16 24 48 595
Figure 9. 图3-27 燃耗图的位置
image 2023 11 17 16 25 19 171
Figure 10. 图3-28 燃耗图页面

完成迭代

通常在迭代的最后一天召开 Sprint 评审会议,在会上演示当前 Sprint 完成的功能,PO 对故事进行验收,根据验收的结果更新各个问题的状态。SM 在 Jira 中单击 “完成” 来关闭当前 Sprint,如图3-29所示。如果 Sprint 有未完成的问题,可以将其移回到 Backlog 中,或者移动到下一个 Sprint 中继续完成。

image 2023 11 17 16 26 50 268
Figure 11. 图3-29 完成冲刺

在完成迭代后,Jira 将自动跳转到 Sprint 报告页面,展示已完成的 Sprint 的整体情况、燃耗图、完成和未完成的问题列表等信息,如图3-30所示。

image 2023 11 17 16 27 40 036
Figure 12. 图3-30 Sprint报告页面

迭代的最后一个会议是 Sprint 回顾会议,回顾当前 Sprint 中做得好的地方、存在的问题和需要改进的地方,包括流程、团队协作、工作效率、产品质量、工具等,并且把大家提出的改进措施在后续的 Sprint 中实施,不断优化,持续改进。

发布版本

按照产品的版本计划,在顺利完成多个 Sprint 开发,并达到该版本所要求的各项功能和验收指标后,进行版本发布。首先在 Jira 左侧导航栏中单击 “发布版本”。然后找到要发布的版本。接着检查版本进度是否达到发布标准,在 “操作” 下拉菜单中单击 “发布”,如图3-31所示。最后在弹出的对话框中输入发布日期,单击 “发布” 按钮进行版本发布,如图3-32所示。

image 2023 11 17 16 29 22 957
Figure 13. 图3-31 选择待发布的版本
image 2023 11 17 16 29 57 316
Figure 14. 图3-32 发布版本

我们可以在 Jira 报告中打开“版本报告”来回顾当前版本中所有问题的进展和完成的故事点统计,如图3-33所示。

image 2023 11 17 16 30 48 037
Figure 15. 图3-33 版本报告

本章小结

本章我们创建了一个 Jira 项目,在这个过程中熟悉了项目的创建、项目成员的管理、各类基本问题的使用与解决方式。我们了解了使用 Jira 管理一个采用 Scrum 流程的项目完成版本发布的全过程,从产品需求收集,到制订版本计划、启动迭代,再到完成版本的发布。

至此,我们对 Jira 的基本功能有了整体的了解,第二部分将对 Jira 的高级功能和高级定制进行专项介绍。