背景
禅道,是目前国内用得比较多的研发项目管理系统,我们常常会用它进行需求管理,缺陷跟踪,甚至软件全流程的管理,如果能将平台上的数据结公司的实际情况进行合理的分析利用,相信会给我们的项目复盘总结带来比较高的价值。
结果预览
在写这篇文章时,突然想到可能会有人问:禅道已提供了一个统计报表的功能,我们不能用它吗?
于是,想到了新增这个章节,把结果前置,看看禅道与自己做的分析的差异,自己做的针对性肯定是更强的。
这是禅道提供的统计报表
这是自己做的分析报告
接下来就按步骤写下我的思路。
拟定目标
首先,就公司研发部负责人的角度,拟出2个目标问题:
- 产品研发的交付质量如何?
- 为什么老板经常觉得有很多需求不能得到解决?
分析思路
1.拆解问题
问题1拆解:与交付质量相关的因素:交付周期、BUG类型
问题2拆解:需求解决问题可以进一步拆分为:每月新增需求、每月处理需求
于是,进一步拆解得到更加具体可量化的子问题:
1.每个版本交付的周期多长?
2.BUG中属于研发编码错误的占比如何?
3.每月新增需求数?
4.每月关闭需求数?
可能会有人想到,为什么不拟定一个人均BUG数?
做过研发的同学都知道,BUG多少是和很多因素相关的,包括产品业务复杂度、技术难度、交付周期、自测时间、技术选型、人员素质等等,所以,单纯用人均BUG,不够聚焦。
2.定义变量
拆解出了便于我们量化的问题,接下来就是变量定义和数据收集了。
上面量化的子问题包括的数据维度(变量)在我们的平台上都有吗?如果没有,呵呵,请先把流程建立起来,这块就不属于本文的讨论范畴了,对研发流程在禅道上的应用,有兴趣的朋友,可以参考文章底部的相关链接扩展学习。
3.收集数据
由于公司技术中心的研发管理是在我的主导和培训下完整地上了平台,包括需求登记,拟定计划,创建版本,提测,发布全流程,所以,相应维度的数据不是问题。
既然数据已经有了,那么收集的过程就可以跳过,接下来直接就是导数据了。
那么,如何从禅道系统中导出数据呢?
SQL查库?是的,这是程序员第一个跳出来的想法,对,这是一个办法,同时也需要对禅道平台的业务表有足够的了解。其实,禅道已经给我们提供了一个非常方便的打包导出数据的方式。在下面的具体操作中我会进行详细说明。
4.数据预处理
根据咱们分析的4个问题找到相应的数据表,对数据进行必要的清洗整理,比如列名由英文改为对应的中文标识,状态由数值对应处理为具体方便阅读的状态文字,BUG与相应产品的名称进行关联等。
这一步需要对照禅道的表数据结构(禅道后台管理有非常详细的表结构说明可查阅),以及Excel函数有一定的了解(Excel函数使用不属于本文章讨论范畴,将跳过)。
5.透视分析
找到与问题相关的数据表建立透视表、透视图,这块属于Excel工具操作,也不做详解,如后续大家有需要,我再针对性地做一些介绍。
6.输出结论
基于对公司业务的理解,关键事件的关联,做出相应的分析。
具体操作
前面的分析步骤已经在思路中描述得比较详细了,具体操作我们就从收集数据开始。
一、收集数据
1.登录数据库管理后台
2. 选择数据库
3. 导出数据表
这样就得到了禅道的完整数据:
当然,你也看到了:左上角的”SQL命令“也可以使用,看自己的需求了。
忘记数据库密码怎么办?简单,禅道集成环境里重新设置即可:
二、整理数据(数据预处理)
1.定位相关表
首先先从我们导出数据表中找出与上面分析的量化问题相关的表,每个业务涉及的表,我们可以通过后台这里查询:
核对完,相关的表,基本就这几个了:
2.整理数据
主要涉及几个方面的数据处理:
- 类型转换(特别是日期型)
- 准备取数据的标题命名
- 相关列的ID转换
- 对分散的状态进行聚类分组
- 清理会影响日期分析的数据(特别是日期里的"0000-00:00:00")
- 其它处理(视分析的维度会有很大不同)
涉及数据库字段的描述,可以查询禅道的后台管理:
相关数据处理后如下:
三、透视分析
需要的数据都整理清理完成后,就可以进行透视表和可视化的处理了。
1.透视表准备
2.可视化图表
结合准备进行分析的观点,选择性地生成一些图表。
四、输出结论
结合上诉相关的透视表透视图,结合研发团队近期的人员及管理平台推广情况,可以得到以下一些个人观点:
- 产品需求团队的想法比较多,而研发团队消化需求的能力确实跟不上;
- 有限的研发资源在近几个月内分别分散到了5条产品线,资源聚焦可能存在问题;
- 禅道平台推广效果良好,需求及跟踪问题的能力有明显提升;
- 研发的编码质量有很大的提升空间;
再根据专业图表美化的一些基本准则进行美化,包括:
- 设置相对一致的颜色,背景;
- 去除不必要的元素显示;
- 调整整体布局(满足从左往右,至上而下的阅读习惯);
- 增加标题,表头信息;
- 增加关点说明(核心);
最终出来的效果如下:
写在最后
此篇涉及了研发过程管理、禅道研发项目管理软件、Excel透视图表等相关知识与技能,主要在于思考与探索如何利用管理平台的已有数据做研发项目管理的分析思路,相信对于研发团队管理以及纯粹的软件研发领域数据产品的设计与分析能提供一定的参考价值。也欢迎大家留言一起讨论,共同学习。:)