本文作者 极狐GitLab 资深解决方案架构师 尹学峰
简述
写在前面的话
- 如果你目前没有用任何专门的项目管理软件,只是在使用word、excel之类的通用软件进行项目管理,建议直接阅读本文详述 章节,极狐GitLab的项目管理工具将为你带来巨大的效率提升。
- 如果你目前有在使用诸如Jira、PingCode、ONES、禅道、MappingSpace、Redmine、Polarion之类的专门的项目管理软件,那么请先阅读 项目管理工具的对比与选择后,再阅读本文。
以Jira为例的优劣势说明
极狐GitLab 是一个集成了项目管理、代码托管、持续集成/持续部署(CI/CD)等功能于一体的开发协作平台,换言之,项目管理只是极狐GitLab平台中的一小部分能力。而Jira 是一款专业的项目管理和问题追踪工具。下面我们来分析极狐 GitLab 项目管理工具相对于 Jira 的优势和劣势:
😄优势
- 集成度:极狐GitLab 将代码仓库、CI/CD 和项目管理工具集成在同一个平台上,使得开发团队能够在一个统一的环境中进行协作。这有助于提高工作效率,减少在不同平台之间切换的时间和成本。
- 相对低成本:对于小型团队和开源项目,极狐GitLab 提供免费的项目管理功能,这对于预算有限的团队和项目来说具有较高的性价比。而 Jira 的付费计划可能对一些团队来说成本较高。
- 自动化:极狐GitLab 项目管理工具与 极狐GitLab 的 CI/CD 功能紧密集成,支持自动化流程,例如自动关闭问题、关联合并请求等。这有助于简化团队的工作流程,提高效率。
😅劣势
- 功能相对较弱 :极狐GitLab 的项目管理功能相对于 Jira 这类专门的项目管理工具来说较为简单。Jira 内置了更丰富的功能和定制选项,如敏捷看板、工作流定制、更丰富的报告等,这使得 Jira 更适合大型团队和复杂项目的管理,极狐GitLab的项目管理虽然也能实现类似的功能,但是需要用户基于
标记
进行自定义。 - 学习成本:对于那些已经习惯使用 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
史诗的定义
当议题跨项目和里程碑共享一个主题时,您可以用史诗来管理它们。您还可以创建子史诗,并指定开始和结束日期,将为您创建一个可视化的路线图来查看进度。
使用史诗:
- 当您的团队在做一个大的功能时,涉及到在一个群组中的不同项目中的不同问题的多个讨论。
- 跟踪该组问题的工作何时开始和结束。
- 要在高层次上讨论并协作相关功能的想法和范围。
图示:群组-子群组-项目 与 史诗-子史诗-议题 的关系
史诗与议题的关系
史诗和议题之间可能存在的关系是:
图示:史诗和议题的关系
- 一个史诗包含一个或多个议题。
- 一个史诗包含一个或多个子史诗。详见多级子史诗。
史诗的路线图
如果您的史诗包含一个或多个子史诗,并且有一个开始或到期的日期,一个可视化的父史诗包含子史诗的路线图如下所示。
图示:史诗中路线图
史诗的看板
史诗看板建立在现有的史诗跟踪功能和标记上。 您的史诗以卡片的形式出现在垂直列表中,并由其指定的标记组织。
要查看史诗看板:
- 在顶栏,选择主菜单 > 群组,找到您的群组。
- 在左侧边栏,选择史诗 > 看板。
图示:史诗看板
路线图
包含开始日期或截止日期的群组中的史诗和里程碑可以以时间线的形式(即甘特图)进行可视化。路线图页面显示一个群组、其子组之一或其中一个群组中的项目的史诗和里程碑。
在史诗栏上,您可以看到每个史诗的标题、进度和完成权重百分比。 当您将鼠标悬停在史诗栏上时,会出现一个弹出框,其中包含史诗的标题、开始日期、截止日期和已完成的权重。
您可以展开包含子史诗的史诗,在路线图中显示其子史诗。 您可以单击史诗标题旁边的 V 形以展开和折叠子史诗。
在里程碑栏的顶部,您可以看到它们的标题。 当您将鼠标悬停在里程碑栏或标题上时,会出现一个带有标题、开始日期和截止日期的弹出窗口。您还可以单击 里程碑 标题旁边的 V 形来切换里程碑栏的列表。
图示:全部史诗的路线图
对路线图进行排序和过滤
当您想要浏览路线图时,有多种方法可以通过对史诗进行排序或按对您重要的内容对其进行过滤来使其更容易。
您可以通过以下方式在路线图视图中对史诗进行排序:
- 开始日期
- 到期日
每个选项都包含一个按钮,用于在 升序排列 和 降序排列 之间切换排序顺序。 浏览史诗时,排序选项和顺序仍然存在,包括史诗列表视图。
您还可以在路线图视图中按史诗的以下信息过滤史诗:
- 作者
- 标签
- 里程碑
- 机密性
- 史诗
图示:史诗路线图的筛选与排序
阻塞史诗
如果史诗被另一个史诗阻止,其标题旁边会出现一个图标,表示受阻状态。当您将鼠标悬停在受阻的图标上时,会显示详细信息弹出框。
图示:阻塞史诗
议题
典型样例
-
极狐GitLab团队:环境部署审批中不允许approve自己发起的deployment太反人类了
范围标记
范围标记允许团队使用标记功能来注释议题、合并具有互斥标签的请求和史诗。可以通过防止将某些标记一起使用来实现更复杂的工作流程。当标记的标题中使用特殊的双冒号 (::
) 语法时,标签是有作用范围的,例如:
图示:范围标记
一个议题、合并请求或史诗不能有两个范围标记,形式为 key::value
,具有相同的 key
。添加具有相同 key
但不同 value
的新标记会导致之前的 key
标记被新标记替换。例如:
- 一个议题被确定为低优先级,并为其添加一个
priority::low
项目标记。 - 经过多次审核,议题优先级提高,并添加了一个
priority::high
标记。 - 系统自动删除了
priority::low
标记,因为一个议题不应该同时有两个优先级标记。
议题权重
当您遇到很多议题时,可能很难获得概览。通过加权议题,您可以更好地了解给定议题的时间、价值或复杂性成本。您可以在以下位置查看议题权重:
议题的多指派人
在拥有共享所有权的大型团队中,可能很难跟踪谁在处理某个议题、谁已经完成或谁还没有开始。您可以为一个议题添加多个指派人,这样更容易跟踪,并明确谁对它负责。议题的多个指派人使协作更顺畅,可以清楚地显示共享的责任。 所有指派人都会显示在您团队的工作流程中并接收通知(就像他们作为单个指派人一样),从而简化了沟通成本和所有权混乱的问题。一旦指派人完成了他们的工作,他们就会将自己作为指派人移除,明确表示他们的任务已经完成。
图示:议题的多个指派人
议题看板
典型样例
- GitLab Inc团队:Enablement: GEO
可配置的议题看板
议题看板可以与里程碑、标记、指派人、权重和当前迭代关联,它会相应地自动过滤看板中的议题。 这使您可以根据团队的需要创建独特的看板。您可以在创建时定义看板的范围或通过单击 编辑看板 按钮。 将里程碑、迭代、指派人或权重分配给议题看板后,您不能再在搜索栏中对这些进行过滤。 为此,您需要从议题看板中删除所需的范围(例如,里程碑、指派人或权重)。如果您在板中没有编辑权限,您仍然可以通过单击 查看范围 查看配置。
图示:议题看板
议题权重总和
每个列表的顶部会显示属于该列表的议题的议题权重总和。 这在使用看板进行生产力分配时非常有用,尤其是与 指派人列表 结合使用时。
图示:议题权重在看板中的体现
议题看板指派人列表
就像在显示所选标记的所有议题的常规列表中一样,您可以添加一个指派人列表来显示分配给某个用户的所有议题。 您可以拥有一个同时包含标记列表和指派人列表的看板。要添加指派人列表:
- 选择 创建列表。
- 选择 指派人。
- 在下拉列表中,选择一个用户。
- 选择 添加到看板。
现在添加了指派人列表,您可以通过拖动议题,向指派人列表或从指派人列表中向该用户分配议题或取消分配议题。要删除指派人列表,就像使用标记列表一样,请单击垃圾桶图标。
图示:议题看板通过指派人过滤
议题看板里程碑列表
与指派人列表一样,您可以拖动议题进出一个里程碑列表来修改议题的里程碑。与其他列表类型一样,单击垃圾桶图标可删除列表。
图示:议题看板通过里程碑过滤
议题看板迭代列表
与里程碑列表一样,您可以在迭代列表间拖动议题,来修改议题的迭代。
图示:议题看板通过迭代过滤
议题看板基于史诗分组
您可以可视化按史诗分组的议题。 您的议题看板保留了所有其他功能,但具有不同的议题可视化组织。 此功能在项目和群组级别均可用。
要在议题看板中按史诗对议题进行分组:
- 选择 分组方式 下拉按钮。
- 选择 史诗。
您还可以拖动议题来更改它们的位置和史诗分配:
- 要对议题重新排序,请将其拖到列表中的新位置。
- 要将议题分配给另一个史诗,请将其拖动到史诗的水平通道。
- 要从史诗中取消分配议题,请将其拖到 未分配史诗的议题 通道。
- 要同时将议题移动到另一个史诗 和 另一个列表,请对角线拖动议题。
图示:议题看板基于史诗分组
阻塞议题
如果某个议题被另一个议题阻止,则其标题旁边会出现一个图标以指示其被阻止状态。当您将鼠标悬停在被阻止的图标上时,会显示详细信息弹出窗口。
图示:阻塞议题
议题分析
燃尽图燃起图
图示:燃尽图燃起图
群组的议题分析
议题分析是一个条形图,说明了每个月创建的议题数量。 默认时间跨度为 13 个月,包括当前月份和前 12 个月。
要访问图表:
- 在顶部栏上,选择 主菜单 > 群组 并找到您的群组。
- 在左侧边栏中,选择 分析 > 议题分析。
将鼠标悬停在每个栏上,查看议题总数。
要缩小图表中包含的议题范围,请在 搜索或过滤结果... 字段中输入您的条件。可以输入或从菜单中选择:
- 作者(Author)
- 指派人(Assignee)
- 里程碑(Milestone)
- 标记(label)
- 我的反应(My reaction)
- 权重(Weight)
您可以通过设置 URL 参数来更改显示的总月数。 例如,https://jihulab.com/groups/gitlab-cn/-/issues_analytics?months_back=15
显示群组中的图表,总共 15 个月。
图示:议题分析
提升议题至史诗
您可以将议题提升到直接父组中的史诗。将议题提升为史诗:
- 在一个议题中,选择垂直省略号。
- 选择 提升为史诗。
或者,您可以使用 /promote
快速操作。