创实信息是Gitlab中国官方授权合作伙伴! 021-61210910

新闻中心

如何使用GitLab进行敏捷软件开发

有没有想过GitLab支持敏捷方法? 如果您正考虑使用GitLab,对它的功能如何与Agile artifacts相对应可能了解得还不够明晰,我们在此来细述它的内容。

敏捷(Agile)是近几十年来引入软件工程学科的最重要和最具变革性的方法之一。 虽然不是每个人都可以就敏捷概念中的术语达成一致,但它仍然对软件团队有效地创建以客户为中心的产品产生了积极显著的影响。

GitLab的设计灵活性足以适应您的方法,无论是敏捷方法还是受其思想影响的其他方法。 在这篇文章中,我们将展示Agile artifacts到GitLab功能的简明对应,并阐释客户是如何使用GitLab成功管理高性能敏捷团队的。

Agile artifacts 与 GitLab 的功能对应

Agile artifactGitLab feature

User storyIssues

TaskTask lists

EpicEpics

Points and estimationeights

Product backlogIssue lists and prioritized labels

Sprint/iterationMilestones

Burndown chartBurndown charts

Agile boardIssue boards

 

用GitLab进行敏捷迭代

User stories(用户故事)→GitLab issues (GitLab 问题)

在敏捷中,您会经常从用户故事开始,捕捉可为用户带来商业价值的单个功能。 在GitLab中,项目中建立单独的问题就是为了达到这个目的。

Task (任务)→GitLab task lists (GitLab 任务列表)

通常,一个用户故事会进一步拆分为多个独立的任务。 您可以在GitLab的问题描述中创建任务列表,以进一步识别这些独立的任务。

Epics (史诗)→GitLab epics (GitLab史诗)

另一方面,一些敏捷实践者指定了一个高于用户故事的抽象概念,通常称为史诗,它表示由多个功能需求组成的更大的用户流程。 在GitLab中,史诗也包含标题和描述,非常类似于问题,但它允许您将多个子问题附着于它以表明层次结构。


GitLab问题页面中间有一个标题和一个描述区域,提供了一个空间来记录细节,例如用户故事中的商业价值和相关人物角色。 右侧的边栏提供了与其他敏捷兼容功能的集成,例如问题所属的史诗,问题所在的里程碑(Milestone)以及问题的权重,它反映了预计的工作量。

Product Backlog(产品待办列表)→GitLab issues lists and prioritized labels (GitLab问题列表和优先级标签)

产品或企业主通常会创建这些用户故事以反映业务和客户的需求。他们在产品待办列表中排列优先次序,以把握开发中紧要的事件和期望的顺序。产品负责人与项目干系人方面进行沟通,以确定优先事项并不断完善待办列表。在GitLab中,用户可以查看动态生成的问题列表以跟踪他们的待办事项。可以创建标签并将其分配给单独的问题,然后您可以使用单个或多个标签来筛选问题列表。这能够使工作更灵活。优先级标签甚至也可以用来排列这些列表中的问题。

Sprints(冲刺)→GitLab Milestones (GitLab 里程碑)

冲刺意味着工作要在有限时间段内完成,可能需要一周,几周或一个月或更长的时间。产品所有者和开发团队开会来决定下阶段冲刺范围内的工作。 GitLab的里程碑功能支持这些:为里程碑分配开始日期和截止日期以把握冲刺的时间段。然后,团队通过将问题分配到该特定的里程碑,来将问题放入该冲刺中。

Points and Estimation(工作点数和预估)→GitLab issues weights(GitLab问题权重)

同样在这次会议中,会交流用户故事,并为每个范围内的用户故事估量技术投入的等级。在GitLab中,问题有一个权重属性,您可以用它来表明预估的工作量。

在这次会议中(或在随后的会议中),用户故事会被进一步分解为技术交付成果,有时记录技术计划和架构。在GitLab中,这些信息可以记录在问题中或合并请求的描述中,因为合并请求通常位于技术协作发生的地点。

在冲刺(GitLab里程碑)进行期间,开发团队成员逐个挑选用户故事进行作业。在GitLab中,问题包含经办人,你会给自己分配一个问题来反映你现在正在处理它。我们建议您在写下第一行代码之前立即创建一个空的并且链接到问题的合并请求,以启动技术协作流程。

Agile board (敏捷面板)→GitLab Issue Boards(GitLab问题面板)

在整个冲刺过程中,问题会在各个工作阶段进行移动,例如“准备开发”(Ready for dev),“开发中”(In dev),“质量检查中”(In QA),“审核中”(In review),“审核”(Done)。这些都具体取决于特定组织中的工作流程。通常这些是敏捷面板中的列。在GitLab中,问题面板(issue boards)允许您定义阶段并使您能够通过它们移动问题。团队可以根据里程碑和其他相关属性配置面板。在日常站立会议中,团队通过一起察看面板,从工作流的角度了解冲刺的状态。

GitLab问题清单罗列了与特定组或项目范围相关的问题。 有强大的筛选和订阅功能,可让您快速缩小该列表的范围。 例如,您可以通过优先级标签来筛选查看产品待办中优先的用户故事。 您可以通过里程碑来筛选并来查看计划在特定sprint中处理的用户故事。

GitLab问题面板也能动态展示问题,类似于GitLab问题列表。但它允许更灵活的工作流程。您可以在面板中设置单独的列表,以反映敏捷面板中的各个阶段。然后,您的团队可以控制和跟踪用户故事,例如从 “准备开发”(Ready for dev)开始,一直到“发布到生产”(Released to production)。

燃尽图(Burndown charts)→GitLab燃尽图(GitLab Burndown charts)

开发团队会想知道他们的工作是否实时处在正轨上,并在出现风险时能减轻风险的程度。 GitLab提供了燃尽图,让团队可以将其工作可视化,通过在当前冲刺中工作的“燃尽”来表示它们已被完成。

在冲刺即将结束时,开发团队向各个项目干系人演示完成的功能。在GitLab中,使用Review Apps可以简化此过程,以便即使当代码尚未发布到生产环境中,但在各种测试,分期或UAT环境中都可以进行演示。ReviewApps和CI / CD功能与合并请求本身集成在一起。不管是通过使用CI / CD进行自动化测试或在Review App环境中进行手动测试,这些工具对于开发人员和QA角色保持软件质量来说都非常有用。

GitLab 燃尽图 允许团队跟踪工作范围内的作业,在冲刺中完成它们后进行“燃尽”。 这样可以让您更快地对风险做出反应并进行相应调整,例如,通知您的业务干系人某些功能预计会被延迟到未来的冲刺中。

GitLab也可以根据提供的wiki中记录在冲刺结束时进行团队回顾,以便随着时间的推移记录经验教训和之后的行动项。 在实际的回顾过程中,团队可以查看下里程碑页面,该页面回显示已完成冲刺的燃尽图和其他统计数据。

希望这会回答您关于GitLab如何支持敏捷的问题!请在此留下您的宝贵建议和问题。