相比于 Jira,极狐GitLab 的敏捷项目管理是怎样的?

本文作者 极狐GitLab 资深解决方案架构师 尹学峰

简述

写在前面的话

  • 如果你目前没有用任何专门的项目管理软件,只是在使用word、excel之类的通用软件进行项目管理,建议直接阅读本文详述章节,极狐GitLab的项目管理工具将为你带来巨大的效率提升
  • 如果你目前有在使用诸如Jira、PingCode、ONES、禅道、MappingSpace、Redmine、Polarion之类的专门的项目管理软件,那么请先阅读 项目管理工具的对比与选择后,再阅读本文。

以Jira为例的优劣势说明

极狐GitLab 是一个集成了项目管理、代码托管、持续集成/持续部署(CI/CD)等功能于一体的开发协作平台,换言之,项目管理只是极狐GitLab平台中的一小部分能力。而Jira 是一款专业的项目管理和问题追踪工具。下面我们来分析极狐 GitLab 项目管理工具相对于 Jira 的优势和劣势:

😄优势

  1. 集成度:极狐GitLab 将代码仓库、CI/CD 和项目管理工具集成在同一个平台上,使得开发团队能够在一个统一的环境中进行协作。这有助于提高工作效率,减少在不同平台之间切换的时间和成本。
  2. 相对低成本:对于小型团队和开源项目,极狐GitLab 提供免费的项目管理功能,这对于预算有限的团队和项目来说具有较高的性价比。而 Jira 的付费计划可能对一些团队来说成本较高。
  3. 自动化:极狐GitLab 项目管理工具与 极狐GitLab 的 CI/CD 功能紧密集成,支持自动化流程,例如自动关闭问题、关联合并请求等。这有助于简化团队的工作流程,提高效率。

😅劣势

  1. 功能相对较弱:极狐GitLab 的项目管理功能相对于 Jira 这类专门的项目管理工具来说较为简单。Jira 内置了更丰富的功能和定制选项,如敏捷看板、工作流定制、更丰富的报告等,这使得 Jira 更适合大型团队和复杂项目的管理,极狐GitLab的项目管理虽然也能实现类似的功能,但是需要用户基于标记进行自定义。
  2. 学习成本:对于那些已经习惯使用 Jira 或其他项目管理工具的团队来说,切换到极狐 GitLab 的项目管理工具可能需要一定的学习成本。团队成员需要适应极狐 GitLab 的界面和工作流程,这可能会在短期内影响工作效率。

基于以上优劣势不难看出,一般程序员喜欢极狐GitLab的项目管理工具、而非技术人员喜欢Jira之类的专门的工具。因此,在选择合适的工具时,您可以根据团队的需求、预算和现有工具栈来进行权衡。

👯互补共生

项目管理工具的使用并无绝对的排他性,在某些场景下搭配使用可以起到更好的效果。比如极狐GitLab的项目管理工具不能够满足一些特定的需求时,或者当参与项目管理的人员种非技术人员和程序员人数占比旗鼓相当时,此时面临的选择会有多种:

  • 迁就非技术人员。仅仅使用与代码管理孤立的项目管理工具(注:下图中蓝色部分),会导致项目管理和代码管理的严重割裂,即,项目管理视图下无法直接提现代码开发的工作进度。
  • 迁就程序员。仅仅使用极狐GitLab作为项目管理工具(注:下图中橙色部分),非技术人员使用门槛相对较高,甚至产生排斥心理。
  • ✅ 各取所长,互补共生。把项目管理中的不涉及代码开发工作的宏观需求放在独立的项目管理工具中,而与代码开发强相关的技术需求,则由极狐GitLab管理。

图示:典型的代码强相关开发过程记录

  • 非技术人员无需知道技术实现细节,一般程序员也无需了解宏观的非技术内容。二者之间建立沟通的桥梁则由技术主管负责:
  • 根据橙色完成状态及时更新蓝色状态。
  • 根绝蓝色新需求,分解并创建技术实现。

图示:项目管理工具的互补共生

  • 当然,第三方项目管理工具如Jira也可以与极狐GitLab集成。集成完成后,只要Commit Message或者MR Description中包含对应的Jira Issue ID,下图所示即为MKP-2,则会自动在Jira侧建立超链接。从而实现需求与开发过程的之间的映射。

