Jira入门教程 敏捷开发管理(一)

# 简介

Jira是Atlassian公司出品的一款事务管理软件。无论是“需求”,还是“BUG”,或是“任务”,都是“事务”的一种,所以Jira可以胜任非常多的角色:需求管理、缺陷跟踪、任务管理等等……因为Jira提供了专门的Scrum视图和Kanban视图,所以特别适合敏捷开发团队使用。大型互联网公司如LinkedIn、Facebook、eBay等内部都在使用Jira。

Jira在国内的销售价格相当贵,而且没有永久授权,只能年付,CSDN的报价最低18000元(25用户)。推荐直接去官网购买,10人以下团队的永久授权只要$10。这个价格,别说小团队正式使用,就是个人玩票性质的买一个正版,也是完全可以了。

JIRA的界面操作挺复杂,但是JIRA的逻辑并不复杂。想要了解如何使用JIRA,弄清下面几个基本概念就差不多了:

- Project 项目

- Issue 事务(有的译作“问题”)

- Field 字段

- Workflow 工作流

- Screen 视图

# 1. Project和Issue

Project这个概念很简单,就是一个“项目”。开发一个App是一个项目,开发一个微信小程序也是一个项目,公司办公室搬迁也可以是一个项目。可以说,在项目管理范畴内可以看作“项目”的,都是Jira中的项目。Project是Issue的容器。在创建项目时,JIRA会要求你指定“KEY”,这个KEY加上数字,就是Issue的唯一ID了。比如新建一个项目,KEY设置为`WEB`,那么项目下的第一条Issue就是`WEB-1`,第二条Issue是`WEB-2`,依此类推。

而Issue则是Jira核心中的核心,它分为以下几种类型:

- Story 故事(即敏捷开发中的“用户故事”)

- Epic 史诗

- Improvement 提升

- New Feature 新特性

- Bug 缺陷

- Task 任务

- Sub-Task 子任务

以上几种类型,除Sub-Task和Epic之外并无本质区别。对于敏捷开发团队来说,“用户可以编辑并修改个人资料”可以建一个Story;对职能部门来说,“月底向供应商支付货款”可以建一个Task。如果想反过来,把前者叫Task把后者叫Story,Jira也不会干涉你,无非会让其他人觉得奇怪而已。

Epic中文叫“史诗”,人话版的翻译是“包含很多故事的大故事”。比如“用户可以在App上收听音乐”,就是一个很大的故事,还需要细分为更多小故事才可以进行开发。

除了Sub-Task之外,所有的Issue类型都可以创建Sub-Task。比如“用户可以编辑并修改个人资料”就可以拆分为以下几个子任务:

- 设计UI界面

- 开发前端页面

- 提供后端API接口

以上所有子任务完成之后,这个Story才能算完成。

# 2. Field

一个Story会有属性:名称、详细描述、提交人、提交时间、优先级、状态等等。这些属性就是Field字段。而所谓的Story,也是Type属性为“Story”的Issue而已,把Type属性改成“Epic”,那这个Story就会变成Epic了。

# 3. Workflow和Workflow Scheme

我们知道,任务会有不同的状态:待办,进行中,已完成;需求也会有不同的状态:刚提交,待评审,暂缓,已拒绝,开发中,已完成,等等。Workflow就是用来定义定义Issue的状态。

Workflow由两部分组成:

- Status 状态

- Transition 转换动作

下图中的按钮样式就是Status,从一种状态转换为另一种状态的箭头就是Transition。

从一种状态切换到另外一种状态必须借助Transition。JIRA提供了方便的配置项,可以自动生成Transition(允许所有状态切换到当前状态)。

为什么做得这么麻烦,像Tower或者Worktile之类的清单不好吗?答案就是Transition有专门的配置项,可以调起webhook以及执行一些post-function比如发送邮件等等。而且严格的Transition可以避免人为的误操作。

