1.场景/问题
诚然 JIRA原生 提供了大量好用的dashboard图表,但远不足以支撑数据分析的重担 。JIRA作为一个强过程管理工具,沉淀下来的结构化数据若不能得以有效加工,相当于厨房有一堆优秀的食材,但缺少优秀的厨师加工处理。比如需统计资产,工时,合同状态,内置的dashboard做起来就会相当费劲。
2.分析
在插件市场搜索 BI,可以得到几个结果,原生支持仅easyBI 一款,其他的支持是通过插件方式连接 Power BI,Tableau,帆软。如果PK专业能力,科学计算,easyBI 不占优势,但如果仅支持 日常简单分析,商业统计 ,那是完全够用,特别是 和JIRA 原生完美支持 ,这是一个很大的优势。
3.解决方案
插件市场搜索安装 easyBI for JIRA,本地需要部署一个数据库;
说明: confluence版本用处目前不是特别大 ,暂时不做特别介绍
下图是支持的数据源:
4.动图演示
4.1 Software
4.2 ServiceDesk
4.3定义数据
5.操作说明
官方有非常详尽的操作文档,本文简述关键操作,详情移步官方,有文档及教训视频可供学习。
5.1基本流程
5.2基础概念
术语
- Dimension:如Time、Project、Assignee 。
- Members:以Time为例,对应Member如:Week、Month、Quarter 。
- Measures:是eazyBI进行数据分析的核心,选中measures下面的members,就可以立即显示计算结果。举例,选中Project维度,以及Measure里的Issue Created,就可以显示出对应的这个eazyBI所有项目的创建问题数量。
- Calculated members :在eazyBI系统已有的Measures及Member基础上,可利用MDX语法自定义功能函数。
MDX:多维度表达式查询语言。 |
| 标题 | 描述 | | —- | —- | —- | | 1 | Account | 报表租户,包含所有元素,数据源,数据,报表,仪表盘, | | 2 | Account user | 报表用户,区分不同角色,推荐只读用户开Dashboards viewer ,管理员开 Data admin | | 3 | Source Data | 数据来源 | | 4 | Source Files | 外部导入文件,比如 excel 和 csv | | 5 | Source Applications | 可以是 JIRA,内部插件,也可以是外部数据 | | 6 | Cubes | 导入的数据存储在,多维数据魔方、 | | 7 | Dimensions | 维度,数据结构 | | 8 | Members | 数据成员,dimension往下钻一层的分类
| | 9 | Measures | 数据明细叫做 measure,常见的数据类型有文本,日期,整数,浮点等 | | 10 | Properties | 一个数据维度可以包含多个属性
举个例子,一个用户数据维度成员可以包含多个属性,姓名,年龄,地址,生日。在报表中,属性只在钻取到特定层级的时候显示
| | 11 | Calculated members and measures | 使用MDX 语言计算处理过的 数据成员和明细, | | 12 | MDX | 一种编程语言,可以操作 数据对象,数据集 |
5.3安装
参考官方文档:可能发生的坑:数据库权限不足,同步数据的时候报错,请运维同事适当调大权限。
5.4连接数据
宣导 Source Data 点击 add 往下添加即可
如果不清楚JIRA想导入什么数据, 测试环境数据不多的情况下全勾上就好了 。
5.5定制报表
性质如同拖拉拽做 PPT
·Dimension:数据维度,日常的字段
·Row:行
·Colomn:列
·Page:筛选条件
操作小技巧:字段多如乱码,页面点 ctrl+F 快速定位
微调:如图所示,上钻下钻
5.6仪表盘定制
5.6.1常规操作
5.6.2参数简介
5.6.3拖拽
点 page 会分出单独的一页
frame :是否跟随其他的面板
left / right:居左或居右
5.7导出
5.7.1样式
5.8发布
url 已为iframe 优化,贴入 html 就可以显示。
勾选 public access 无密码也可访问。
5.8.1报表
服务端安装了 chrome 后,可以直接导出 PDF,但存在分页,如果效果好一些,推荐使用浏览器的 全屏滚动截图 。
6.最佳实践
6.1推邮件
概述:设定发送频率,创建邮件模板
进阶设定,增加发送频率的参数
属性:job_queue.dashboard_email ;
参数:enabled_hours,disabled_hours 每十分钟,后台任务会执行一次
创建邮件模板:指定目录创建 yml 文件 ,路径 JIRA_HOME/data/eazybi/locales
示例:
en: dashboard_mailer: pdf_export: subject: “[eazyBI] Dashboards - %{account_name}” body_html: | Hello %{user_name}! Please see attached dashboard pages from eazyBI account %{account_name} . %{subscription_settings} Kind regards, eazyBI |
---|
6.2颜色
一图胜千言, 红色警告,黄色提醒,绿色安全,蓝色公告 。
·
9. 使用场景解析
场景1:团队负责人向领导申请ODC资源:
某IT团队负责人A,由于观察到现有人力经常加班工作,准备向领导申请增加ODC资源,然而领导基于整体考虑,提出几个疑问:
- 现有人力的资源利用率(Utilization)如何?
- 在不同环节或不同工作类别上的时间分配如何?
- 在未来三个月的工作计划和预估工作量如何?
资源利用率数据(如下图所示):
诠释:
- 黄色列是资源利用率,由蓝色列的主体工作和日常工作两列汇总而成,主体工作和日常工作又可以细分成小的工作分类。如主体工作包括需求、开发、测试、运维等工作;日常工作包括日常任务、个人休假等。
关键点:
- 问题类型定义与工作分类,例如“开发”的工作分类可以包含“系统设计”和“代码开发”
- 工时填写策略:按实际产生的工时统计,确保数据统计的有效性
- 应出勤工时计算:排除法定节假日
- 按人/按分组统计
工作效率(如下图所示):
诠释:工作效率由任务的预估工时与实际工时的比值计算得出。
关键点:
- 任务要填写预估工时。
- 任务有唯一的经办人:涉及任务的拆分粒度,尽量做到一单一人制。
- 效率统计的取数范围:任务状态为已完成。
任务甘特图(如下图所示):
诠释:此图可以让人员查看到自己在一段时间内的任务安排和任务所处状态。
关键点:表格中必须有两列是具备日期属性的字段:任务开始日期、到期日,可以是系统字段,也可以是自定义字段。
场景2:IT PMO做来年项目规划和预算
每到做年度预算的时候,PMO都会倍感压力,数据是解决问题的基础:
- 当年的业务需求完成度如何?
- 当年针对各业务需求的IT支出是多少?
- 当年业务需求通过SOW/ODC/T&M方式实施的支出占比?
- 需求/开发/测试/运维的ODC投入占比?
业务需求工作量统计与分摊数据(如下图所示):
诠释:统计出某时间段业务需求已耗费的总工时,以及花费所对应的成本中心。
关键点:
- 任务拆解结构:需求-Epic-Story-子任务四层结构,需求与Epic通过问题链接的方式关联。
- 工时填写策略:同上,按实际产生的工时统计。
场景3:IT核心团队接到一个要在3个月内完成上线的大型项目
基于公司业务拓展的需要,IT团队承接了一个大型项目,涉及内外部人员300+,并需要在规定时间内完成上线,跟踪项目中各功能点的完成情况是项目成败的关键:
- 跨平台跨系统的功能点按日统计和变化趋势;
- 各功能点状态(待办/开发中/IT测试/用户测试/已上线)的按日统计和变化趋势。
当时,我们在解决场景3的问题时,花了很多工夫,遇到的难点如下:
- 跨平台跨系统,而这些都是在不同的Jira项目空间去管理,而且分属于不同的项目类别,更复杂的是,这些项目里包含了不同的流程和状态;
- eazyBI没法做到统计issue的历史。
后来,我们转换了思路,将大量的数据收集工作挪到Jira去完成,简单概括如下:
通过JQL以及自动化脚本将生成有状态统计信息的 issue导入到eazyBI进行分析,就满足了我们的最终需求。
如果把我们过往使用 eazyBI 的经验做个总结,我用下面这个公式来归纳和结尾:解决问题的思路 + 正确的计算方法 = 实现目标!