图示:与Jira集成效果


详述

史诗

典型样例

  • 极狐GitLab团队:极狐GitLab 国产信创适配版

  • GitLab Inc团队:Browser-based scanner for DAST

史诗的定义

当议题跨项目和里程碑共享一个主题时,您可以用史诗来管理它们。您还可以创建子史诗,并指定开始和结束日期,将为您创建一个可视化的路线图来查看进度。

使用史诗:

  • 当您的团队在做一个大的功能时,涉及到在一个群组中的不同项目中的不同问题的多个讨论。
  • 跟踪该组问题的工作何时开始和结束。
  • 要在高层次上讨论并协作相关功能的想法和范围。

图示:群组-子群组-项目 与 史诗-子史诗-议题 的关系

史诗与议题的关系

史诗和议题之间可能存在的关系是:

图示:史诗和议题的关系

  • 一个史诗包含一个或多个议题。
  • 一个史诗包含一个或多个子史诗。详见多级子史诗。

史诗的路线图

如果您的史诗包含一个或多个子史诗,并且有一个开始或到期的日期,一个可视化的父史诗包含子史诗的路线图如下所示。

图示:史诗中路线图

史诗的看板

史诗看板建立在现有的史诗跟踪功能和标记上。 您的史诗以卡片的形式出现在垂直列表中,并由其指定的标记组织。

要查看史诗看板:

  1. 在顶栏,选择主菜单 > 群组,找到您的群组。
  2. 在左侧边栏,选择史诗 > 看板

图示:史诗看板

路线图

包含开始日期或截止日期的群组中的史诗和里程碑可以以时间线的形式(即甘特图)进行可视化。路线图页面显示一个群组、其子组之一或其中一个群组中的项目的史诗和里程碑。

在史诗栏上,您可以看到每个史诗的标题、进度和完成权重百分比。 当您将鼠标悬停在史诗栏上时,会出现一个弹出框,其中包含史诗的标题、开始日期、截止日期和已完成的权重。

您可以展开包含子史诗的史诗,在路线图中显示其子史诗。 您可以单击史诗标题旁边的 V 形以展开和折叠子史诗。

在里程碑栏的顶部,您可以看到它们的标题。 当您将鼠标悬停在里程碑栏或标题上时,会出现一个带有标题、开始日期和截止日期的弹出窗口。您还可以单击 里程碑 标题旁边的 V 形来切换里程碑栏的列表。

图示:全部史诗的路线图

对路线图进行排序和过滤

当您想要浏览路线图时,有多种方法可以通过对史诗进行排序或按对您重要的内容对其进行过滤来使其更容易。

您可以通过以下方式在路线图视图中对史诗进行排序:

  • 开始日期
  • 到期日

每个选项都包含一个按钮,用于在 升序排列降序排列 之间切换排序顺序。 浏览史诗时,排序选项和顺序仍然存在,包括史诗列表视图。

您还可以在路线图视图中按史诗的以下信息过滤史诗:

  • 作者
  • 标签
  • 里程碑
  • 机密性
  • 史诗

图示:史诗路线图的筛选与排序

阻塞史诗

如果史诗被另一个史诗阻止,其标题旁边会出现一个图标,表示受阻状态。当您将鼠标悬停在受阻的图标上时,会显示详细信息弹出框。

图示:阻塞史诗


议题

典型样例

  • 极狐GitLab团队:环境部署审批中不允许approve自己发起的deployment太反人类了

范围标记

范围标记允许团队使用标记功能来注释议题、合并具有互斥标签的请求和史诗。可以通过防止将某些标记一起使用来实现更复杂的工作流程。当标记的标题中使用特殊的双冒号 (::) 语法时,标签是有作用范围的,例如:

图示:范围标记

一个议题、合并请求或史诗不能有两个范围标记,形式为 key::value,具有相同的 key。添加具有相同 key 但不同 value 的新标记会导致之前的 key 标记被新标记替换。例如:

  1. 一个议题被确定为低优先级,并为其添加一个 priority::low 项目标记。
  2. 经过多次审核,议题优先级提高,并添加了一个 priority::high 标记。
  3. 系统自动删除了 priority::low 标记,因为一个议题不应该同时有两个优先级标记。

议题权重

