什么是Epic
简单来说,就是讲一个宏大的史诗(Epic)故事,从而可以让所有人从这个故事中理解作者的本意。Epic Story是一种通过不断拆解项目而便于所有人统一认知的项目描述方法,它通过不断对同一核心的概念的拆解,将需要工作的“条目”逐渐明确。而这些条目一般来说是由Epic,Feature,Story,Task构成。
Epic和Milestone
通常在软件开发过程中,一个短的迭代周期称为一个 Sprint,每个 Sprint 的建议长度是一至四周。
在极狐Gitlab中,通常⽤ Milestone 对应每⼀个 Sprint。Milestone ⽤于跟踪 Issues 和 pull requests 的进度,跟踪和描述的是软件在时间维度上的进展情况,侧重点在于何时完成那些功能,但⽆法关注软件本⾝是什么,分⼏个部分,哪些部分是由什么组成的,之间关系⼜如何,⽽这些就是Epic的能力所在。
⽬前极狐Gitlab的 Milestone 是免费的,Epic 是付费的。
最佳实践
下面以“前端监控”这个模块的开发为例,演示如何基于史诗(Epic)和里程碑(Milestone)来规划产品方向和明确任务目标。
步骤
第一步,新建Epic
tips:这里我们将史诗描述成一个业务模块
第二步,编辑Milestone
tips:这里我们将里程碑划分成三个阶段
第三步,Issue关联Epic和Milestone
同时,在 Issue 管理过程中,可以将某些重点的 Issue 提升为 Epic 级别
通过 Epic,可以清楚的看到,Epic 关联的每一个 Issue,清晰的展示了 Issue 的层次结构,关注重点在未来产品的规划和战略方向
通过 Milestone,可以看到项目的进度及跟踪 Issue,关注重点在于项目的进展情况
价值
1. Issue 关联 Epic 后,形成一个整体的层次结构,描述了这些Issue的相关性,明确方向规划和业务前瞻性。
2. 通过 Milestone ,可以跟踪软件如何有序的通过⼀ 次次迭代开发完成,以及进度和⼈员的相关情况,和 Epic 相辅相成,缺一不可。
3. 对于企业而言,Epic 和 Milestone 都是必不可少的两个功能,Epic 是面向客户的解决方案,常用用户场景方式,模拟客户实际使用系统的场景,帮助企业去规划整个产品蓝图,而 Milestone 可以度量项目的实际进展,快速交付产品,所以在整个软件研发过程中,两者相辅相成,缺一不可。