道生一,一生二,二生三,三生万物。 --《道德经》

如果说第一节的指导思想是管理之“道“,那我们本节的核心配置就是Jira系统之”道“了。有了核心配置,才有后续的各种管理方法的实施可能。
本节的核心配置包括下面几点:

  • 项目
  • 用户组
  • 问题类型
  • 字段配置
  • 工作流

项目(Project)

项目的主要用途是作为数据的隔离。但实际上项目做到的数据隔离还是通过逻辑隔离,根本来讲还都是存储在同一张表中的数据。

上图拆分出了三个项目,分别用于产研中心,支持中心(外部),管理中心(高层)
为了达到数据隔离的目的,需要配置的就是

配置了权限的用户才能访问指定的项目

下面还有针对问题、评论等权限设置,细化到操作比如:分配问题、关闭问题、创建问题、删除问题等。


用户组(UserGroup)

这里主要讲的还是组的部分,我理解的用户组的用法主要还是行政组织架构+角色职能多级组合。你也可以根据你希望管理的维度设置多级用户组。
Jira原本实际上并没有多级概念,所以我的实现方式实际上就是“前缀法”,上图:

第一级:org代表是一个组织架构,还有其他如:jira(jira系统角色)、auth(权限角色)
第二级:pd代表行政架构,大部门或者中心:product&develop
第三级:代表角色或者职能,比如:leader(管理岗),coder(编码人员),前端(frontside),后端(serverside)
第四级:代表二级部门,比如前端分为h5(h5)和原生(native)
中间用连字符隔开。
这样的好处是我们很容易理解和记忆,在JQL输入语法时,也能够很好的利用语法提示。
多层级都有用户组,这样在添加用户的时候会稍显麻烦,但是会方便后期根据多种维护进行数据筛选。添加用户我们一般也是指定某个用户作为样本,添加同样的用户组,不会遗漏。


问题类型

问题类型区分为下面几大类:

  • 异常:内部BUG、线上异常

    • 内部BUG是在测试环境产生的异常。
    • 线上异常是在生产环境产生的异常。
  • 职能任务:Epic、Story、Task、新功能、子任务、测试
    • Story、新功能是用于产品的可实施需求与过程中需求区分。
    • Task是研发内部发起的优化或者改进需求。
    • Epic是大型任务的集合。
    • 子任务是普通研发人员正常的拆分任务项。
    • 测试是测试人员编写的测试用例和测试执行。
  • 非职能任务:日常综合事务
    • 日常综合事务是请假、周月会等事务性工作。
  • 外部任务:服务工单
    • 服务工单是外部客户服务、销售、技术支持统一支持格式。

总结:

  1. 外部数据来源多样,情况也很多,尽量保证单一规格有利于信息收集和反馈。
  2. 异常区分环境,有利于确认品质,以及不同的工作流程。

字段配置

自定义字段是Jira一定会使用的功能,针对不同的环境和业务流程我们一定会添加其他信息。本节针对我们自己的生产流程介绍几个我们感觉比较有代表意义的字段。

affectedVersion 与 fixVersion

影响版本与修复版本是系统提供的自定义字段,字段含义也是比较清楚的,影响版本能够明确某个BUG可能影响到哪些版本,修复版本是指会在哪个版本修复问题或者添加特性。
在我们的使用过程中,放弃了影响版本直接隐藏了这个字段,因为会造成大家的困惑和工作量。你需要追溯代码去明确影响,使用者也需要了解两个版本字段的意义,造成某些歧义。
所以在迭代过程中,唯一意味着问题归属版本的字段就是fixVersion。
另外,我们除了常规的迭代版本,还设置了一个长期版本号 hotfix 用于修正的发布标记,并且设置了修正的状态【修正待发布/修正已发布】和修正发布的日期来构建修正发布的流程。

开始日

Jira的系统字段中有duedate(到期日)这个字段,却没有开始日,可能开发者认为所有的任务新建了就是要开始,所以只需要关注结束时间。但是我们很多任务都是要事先安排计划,需要明确开始结束时间,所以我们建立了开始日这个字段,用于完整的规划。

责任人

Jira默认有报告人和经办人两个用户字段,但是实际生产过程中常常涉及多流程环节多人同时进行,所以我们添加了一个多用户字段称之为责任人。在常规迭代任务中,会自动添加新建了子任务的用户,也可以事先指定需要参与的前后端研发、测试、产品等人员。在BUG中,会在工作流中在解决问题时自动添加当前操作的用户作为责任人。