当您遇到很多议题时,可能很难获得概览。通过加权议题,您可以更好地了解给定议题的时间、价值或复杂性成本。您可以在以下位置查看议题权重:

  • 每个议题的右侧边栏。
  • 议题页面,旁边有一个权重图标。
  • 议题看板,旁边有一个权重图标。
  • 里程碑页面,查看议题权重的总和。

议题的多指派人

在拥有共享所有权的大型团队中,可能很难跟踪谁在处理某个议题、谁已经完成或谁还没有开始。您可以为一个议题添加多个指派人,这样更容易跟踪,并明确谁对它负责。议题的多个指派人使协作更顺畅,可以清楚地显示共享的责任。 所有指派人都会显示在您团队的工作流程中并接收通知(就像他们作为单个指派人一样),从而简化了沟通成本和所有权混乱的问题。一旦指派人完成了他们的工作,他们就会将自己作为指派人移除,明确表示他们的任务已经完成。

图示:议题的多个指派人


议题看板

典型样例

  • GitLab Inc团队:Enablement: GEO

可配置的议题看板

议题看板可以与里程碑、标记、指派人、权重和当前迭代关联,它会相应地自动过滤看板中的议题。 这使您可以根据团队的需要创建独特的看板。您可以在创建时定义看板的范围或通过单击 编辑看板 按钮。 将里程碑、迭代、指派人或权重分配给议题看板后,您不能再在搜索栏中对这些进行过滤。 为此,您需要从议题看板中删除所需的范围(例如,里程碑、指派人或权重)。如果您在板中没有编辑权限,您仍然可以通过单击 查看范围 查看配置。

图示:议题看板

议题权重总和

每个列表的顶部会显示属于该列表的议题的议题权重总和。 这在使用看板进行生产力分配时非常有用,尤其是与 指派人列表 结合使用时。

图示:议题权重在看板中的体现

议题看板指派人列表

就像在显示所选标记的所有议题的常规列表中一样,您可以添加一个指派人列表来显示分配给某个用户的所有议题。 您可以拥有一个同时包含标记列表和指派人列表的看板。要添加指派人列表:

  1. 选择 创建列表
  2. 选择 指派人
  3. 在下拉列表中,选择一个用户。
  4. 选择 添加到看板

现在添加了指派人列表,您可以通过拖动议题,向指派人列表或从指派人列表中向该用户分配议题或取消分配议题。要删除指派人列表,就像使用标记列表一样,请单击垃圾桶图标。

图示:议题看板通过指派人过滤

议题看板里程碑列表

与指派人列表一样,您可以拖动议题进出一个里程碑列表来修改议题的里程碑。与其他列表类型一样,单击垃圾桶图标可删除列表。

图示:议题看板通过里程碑过滤

议题看板迭代列表

与里程碑列表一样,您可以在迭代列表间拖动议题,来修改议题的迭代。

图示:议题看板通过迭代过滤

议题看板基于史诗分组

您可以可视化按史诗分组的议题。 您的议题看板保留了所有其他功能,但具有不同的议题可视化组织。 此功能在项目和群组级别均可用。

要在议题看板中按史诗对议题进行分组:

  1. 选择 分组方式 下拉按钮。
  2. 选择 史诗

您还可以拖动议题来更改它们的位置和史诗分配:

  • 要对议题重新排序,请将其拖到列表中的新位置。
  • 要将议题分配给另一个史诗,请将其拖动到史诗的水平通道。
  • 要从史诗中取消分配议题,请将其拖到 未分配史诗的议题 通道。
  • 要同时将议题移动到另一个史诗 另一个列表,请对角线拖动议题。

图示:议题看板基于史诗分组

阻塞议题

如果某个议题被另一个议题阻止,则其标题旁边会出现一个图标以指示其被阻止状态。当您将鼠标悬停在被阻止的图标上时,会显示详细信息弹出窗口。

图示:阻塞议题


议题分析

燃尽图燃起图

燃尽和燃起图显示完成里程碑的进度

图示:燃尽图燃起图

群组的议题分析

议题分析是一个条形图,说明了每个月创建的议题数量。 默认时间跨度为 13 个月,包括当前月份和前 12 个月。

要访问图表:

  1. 在顶部栏上,选择 主菜单 > 群组 并找到您的群组。
  2. 在左侧边栏中,选择 分析 > 议题分析

将鼠标悬停在每个栏上,查看议题总数。

