诺基亚基于 Jira Data Center 的 Backlog 管理
背景介绍
Nokia MN 是一个拥有接近2万人的产品研发和测试组织。在使用 Jira Data Center 之前,Nokia MN 组织内也使用过多种多样的 Backlog 管理方法以及工具。这些工具里, 简单的有 Excel,也有基于 Sever 的实例 Jira 3, 同时还有各部门自己开发的基于特定需求的 Backlog 管理工具。多种 Backlog 管理方法以及工具的同时使用,导致不同 BU(Business Development)和 DU(Development Unit)甚至于同一 BU/DU 下不同部门之间的软件开发合作呈现出一定的壁垒。
在此背景下,Nokia MN 由 CDS 部门牵头开始了将多种 Backlog 工具向 Jira Data Center 统一的工作。
基于 Jira Data Center 的 Backlog 管理
1. 基于 Jira Data Center 多层结构的 Backlog 管理
工具的使用与流程息息相关。工具本质上就是执行既定的流程,Backlog 管理也一样。Nokia MN 设立了流程和工具变革的项目,并在部署 Jira Data Center 作为 Backlog 管理工具之前,首先进行了统一 Backlog 管理流程的工作。在项目的不同时期,不同的 Backlog 管理流程内容包得以交付并在 Jira Data Center 里进行定制化开发与实现,然后再于所有组织和团队内进行部署。
基于 Jira Data Center 的 Backlog 管理是基于如下层级的方式实现的。经过处理的客户需求导入最高层的 FFB project,然后 FFB 的 Jira issue 被拆分到 FPB Project。Jira issue 在 FPB Project 会以系统,产品和技术分类的区分进行进一步的拆分。当 Backlog Jira issue被拆分到基本的技术分类,它又可以拆分到每一种技术分类对应的独有 Jira Data Center Project。而在技术分类独有的 Jira Data Center issue,其又可以根据工作复杂度细分为 Epic, Story 乃至 Sub task。在技术分类独有的 Jira Data Center project,用户需要在合适的 issue 里填入其对应的 team 信息,以便后续跟踪以及数据报告的统计。
2. Structure 插件,Scrum Board, KanBan 和 Dashboard 的使用
而在具体的操作中,为了更方便地管理 Jira Data Center Backlog 数据,Structure 插件和 Jira 自带的 Scrum Board,KanBan 和 Dashboard 得到广泛使用。
Structure 插件用于查看通过 filter 定义好的包含不同 field 的具体数据。在设置好的 Structure 里,用户可以自定义过滤 issue list,并且能够添加需要的 Jira field,用以查看所需的 Backlog 信息。对于 Jira Structure 的信息,也可以通过多种设置得到所需的查看结果。Structure 使用的例子如下。
ScrumBoard,KanBan 和 Dashboard 在团队的 backlog 管理中也得到了广泛的使用。Scrum Board 对 Scrum team 的多 Sprint 开发进行管理,KanBan 则对处于不同 status 的 Jira issue 进行过滤和管理,而 Dashboard 则给团队提供了定制化所需 backlog 数据图像的手段。
3. Effort(工作量), Status(状态)和 Schedule(计划)聚集
为了方便地自动化获取最新的 Effort(工作量), Status(状态) 和 Schedule(计划)数据,我们开发出针对这三个信息的聚集功能并得到广泛使用。
Effort 聚集 – 从最底层到最高层 Jira item 的 planned effort, remaining effort 和 logged effort 聚集
Status聚集 – 从最底层到最高层 Jira item 的 status 聚集
Schedule 聚集 – 从最底层到最高层 Jira item 的 Start FB 和 End FB 聚集
聚集功能在 Jira Data Center issue 的层级结构中从下至上自动更新 Effort,Status 和 Schedule 的结果,为这些数据于在线报告中自动更新提供了可能。
基于 Power BI 的数据管理
Power BI 是一款由微软公司开发的商业智能产品,是软件服务、应用程序和连接器的集合,可以将不相关的数据源转换成连贯的、视觉沉浸式的、交互式的见解。
Nokia MN 选择通过 Power BI 展现数据报告,Power BI 将 Jira Data Center 中的数据根据需求过滤出来并且以适当的方式呈现在 Power BI 界面中。
在实际工作中,Power BI 报告尽量设计为公共的报告,即最大可能地让更多用户可以使用报告从而避免重复的数据报告设计和开发工作。
Jira Data Center Performance 问题
当用户同时大规模使用 Jira Data Center 的时候,Jira Data Center 的响应时间就会大大增加,有时甚至会慢到无法接受的地步。
比如,在软件开发的某些关键阶段,成百上千人会在同一周差不多时间去更新 Jira Data Center ticket,导致 Jira Data Center 打开特别慢,可能很长时间都打不开。
通过长久的摸索和改进,截至目前,Nokia MN Jira Data Center 的 Performance 已经相对比较稳定。下面几条为尝试过的改进途径,在此分享,供大家参考。
REST API 的控制:严格控制具有写功能的 REST API。
Structure创建权限控制:大部分用户都不开放 Structure 写权限,他们需要向 IT 申请创建新的Structure。
控制 issue 一次性下载的数量:对于一次性下载超过2000行的情况,只能用提供的脚本实现。
configuration 清理:清除 Jira 里无用的 configuration。
将超级庞大的 Jira 实例分为2个不同的实例 Jira Data Center 1 和 Jira Data Center 2,不同组织使用不同的实例。