Project - Ticket驱动
Ticket驱动
在软件开发过程中使用缺陷跟踪系统或问题跟踪系统,以ticket为单位对问题、缺陷以及敏捷开发中的用户故事等进行管理的方法。
作为DevOps实践的一个良好补充,解决了文档式管理的信息分散问题,可以支持从瀑布开发到Scrum开发。
在DevOps中,通过ticket为单位进行信息共享以及任务管理,将会使内外部之间的协调变得简单,信息也更易于集中管理。
在具体实现上,就是所有任务包括代码改动都以ticket方式进行管理,与具体事项和相关人员进行关联,同步更新状态。
ticket中可以包含各类日期、负责人、详细内容和讨论记录等信息。
提供仪表盘功能(Dashboard),可以从项目管理、工作量估算和进度管理等角度把握开发整体情况。
提倡无论是提交应用程序还是基础设施的代码,所有的任务都需要先创建一个ticket,然后在开展工作的同时,同步更新ticket的状态和信息。
Ticket的关闭,也就是表明了对应工作内容的完成。
看板
大多数敏捷流程都包含在物理看板或电子看板上,透过便利贴管理任务。
- 直观展示工作流程概览,
- 易于管理,移动便利贴就可以表示当前流程状态发生变更
- 健壮,不会出现宕机的问题
Ticket跟踪处理工具
Ticket跟踪处理工具可以用来处理缺陷和问题、管理工作任务等。
一个ticket可以是一个代办事项、功能需求或者是其他类型活动。
通常以数据库对象代表状态机的方式来实现。
通过web界面,用诸如电子邮件或自动化的方式创建一个ticket。
团队成员与之互动,使其达到各种状态,直到ticket被关闭归档,便于未来参考。
通常一个ticket具备基本属性
- 描述:文本描述
- 报告者:建立这个ticket的成员
- 指派:完成这个ticket的成员
- 状态:打开、关闭
其他常用的属性
- 到期日:预计ticket的关闭日期
- 里程碑: 将多个ticket归并为一个较大工作包的方法
- 附件:截图或文档
- 工作量估计:对耗时的估算,针对新类型任务通常难以准确预估
敏捷工作流中的状态(状态机)
在理想的场景下,问题有序地从一个状态切换到下一个状态
例如打开--》进行中--》可以测试--》测试中--》完成--》关闭等
选择Ticket工具
功能上能否满足当前及可见未来的使用需求
- 是否可以定制化流程、扩展第三方插件
- 是否支持敏捷方法
- 是否支持可视化和报表
- 是否支持多项目和多类型的客户端
- 。。。。。。
除了功能上的,一些必须考虑的因素
- 付费模式和License问题,例如免费版本是否有用户数限制等
- 运行环境:硬件、数据库等
- 易用性:关注真正地做事情上, 而不是熟悉工具
- 可选的支持类型:开源社区、商业付费
- 与第三方集成:例如认证服务器、邮件服务器等
- 部署方式:内网独立部署(信息安全性)、外网托管
- 。。。。。
一些问题跟踪工具
使用免费工具,避免license问题
- Redmine: 全功能项目管理工具
- Bugzilla:面向公众的大型追踪器
- Jira:综合性工具,收费
- 禅道:国产免费开源,管理方式基于Scrum
Jira
https://www.atlassian.com/zh/software/jira
集项目计划、任务分配、需求管理、缺陷跟踪于一体
功能强大,配置和管理也相对复杂
Atlassian出品、收费、Java编写
禅道
https://www.zentao.net/
开源免费,从下载到使用不需任何费用
基于国际流行的敏捷项目管理方式—Scrum,功能完备的项目管理软件,覆盖了项目管理的核心流程
集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体
bugzilla
- 问题跟踪器的起源,主要关注缺陷问题
- 免费、支持自定义工作流程、提供JSON REST API
- 很多企业将其作为面向公网的问题报告工具
Trac
https://trac.edgewall.org/
增强版的Wiki以及软件开发过程中的问题跟踪系统,采用Python开发
短小精悍,将问题跟踪器、wiki和库查看器集成到了一个简洁的模型上
Redmine
- 免费的,流行的问题跟踪器
- 项目管理系统,以WEB形式把成员、任务、文档、讨论及各种形式的资源组织在一起,推动项目的进度,可对接GIT、SVN等版本管理系统
GitHub、GitLab等自带的Issue跟踪管理功能
行动是绝望的解药!
欢迎转载和引用,但请在明显处保留原文链接和原作者信息!
本博客内容多为个人工作与学习的记录,少数内容来自于网络并略有修改,已尽力标明原文链接和转载说明。如有冒犯,即刻删除!
以所舍,求所得,有所获,方所成。