要缩小图表中包含的议题范围,请在 搜索或过滤结果… 字段中输入您的条件。可以输入或从菜单中选择:

  • 作者(Author)
  • 指派人(Assignee)
  • 里程碑(Milestone)
  • 标记(label)
  • 我的反应(My reaction)
  • 权重(Weight)

您可以通过设置 URL 参数来更改显示的总月数。 例如,https://jihulab.com/groups/gitlab-cn/-/issues_analytics?months_back=15 显示群组中的图表,总共 15 个月。

图示:议题分析

提升议题至史诗

您可以将议题提升到直接父组中的史诗。将议题提升为史诗:

  1. 在一个议题中,选择垂直省略号。
  2. 选择 提升为史诗

或者,您可以使用 /promote 快速操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636884.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

logstack 日志技术栈-04-opensource 开源工具 Syslog-ng+Highlight.io

5. Syslog-ng Syslog-ng 是一个开源的日志管理解决方案,主要用于收集和处理日志数据。它可以从多种源收集日志,包括系统日志、网络设备日志和第三方应用日志。 然后将日志解析、分类、重写和关联到统一格式中,然后将其存储或安全地传输到不同…

[ tool ] Xpath选择器和selenium工具基本使用

XPath xpath介绍 是一门在XML文档中查找信息的语言 html文档准备 doc <html><head><base hrefhttp://example.com/ /><title>Example website</title></head><body><div idimages><a hrefimage1.html aabb>Name: My…

JVM工作原理与实战(二十一):内存管理

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、不同语言的内存管理 1.C/C的内存管理 2.Java的内存管理 二、垃圾回收的对比 1.自动垃圾回收与手动垃圾回收的对比 2.优点与缺点 总结 前言 JVM作为Java程序的运行环境&#…

区字棋中的最长非0链

一&#xff0c;区字棋 也叫憋死牛棋。 规则&#xff1a; 棋盘一共只有5个点&#xff0c;双方各2个棋子&#xff0c;还有一个空格。 先手必须移动左边的棋子&#xff0c;之后没有限制&#xff0c;2个棋子任意一个移动到空格皆可。 无法移动者判负。 二&#xff0c;不败策略…

ubuntu20遇到缺少qt4相关库的问题

最近需要做套接字通讯的工作&#xff0c;最好是有一个网络调试软件能够接受或者发送套接字&#xff0c;测试代码能够正常通讯。windows下有很多&#xff0c;但是linux下比较少&#xff0c;使用广泛的是下面这一款。 1、安装 首先从网盘&#xff08;链接: https://pan.baidu.c…

String在VS与Linux下的区别

目录 一、string的成员 1.VS 2.Linux 二、string的扩容机制 1. VS 2.Linux 一、string的成员 string是C标准库中的一个类模板&#xff0c;用于表示和操作字符串 string在 Windows 与 Linux 中的成员不是相同的 1.VS 4个成员&#xff1a;_str , _size , _capacity 和…

71.工作中redis的常用场景总结

文章目录 一、简介二、统计访问次数三、缓存四、分布式锁五、限流六、排行榜七、作为Session的存储器&#xff0c;存用户登录状态八、位统计九、生成全局ID 一、简介 Redis作为一种优秀的基于key/value的缓存&#xff0c;有非常不错的性能和稳定性&#xff0c;无论是在工作中&…

【ARM Cortex-M 系列 1.1 -- Cortex-M33 与 M4 差异 详细介绍】

请阅读【嵌入式开发学习必备专栏 之 Cortex-Mx 专栏】 文章目录 背景Cortex-M33 与 M4 差异Cortex-M33Cortex-M4关系和差异举例说明 背景 在移植 RT-Thread 到 瑞萨RA4M2&#xff08;Cortex-M33&#xff09;上时&#xff0c;遇到了hardfault 问题&#xff0c;最后使用了Cortex…

大数据开发之kafka(完整版)

第 1 章&#xff1a;Kafka概述 1.1 定义 Kafka是一个分布式的基于发布/订阅模式的消息队列&#xff0c;主要应用于大数据实时处理领域。 发布/订阅&#xff1a;消息的发布者不会将消息直接发送给特定的订阅者&#xff0c;而是将发布的消息分为不同的类别&#xff0c;订阅者只…

Java String基础学习