当有了Workflow之后还不够。一个Project内会有不同类型的Issue,这时候就需要指定哪种Issue Type采用哪种Workflow,于是就产生了Workflow Scheme。比如下面就是一个Workflow Scheme:

- Story:To Do - In Progress - In Review - Done(Workflow 1)

- Task: To Do - In Progress - Done (Workflow 2)

- ……

显然,每个Project只能采用一种Workflow Scheme。

注意,整个JIRA中的Status都是共用的。当你在编辑某个Workflow时修改了一个已有Status的名称,其他Workflow中同样的Status也会被修改。

# 4. Screen

Screen(视图)还会衍生Screen Scheme和Issue Type Screen Scheme两个概念。Screen这个概念就像空气一样,理所当然,可是对于不懂化学的人来说又无法描述。所以这个我们后面再详细介绍。只要知道,我们在新建Issue、编辑Issue、查看Issue详情时,其实是通过“新建视图”、“编辑视图”、“详情视图”完成的就好了。

# 待续

以上就是Jira软件逻辑中的基本概念,了解了这几个概念就可以去试着使用Jira了。当然现在离真正使用Jira管理敏捷开发还差一个关键环节:了解敏捷开发的基本概念。下一期再介绍喽~

本文来自企鹅号 - DesignGB媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Flutter入门

偶遇FFmpeg(一) —— 初了解

FFmpeg的介绍网上还是很多的。官网的wiki上面也有很多内容。围绕目标,主要是有两套实现的思路。早期,其实是想通过自己编写C代码,来完成整个流程的。但是无奈...

2622
来自专栏FreeBuf

看我如何基于Python;Facepp打造智能监控系统

由于种种原因,最近想亲自做一个基于python&facepp打造的智能监控系统。 0x00:萌芽 1:暑假在家很无聊 想出去玩,找不到人。玩个lol(已卸载),...

5695
来自专栏技术翻译

大数据Python:3大数据分析工具

在这篇文章中,我们将讨论三个令人敬畏的大数据Python工具,以使用生产数据提高您的大数据编程技能。

8382
来自专栏应用案例

如何用Python提取中文关键词?

本文一步步为你演示,如何用Python从中文文本中提取关键词。如果你需要对长文“观其大略”,不妨尝试一下。 ? 需求 好友最近对自然语言处理感兴趣,因为他打算利...

3588
来自专栏灯塔大数据

每周学点大数据 | No.75 Spark 实践案例——PageRank

本文为灯塔大数据原创内容,欢迎个人转载至朋友圈,其他机构转载请在文章开头标注 编者按:灯塔大数据将每周持续推出《从零开始学大数据算法》的连载,本书为哈尔滨工业大...

3928
来自专栏玉树芝兰

如何用Python提取中文关键词?

本文一步步为你演示,如何用Python从中文文本中提取关键词。如果你需要对长文“观其大略”,不妨尝试一下。

2402
来自专栏玉树芝兰

Python编程遇问题,文科生怎么办?

敲黑板了啊,答疑时间到。如果你没有良好的Python编程基础,在尝试应用数据科学方法时遇到了问题和困难,又不知道该如何有效解决,那么这篇文章就是为你写的。请务必...

1712
来自专栏java一日一条

Java 性能优化的五大技巧

要对你的 java 代码进行优化,需要理解 java 不同要素之间的相互作用,以及它是如何与其运行时的操作系统进行交互的。使用下面这五个技巧和资源,开始学习如何...

1143
来自专栏FreeBuf

ModSecurity技巧:使用ssdeep检测Webshell

最新版本的ModSecurity增加了ssdeep检测webshell的接口,于是猛地回忆起搞客户端安全(游戏安全)的时候买过一本书《恶意软件分析诀窍与工具箱-...

4018
来自专栏跟着阿笨一起玩NET

浅谈数据库设计技巧(上)(转)

转一篇他人写的数据库设计技巧,感觉也不一定都正确,开拓一下思路吧。 说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机...

2461

扫码关注云+社区

领取腾讯云代金券