任务持续时间(需要插件)

这个字段是计算某个任务开始结束时间之间的差值,用于我们观察发现某些延期了比较久的任务或者持续时间很长的遗留BUG。这种计算字段的类型是ScriptField需要ScriptRunner这个插件提供支持。


工作流

工作流与任务类型

针对工作流的设置,我们的建议是不同的问题类型,不同的工作流

可以看到我们的系统中设置了多套工作流,这样能够根据不同的需求设置不同的工作流节点和其他设置。

工作流设置实践

以一个例子说明工作流状态与命名的设计建议

状态是分为三种颜色,蓝色:待办,黄色:进行中,绿色:完成。某个问题一定只会处于某一个确定的状态,会在问题的界面上直接显示。
除去一开始的待办和最终的完成,中间所有的环节,都分为进行中和完成两步。正常的工作流程完成之后还要等待下一环节的人员继续处理,所以单环节的完成状态颜色设定为蓝色。测试比较特殊,测试完成之后是可发布状态,所以可以设定为绿色。
这就是状态的设置建议。
命名就是针对状态和转换:
状态的命名建议是 XX中:进行中,XX完成:阶段性完成。
转换是连接源头状态和目标状态的线,在问题的界面上,实际上就是一个一个的按钮。建议的命名是以转换到某个阶段进行中状态时以转向+目标阶段,转换到某个阶段完成状态时以完成+目标阶段
转换这么命名的好处有两个:

  1. 不用特别考虑,利用统一规则命名,整体系统风格延续。
  2. 当其他工作流需要驱动工作流时,不同的状态都可以以名称方式来驱动到目标状态。(比如:图示的工作流中,待办、UI设计完成、测试中都是可以转向研发中状态的,当命名都是转向研发的时候,我们子任务驱动主任务流程变化的时候,只要建一个驱动规则,调用“转向研发”转换,在上述的多个状态都可以直接转到研发中状态)。

工作流转换设置选项

转换这边会有一些高级选项,我们就实际有应用到的场景做一些介绍:

条件

场景:我们控制了添加版本的权限,只允许管理人员才能修改修复版本,避免版本控制的混乱。
方法:

  1. 删除了修复版本,这样就不能在问题新建/修改界面操作修复版本字段,但是Jira的特性是只要对应的栏位有值,就会出现在界面上,所以不影响使用。
  2. 设定了一个单独的界面“确认版本界面”,上面展示修复版本字段
  3. 在“确定修复版本”转换中引用这个界面
  4. 设置条件

指定某个用户组
结果:这样就能够保证只有某个权限组的用户能够看到这个转换按钮,从而修改对应字段

界面配置

界面配置是一个单独的模块,但是目前似乎只有在工作流的转换时引用,所以归属到这里。
下面就是一个常见的界面配置:

这里说几个注意点:

  1. 任何一个界面中都会默认包含备注(评论)这个字段
  2. 如果你使用了Tempo插件,在工作日志中的自定义字段无法在界面的工作日志中展示。
  3. 当前问题类型的字段方案中没有的字段也可以在这里展示与操作。

后处理功能

下面是我们系统中设定后处理功能的界面

如果你的界面看起来比较不一样,应该是因为你没有安装JMWE这个插件,添加之后工作流的能力大大提高,才能达到我们不同工作流相互影响相互驱动的效果。
举例:

这个后处理工作会将当前操作的用户设置为经办人(若当前经办人为空),并且添加到责任人当中去。


总结

经过上面的配置,我们的Jira已经可以投入实际生产使用,但是我们管理系统只是完成了基础的工作,要把整个系统变得真正“好用”,我们就要把眼光投向Atlassian Marketplace,完成我们系统配置的下半场。

