关于文章作者:王杰,现就职于科大讯飞,担任集团测试序列专家、测试总监、业务高级经理。中国科学技术大学工商管理硕士,精通DevOps,在上游质量内建和研测效能提升上有丰富的实战经验,在Jira项目管理和精益看板方面也有丰富的落地经验。2019年度“Top100全球软件案例研究峰会”的特邀讲师,《研发质量保障与工程效率》合作者、《Jira实战:项目管理与精益看板》第一作者。
如下案例来自科大讯飞百亿级交互业务的研发项目所面临的交付挑战及所采用的落地实践;此案例曾登陆TOP100全球软件案例研究峰会上进行了案例分享,受到了参会者的广泛认可和关注咨询。作者在实践过程中积累了对Jira更加全面立体的认识和使用体会。
Jira作为全球使用比例最高的项目管理工具平台之一,拥有67%的国际市场占有率,国内市场的应用也比较普及。但关于Jira使用的指导性书籍在国内市场一直处于空白状态,为此作者牵头行业专家联合著作了《Jira实战:项目管理与精益看板》书籍来弥补市场空白和期望帮助更多需要的读者朋友。
让我们来通过如下TOP100全球软件案例研究峰会上的相关分享,了解科大讯飞百亿级交互业务如何使用Jira打造精益敏捷的交付能力,实现助力研发效能提升的。
一、交付团队面临的两大协同挑战
需求交付不是一个职能的事情,需要各职能密切的配合协同;但团队之间的交付效率有时会受困于整体交付流程的协同机制。
这里先给大家呈现下我们交付团队当初所面临的协同挑战,如图1,这里把挑战划分了两个维度,一个是因为需求管理带来的挑战,另一个是因为需求消化也就是实际产研测交付过程带来的挑战。
图1 交付团队所面临的协同挑战
需求管理维度,我们就以需求对象多样化为例,如需求来源输出职能的多样化,来自产品、运营、商务、客户等等;如需求面向对象的多样化,这个需求归属于哪些业务线或哪些子项目;还有就是需求属性的多样化,是紧急的常规的技术演进的;多样化的需求若没有好的解决机制的话,额外增加需求管理复杂度和成本,比如导致需求池错综烦乱的问题。
需求消化维度,也面临着诸多挑战,团队协同遇到的最多的障碍或引发的问题,有很多起因来源于彼此工作的不透明或信息共享问题引入。这里以进度的频繁打断跟踪为例,比如某职能侧在无法获取当前整体工作进度的情况下,他就会问什么需求到什么阶段了,预计什么时候上线啊,一个需求过程会问你很多次,N多个需求呢,由此导致个人时间碎片化。
面临这样的需求管理、需求消化综合挑战,就提出了两大核心的诉求,团队要往高效的需求管理能力和透明的协同流转能力进行演进发展。
二、以Jira为载体定制精益看板解决方案
经过一番调研之后,我们创新实现了以Jira为载体定制实现的Jira精益看板整体解决方案;通过方案中的需求分类导向解决需求管理复杂度问题,通过方案中的可视化精益看板能力实现透明协同流转诉求。
1、新建需求问题类型,创建导向字段
为了打造可视化精益看板,最初的问题类型对应的通用化字段和通用化价值流流程是满足不了业务需要的,我们必须新建需求问题类型来满足我们的定制诉求,如调整我们的价值流状态、新增我们期望的字段,去除不必要字段元素干扰;
关于需求创建这块我们实现了如图2的主要导向的定制;
图2 需求导向定制助推高效需求管理能力的建设
分类导向,我们在看板上能够看到这个需求的分类特征,比如它是常规演进的需求,还是产品规划需求,甚至是紧急插入的需求,技术内部演进的需求;我们通过Jira仪表盘能够可视化需求的并驾齐驱,做到有效兼顾,解决需求对象多样性的部分挑战。
价值导向,我们实现需求价值从源头的传递,解决需求价值意图不明确和需求决策主观干扰大带来的挑战。
业务导向,我们能够实现对所有业务线自属精益看板的有效切分,在一定程度上解决需求池错综烦乱的问题。
来源导向,我们可以快速了解需求的来源方及需求来源人,有需要的情况下,可以快速精准找到对应的人,同时也可以满足我们后期度量所有交付需求的需求来源方的相关分布。
描述导向,是为了解决需求描述只有1个,产研测共用面临的覆盖冲突性问题。
时间导向,需求方可以书写需求期望上线时间,给需求管理排期的同学提供些引导。
责任导向,明确此需求的产品负责人和开发负责人,这些字段可在精益看板上直接的呈现。
模块导向,我们舍弃了原有的模块字段,直接采用Epic代表我们需求所在的模块和所在的重要演进,比如当一个需求颗粒度比较大时,可以通过创建Epic的形式,在Epic下面创建多个需求跟踪演进;使用它的最大好处是它直接能在看板上呈现,非常直观。
紧急导向,用于紧急需求创建时,传递需求紧急原因说明,做了必填项要求,若不做必填项要求,估计有很多不紧急的需求会贸然采用这个流程,是不是紧急自己要评估和同步周知需求的参与者,在作用效果上有点类似价值量化。
2、定制需求的价值流状态
关于需求的价值流状态定制,我们定制切分了如图3所示的状态,从产品处理环节到开发、测试都进行了切分;涉及到产品侧参与的需求,产品侧会操作4个阶段,从需求-待评估、需求-产品设计中、需求-待评审、准备好-待开发;流程进入到准备好-待开发,经办人实现变更为需求对应的研发经办人;研发经办人实现开发状态的过渡,当状态进入到开发完成-待测试时,研发经办人需要把经办人变更成测试经办人,后续的测试中到最终上线由测试人员操作;同时也有一个独立的流转状态,异常终止或打回,当需求在任何阶段出现这种情况都可以直接操作;需求价值流的状态流转支持跨状态流转,为了兼容更多的真实的场景,便于增强流转的整体灵活性和操作的便捷性;
图3 需求价值流定制满足后续精益化状态列的切分
价值流有两个需要变更经办人的阶段,在触发对应的状态控件时,会弹出对话框,如图4所示,能够直接便捷的切换经办人,同时也会支持采集此需求的人力投入数据(人力投入数据在需求变更状态为“已上线”状态时支持进一步维护),以及其他的一些导向性行为;如研发交付需求给测试,若交付需求中有些已知的遗留问题可以在这里直接填充,测试人员直接感知。
图4 需求价值流定制职能衔接和需求耗时统计
3、定制配置精益看板及可视化效果
需求定制完之后,还需要进行看板的配置;我们来看下需要哪些重要的配置。
第一个要点就是看板需要进行合理的切分,做到不同业务线需求的彼此隔离,形成所关注业务线的专属精益看板;需要采用过滤器,我们某业务线的过滤器,业务线的需求最初分布两个项目,我们可把两个项目中的这四种需求作为关注呈现的对象实现过滤,其他类型不在这里干扰显示,通过所属业务线字段来过滤该业务线专属需求,同时整个项目的Epic可能比较多,我们只期望展示与该业务线相关的Epic,所以对Epic也进行了过滤,减少非此业务线的Epic产生的干扰。
第二个要点就是我们要对需求的价值流状态进行看板中列的映射,一般情况下,一个状态最好是对应一个列,但因Jira页面在显示的列比较多的时候,需求卡片效果会产生挤压,导致可视化效果不是非常好;所以我们进行了取舍,把某些状态列合并在精益看板的某一列一同显示;如图5所示。
图5 可视化精益看板的配置
完成以上两点,就可以实现所属业务线的需求任务状态的价值流动的可视化了。实现需求任务状态的可视化,但为了更好的可视化效果,比如我们想通过需求卡片获取更多的信息和点击需求卡片获取更多团队关注的内容,这个时候我们可以配置需求卡片标题下方可显示的字段,同时也可以通过任务详情视图也选择定制需求的重要元素;如图6所示,为我们的成品效果。
图6 定制后的Jira精益看板可视化效果
4、Jira精益看板解决方案带来的变化
这一套交付流程精益优化之后,前文所提到的协同挑战不再像之前困扰着我们,需求管理和协同流转得到了明显的改善,促使产研测之间的协作及交付更加顺畅高效。
需求管理和协同流转的最终目的都是为了持续快速、高质量的交付价值的能力。我们线下量化度量了效果数据,以解决方案落地分别前后5个月的数据作为比对区间。
在交付吞吐率方面,我们以每月持续交付的需求数为例,月均交付需求数由原来的54个增长至93个左右,增幅比例73%;
需求响应周期,就是一个需求从提出到交付所经历的时间周期,由原来的29.4人日降幅到17.8人日,也就是说我们的响应能力增强了,提升了39%;
发布成熟能力,以构建交付成熟度来计算,提升121%,也就是我们的因缺陷而产生的版本迭代缩减了,一次性交付能力提升了;
再看看下对质量的影响,一个是交付过程的质量,我们业务关于缺陷有个缺陷点的度量机制,通过我们的度量机制我们研发过程质量效果提升了21%;同时因需求原因引入的缺陷为例,也出现了大量降幅,需求质量效果提升68%,说明产品侧的交付质量也提升了;然后再看下对外交付质量,精益看板很好的优化了协同的问题,如以典型内部协同问题引入的线上问题在落地之后就没有出现了。
三、填补行业空白,创作推出《Jira实战:项目管理与精益看板》书籍
如上分享的案例在书籍《Jira实战:项目管理与精益看板》中有更为具体的解读和实操介绍。书籍历时两年半的诚意创作,完整的呈现的科大讯飞使用Jira打造落地精益看板的全历程。书籍由机械工业出版社负责出版发行。
通过本书可以帮助读者更立体的认识Jira,充分挖掘并发挥 Jira 在项目管理上的赋能作用。在精益敏捷日益盛行的今天,团队管理者更加关注团队效能,如何实现需求价值的快速流动与交付,书籍中的Jira精益看板解决方案提供了思路,可以给予读者启发。
书籍封面