1 什么是JIRA
JIRA是目前比较流行的基于Java架构的管理系统,由于Atlassian公司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他的产品要高得多,而且易用性也好一些。同时,开源则是其另一特色,在用户购买其软件的同时,也就将源代码也购置进来,方便做二次开发。JIRA功能全面,界面友好,安装简单,配置灵活,权限管理以及可扩展性方面都十分出色。
2 主要功能
- 问题追踪和管理:用它管理项目,跟踪服务、bug、需求、通过jira的邮件通知功能进行协作通知,在实际工作中使工作效率提高很多。
- 问题跟进情况的分析报告:可以随时了解问题和项目的进展情况。
- 项目类别管理功能:可以将相关的项目分组管理。
- 组件/模块负责任功能:可以将项目的不同组件/模块指派相应的负责人,来处理所负责的组件的lssues。
- 项目email地址功能:每个项目可以有不同的email(该项目的通知邮件从该地址发出)。
- 无限制的工作流:可以创建多个工作流为不同的项目使用。
3 JIRA 中涉及的角色
JIRA作为一个缺陷跟踪管理系统,可以被企业管理人员,项目管理人员,开发人员,分析人员,测试人员和其他人员所广泛使用。
- 管理人员
根据JIRA 系统提供的数据,更加准确地了解项目的开发质量和状态,以及整个团队的工作效率。 - 项目管理者
可以针对登记进JIRA系统中问题,进行评估,分配缺陷;还可以通过JIRA系统的统计报告了解项目进展情况以及团队的工作量、工作效率等信息。 - 开发人员
在JIRA 系统中查看分配给自己的问题,及时进行处理,填写处理情况并提交工作量记录。 - 测试人员
根据测试情况,在JIRA 系统中及时快速的记录问题并对开发人员处理后的问题进行验证和跟踪。
4 问题
一个问题可以是软件的缺陷,一个项目的具体任务,一个需要解决的技术难题或者是需要审批的报销单据等。
JIRA 跟踪问题(lssue),这些问题可以是bug,功能请求或者任何其他想要跟踪的任务;每一个问题有一些关联的信息:
- 问题类型(lssue Type)
- 摘要(summary)
- 问题描述(description)
- 问题所属的项目
- 问题关联的项目组件(component)
- 问题影响的项目版本(affect version)
- 问题将被解决的项目版本(resolved version)
- 问题发生的环境
- 问题的优先级
- 问题的报告者
- 问题的指派处理人
- 问题的当前状态
- 问题相关的历史记录
4.1 问题类型
JIRA系统可以用于跟踪多种不同类型的问题。系统管理员可以根据需要添加。JIRA系统缺省提供的问题类型如下:
Bug(缺陷):测试过程、维护过程发现影响系统运行的缺陷
New Feature(新需求):对系统提出的新功能
Task(任务):需要完成的任务
Improvement(改进意见):对现有系统功能的改进
4.2 优先级(Priority Levels)
在JIRA系统中用优先级来表示问题的严重级别。系统管理员可以在JIRA 系统中添加优先级,JIRA系统缺省的优先级为 “紧急”,“严重”,“一般”,“次要”,“无关紧要” 5个级别:
级别 | 参考描述 |
---|---|
Blocker | 阻塞开发或测试的工作进度,或影响系统无法运行的错误。 |
Critical | 系统奔溃,丢失数据或内存溢出等严重错误、或者必需完成的任务。 |
Major | 主要的功能无效、新增功能建议。 |
Minor | 功能部分无效或对现有系统的改进。 |
Trivial | 拼写错误,文本未对齐等。 |
4.3 状态(Status)
每个问题有一个状态,用来表明问题所处的阶段,问题通过开始于open状态,然后开始处理/Progress,再到解决/Resolved,然后被关闭/Closed。根据情况的不同,你可以根据项目来定制问题状态以及工作流。JIRA系统提供的缺省状态如下:
- Open:表示问题被提交等待有人处理。
- In Progress:问题在处理当中,尚未完成。
- Resolved:问题曾解决,但解决结论未获认可,需要重新分派解决。
- Reopened:问题解决,等待结果确认,确认的结果是 “Reopened"或者"Closed”。
- Closed:问题处理结果确认后,置于关闭状态。
4.4 解决(Resolutions)
一个问题可以用多种方式解决,系统管理员是可以在JIRA系统中定制解决方式。JIRA系统默认的解决方式如下:
6. Fixed:问题已经解决。
7. Won’t Fix:问题未解决-将不会解决的问题。
8. Duplicate:重复的问题。
9. Incomplete:问题描述得不够准确、完全。
10. Cannot Reproduce:问题重现失败,或者无足够的信息重现问题。
5 项目
JIRA的项目是根据你的企业组织需要定制的,是问题的集合。
例如:一个JIRA项目可以是:
- List item
- 一个软件研发项目
- 一项市场推广活动
- 一个技术服务/帮助台系统
- 一个需求管理系统
- 一个网站需求调查系统
每一个问题属于一个项目。每一个项目有一个名字和一个关键字(如:WEB),以后属于这个项目的问题的关键字就会包含WEB(如:WEB-100,WEB-101)。值得注意的是,在JIRA系统中有一个权限 “Administer Projects”,通常将这个权限赋给项目负责人,拥有这个权限的JIRA用户就可以管理项目的 “版本"和"组件”。
5.1 项目版本
在一个项目上,一般会有多个版本,如:1.0alpha、1.0beta、1.0、1.2、2.0。JIRA系统中的问题涉及到两个版本字段:
影响版本 - 可以清晰地反映出这个问题在哪个版本中出现错误。例如:一个软件的缺陷可能影响了产品的1.1和1.2版。
修复版本 - 可以反映出报告的问题将在哪个版本,或已经在哪个版本中修复了。例如:软件缺陷影响了产品的1.1和1.2版,这个缺陷已经在2.0版中修复了。注意没有修复版本的问题会被归类到 “未规划”。
版本可以有3个状态:已发布,未发布或已归档。版本可以设置发布日期,而JIRA会自动将到期而还没有发布的版本高亮显示出来,并标注上 "超期"标志。
5.2 项目模块
一个项目模块是这个项目中问题的逻辑分类集合。每个项目都可以根据你企业组织的要求设置多个模块 (也可以不设置模块)。
例如: 一个软件研发项目可以设置 “文档”,“邮件系统”,“用户界面” 等模块。一个网页设计项目可以设置 “产品”,“联系我们”,“专业服务” 等模块。
项目中的问题可以隶属于一个或多个模块,当然也可以不属于任何模块