Atlassian In Action-Jira之核心配置(二)的更多相关文章

  1. Atlassian In Action - (Atlassian成长之路)

    Atlassian是我工作过程中,使用过的最满意的研发团队管理套装.使用的主要软件包括Jira Software,Confluence,Fisheye/Crucible.理论上还可以再加上Bitbuc ...

  2. JavaWeb框架_Struts2_(二)----->Struts2的核心配置

    2.  Struts2的核心配置 2.1  配置Struts.xml文件 2.1.1 Struts.xml文件 Struts2框架的核心配置文件是Struts.xml,该文件主要用来配置Action和 ...

  3. 二 SSH整合:Spring整合Hibernate,无障碍整合&无核心配置整合,Hibernate模版常用方法,

    重建SSH项目 java项目可以直接复制,但是web项目除了改名字还要该配置,如下: 方式一:无障碍整合:带Hibernate配置文件 <?xml version="1.0" ...

  4. JavaWeb_(Struts2框架)struts.xml核心配置、动态方法调用、结果集的处理

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

  5. 《高级软件测试》JIRA使用手册(二)JIRA安装

    Jira Software 下载地址 Windows系统x86平台:https://downloads.atlassian.com/software/jira/downloads/atlassian- ...

  6. SpringMVC常用配置(二),最简洁的配置实现文件上传

    Spring.SpringMVC持续介绍中,基础配置前面已经介绍了很多,如果小伙伴们还不熟悉可以参考这几篇文章: 1.Spring基础配置 2.Spring常用配置 3.Spring常用配置(二) 4 ...

  7. kafka系列七、kafka核心配置

    一.producer核心配置 1.acks :发送应答(默认值:1) 生产者在考虑完成请求之前要求leader收到的确认的数量.这控制了发送的记录的持久性.允许以下设置: acks=0:设置为0,则生 ...

  8. dubbo系列五、dubbo核心配置

    一.配置文件 1.生产者配置provider.xml <?xml version="1.0" encoding="UTF-8"?> <bean ...

  9. 006-spring cloud gateway-GatewayAutoConfiguration核心配置-GatewayProperties初始化加载、Route初始化加载

    一.GatewayProperties 1.1.在GatewayAutoConfiguration中加载 在Spring-Cloud-Gateway初始化时,同时GatewayAutoConfigur ...

随机推荐

  1. 通过 vuex 实现 vue-echarts 图表的手动 resize

    背景:项目有用到 vue-echarts, 百度推出的 vue 版本的 Echarts,图表自带响应式属性 auto-resize, 来实现窗口尺寸变化时,图表的尺寸自适应,但是发现它是靠监听 win ...

  2. ARM中 __IO的作用解析

    __IO在头文件中预定义 #define __IO volatile volatile 影响编译器编译的结果, 指出:volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要 ...

  3. String内存结构

    var s: AnsiString; begin s := '1234567890'; showmessage(s); end; 变量s的内存结构为A8 03 01 00 FF FF FF FF 0A ...

  4. Win10《芒果TV》商店版更新v3.2.1:优化手机版卡顿,修复推送故障

    此版本是小版本更新,主要是修复上一版本发布后暴露的部分体验问题,以免进一步扩大影响,小幅修复后更新上线. 芒果TV UWP V3.2.1更新内容清单: 1.优化和修复列表预加载机制的本地保存丢失导致的 ...

  5. 想让一个Widget成为模态,我们只需要对其设置setAttribute(Qt::WA_ShowModal, true);

    想让一个Widget成为模态,我们只需要对其设置: setAttribute(Qt::WA_ShowModal, true); 注意:这是QWidget的成员函数 ,也就是说,QWidget可以显示为 ...

  6. 三星860 evo 250g 开启AHCI模式读写对比

    主板比较老,只支持sata2接口 换用三星860evo后跑分对比

  7. MFC OnPaint()函数中最先调用CDialog::OnPaint()和最后调用CDialog::OnPaint()的巨大区别

    OnPaint()函数中最先调用CDialog::OnPaint()和最后调用CDialog::OnPaint()的巨大区别,如果没有注意这个问题就会出现无厘头式的绘图问题-- 效果就是出不来!在经过 ...

  8. QT中Dialog的使用(使用QStackedWidget维护页面切换)

    先看看效果图: pages.h #ifndef PAGES_H #define PAGES_H #include <QWidget> class ConfigurationPage : p ...

  9. 解决C/C++程序执行一闪而过的方法(使用getchar,或者cin.get,不推荐system(“pause”))

    简述 在VS编写控制台程序的时候,包括使用其他IDE(Visual C++)编写C/C++程序,经常会看到程序的执行结果一闪而过,要解决这个问题,可以在代码的最后加上system(“pause”).g ...

  10. 关于qtcreator+vs2008+CDB调试太卡的问题研究(载入符号表,以及VS调试器的注册表信息)

    在刚接触Qt时,对于较大的项目,用qtcreator + vs + cdb 调试时,启动很慢并且单步运行时也经常会出现卡住半分钟以上的情况,一直没有解决.在需要debug的时候大多会在vs2008上安 ...