目录 1、String的构造方法 2、String内存模型 3、字符串的比较 4、字符串的练习 1、用户登录系统 2、遍历字符串 3、统计字符次数 4、拼接字符串 5、字符串的反转 6、金额转换 7、手机号屏蔽 * 8、身份证信息查看 9、敏感词替换 5、StringBuilder 1、概念及练习…

【51单片机Keil+Proteus8.9】控制步进电机+LCD1602显示状态

步进电机控制 设计思路 电路设计&#xff1a; 选用AT89C51单片机作为电路核心部件&#xff0c;外加LM016L液晶显示屏作为显示&#xff0c;显示步进电机的Fast&#xff0c;Slow&#xff0c;Stop的三个状态将AT89C51单片机所选引脚与LM016L控制引脚相连&#xff0c;再将数据通…

ASEPRITE使用笔记

aseprite学习笔记 快捷键 新建图层后,按快捷键c可以调出画布属性框放大缩小画布快捷键,鼠标滚轮移动画布快捷键,空格ctr+d,取消选取基本概念 软件五个基本区域:菜单栏、工具属性栏、工具栏、图层栏、颜色栏颜色栏分为色板和调色区域注意事项 创造时,需要把输入法调整成应…

(2024,VMamba,交叉扫描,线性复杂度,全局感受野,动态权重)视觉状态空间模型

VMamba: Visual State Space Model 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 方法 3.1 基础概念 3.2 2D 选择性扫描 3.3 VMamba 模型 3.3.1 整体架构 3.3.2 VSS…

大数据开发之Kafka(broker、消费者、eagle监控、kraft模式)

第 4 章&#xff1a;Kafka Broker 4.1 Kafka Broker工作流程 4.1.1 Zookeeper存储的Kafka的信息 1、查看zookeeper中的kafka节点所存储的信息 启动Zookeeper客户端 [atguiguhadoop104 zookeeper-3.5.7]$ bin/zkCli.sh 通过ls命令列出kafka节点内容 [zk: localhost:2181(CO…

Windows11添加美式(纯英文)输入法

打开设置&#xff0c;选择“时间和语言” 选择“语言和区域” 检查语言中否有英语&#xff08;美国&#xff09;&#xff0c;如果没有&#xff0c;请单击“添加语言” 单击英语&#xff08;美国&#xff09;右方的更多选项按钮&#xff0c;选择“语言选项” 找到下方“键盘…

对象数组变成一维数组,导出txt文件

假设对象数组格式为此 arr1: [{id: 1,title: 我是1目录,children: [{id: 11,title: 我是1-1目录,children: [{id: 111,title: 我是1-1-1目录,children: [],},],},],},{id: 2,title: 我是2目录,children: [{id: 21,title: 我是2-1目录,children: [],},],},], 页面如下 先在页面…

【Spring 篇】MyBatis中的CRUD魔法:数据之美的四重奏

MyBatis&#xff0c;这个数据持久化的魔法师&#xff0c;以其优雅的SQL映射和简洁的配置文件&#xff0c;为我们呈现出一场CRUD&#xff08;Create, Read, Update, Delete&#xff09;的奇妙之旅。在这篇博客中&#xff0c;我们将深入探讨MyBatis中的增、删、改、查操作&#x…

linux基础学习(5):yum

yum是为了解决rpm包安装依赖性而产生的一种安装工具 1.yum源 1.1配置文件位置 yum源的配置文件在/etc/yum.repos.d/中 *Base源是网络yum源&#xff0c;也就是需要联网才能使用的yum源。默认情况下&#xff0c;系统会使用Base源 *Media源是光盘yum源&#xff0c;是本地yum源…

std::atomic

一、概述 std::atomic 是C11引入的一个模板类&#xff0c;用于提供原子操作的类型。在多线程编程中&#xff0c;当多个线程同时访问同一块数据时&#xff0c;可能会导致数据竞争和不确定的行为。std::atomic 可以用来创建原子类型的变量&#xff0c;保证对该变量的操作是原子的…

【leetcode】下一个排列 双指针算法

/*** param {number[]} nums* return {void} Do not return anything, modify nums in-place instead.*/ var nextPermutation function(nums) {const len nums.length;let i len -2;//找到第一个当前项比后一项小的位置iwhile(i>0&&nums[i]>nums[i1]) i--;if(…