“敏捷” 是指能够驾驭变化,保持组织竞争优势的一种能力。自 2001 年《敏捷宣言》以来,敏捷及敏捷开发理念逐渐席卷全球。中国信通院《中国 DevOps 现状调查报告(2022)》显示,近 90% 的企业已在不同程度上实践敏捷开发,53.4% 的企业认为敏捷改变了团队人员开发模式,对研发效能提到了积极影响。
应用敏捷开发的组织相比传统组织,具备明显业务优势:
1. 快速交付价值:快速、持续向用户交付有价值的软件产品,赢得市场先机;
2. 灵活响应变化:凭借交付时间短、迭代速度快,有效应对市场变化,降低不确定因素带来的风险。
在当今多变的市场和竞争中,敏捷开发已经成为精英效能组织的制胜之道。
根据 Gartner 2022 年发布的企业敏捷计划工具魔力象限显示,GitLab(极狐GitLab 是 GitLab 在中国的发行版本,具有和 GitLab 同等的功能,同时兼具众多适合中国本土用户的特色功能)位于挑战者象限。这足以说明 GitLab/极狐GitLab 敏捷项目管理成熟度,其完全能够支撑企业落地敏捷项目管理。(下文均以极狐GitLab 来展示敏捷管理相关功能)
极狐GitLab 敏捷开发项目有一套独特的术语体系,一切以议题(Issue)为核心展开,与基础敏捷开发术语的对应关系如下图:
图中功能基本工作流程如下:
任务表示将用户故事进一步分解成各子任务。
史诗表示由多个功能组成的更大的用户功能或流程。
燃尽图是一种表示剩余工作量的工作图表。
基础敏捷开发:使用燃尽图直观追踪并预测开发工作进度;
极狐GitLab:通过燃尽图 + 燃起图,图形化展示每个里程碑进度情况。
燃尽图展示时间和剩余总体工作量之间的关系;
燃起图进一步补充项目时间与已完成工作间的关系。
以上是极狐GitLab 对应敏捷开发的基础概念,在满足基础敏捷框架的同时,也发展了许多灵活变通的实践思路,希望极狐GitLab 的敏捷开发逻辑,能切实融入团队与企业的敏捷开发流程中。
极狐GitLab 敏捷项目管理功能是极狐GitLab 一体化 DevOps 平台重要功能之一,经过众多用户实践,总结出五大优势:
一体化平台,沟通成本低,研发效率高
极狐GitLab 敏捷项目管理功能和源代码托管、CI/CD、安全防护等功能在同一个平台上,如上图所示:
这个流程意味着在同一平台上实现了项目管理、源代码托管以及 CI/CD 等,打通了各个环节的数据流。并且,所有人员在同一个平台上进行协作,能够显著降低沟通成本、提升研发效率。
极狐GitLab 敏捷项目管理以 Issue 为基本操作单元,并且 Issue 创建非常方便。
在极狐GitLab 创建 Issue 时,可选择「模版」创建来减少创建相似 Issue 的重复工作;此外,还可以在创建 Issue 的同时,完成以下工作:
当然,最重要的是可以在 Issue 界面上直接创建 Merge Request,然后基于这个 Merge Request 来进行代码开发。
同一平台环境中的丝滑协作,大幅提升需求管理方和研发人员的体验。
极狐GitLab 上,需求管理(Issue)和代码变更(Merge Request)一一关联,而且所有变更,包括需求的来回沟通(Issue 中以 comment 的形式)、代码变更、审核、准入、安全扫描等都可以看到详细修改情况,如修改人员、修改范围、修改时间等。所见即所得,一切有迹可查,方便追溯,最终让安全审计变得更加容易。
极狐GitLab 团队就是使用极狐GitLab 项目管理来进行极狐GitLab 自身的敏捷迭代开发,做到了每月一个大版本发布。
这些研发成果已经沉淀为敏捷项目管理最佳实践,诸如 Issue 创建和使用,Epic 和 Issue 关联,燃起图/燃尽图使用等,任何团队都可以通过学习这些最佳实践,快速上手和落地极狐GitLab 敏捷项目管理功能。
极狐GitLab 私有化部署版本(Self-managed Version)会在每个月月底固定发布最新版本,SaaS 版则是不定期上线新功能,做到功能开发测试完成即快速部署上线。
同时,极狐(GitLab) 是一家全员远程办公的公司,在自身实践中始终贯彻了敏捷开发的理念,并不是照搬所有敏捷开发方法论,而是结合了自身远程办公模式的特点发展出来的,在工作流程上较为轻量灵活,并且也在不断迭代中。
下面就具体介绍一下极狐GitLab 的敏捷开发流程。
极狐GitLab 是月度发版机制,每个月 28 号推出新的 Release。因此,在项目管理过程中,以一个月为时间周期,用 Milestone 进行需求的管理。
极狐GitLab 研发团队会在 Milestone plan meeting 上进行 Issue 分发和认领。
以上流程完成,即可认为研发人员认领 Issue 成功。
Milestone 正式开始后,研发根据自己认领的 Issue 进行研发,在 Issue 页面上创建 Merge Request,并基于此 Merge Request 进行后续代码编写、提交。整个完成了需求(Issue)和代码变更(Merge Request)一一关联。
代码提交之后会触发 CI/CD Pipeline,需要确保提交的代码是经过 CI/CD Pipeline 流程验证的,比如代码风格检查、编译、测试、安全扫描等。如果有问题就需要及时进行修复,直到 CI/CD Pipeline 运行成功。
同时,每一个 Merge Request 都指派了对应的 Code Reviewer,只有相应 Code Reviewer 对代码变更进行 Review 并审批以后,才可由 Maintainer 将 Merge Request 合并到主分支。
Milestone 结束后,团队召开 Milestone Retrospective Meeting,对于上个 Milestone 的研发情况进行回顾,总结做得好的地方,复盘有缺失的地方。整个过程可使用极狐GitLab 燃尽图/燃起图,如下图:
此外,还可以配置极狐GitLab 专属的效能管理功能,查看对应的数据:
另外,极狐GitLab 研发团队还在使用极狐GitLab 自行研发的研发效能产品进行效能度量,在每月一次的 retro 会议中回顾团队整体绩效,如查看项目的新增提交、新增合并请求、成功流水线次数、项目活跃度等关键数据,拉齐团队宏观认知。
以**「持续集成流水线」和「合并请求」**为例:
正是在这样的敏捷开发流程下,极狐GitLab 能够保持月度发版,诞生至今已连续发行 23 个版本。
朝着更卓越、更贴合用户需求的极狐GitLab 不断进化的同时,我们也在帮助越来越多的来自千行百业的客户落地敏捷开发,成就精英效能组织。