VSCode 是 GitHub 上最热的开源项目之一,而 CodeChina 是 CSDN 推出的开源管理平台。CodeChina 平台几乎是 GitHub 的翻版,在功能特点上非常相似。和 GitHub 一样,CodeChina 也可以免费创建私有项目,所以我们完全可以使用 CodeChina 来管理我们的软件项目,但是 CodeChina 只提供了非常简单的项目管理功能,没有提供完整的敏捷开发模板。那么我们如何利用 CodeChina 的现有功能来实现敏捷开发管理呢?
鉴于 CodeChina 和 GitHub 的相似性,我尝试去 GitHub 上去看看是不是有值得借鉴的项目。我发现了 VSCode 就是那个可以借鉴的项目。接下来我们看到了用户虽然都是 GitHub 的,但是它也适用于 CodeChina,因为无论是 GitHub 还是 CodeChina 都是使用 issues 来管理项目。
Backlog 管理
VSCode 使用 MileStone 功能来管理 Backlog。它把 Backlog 分成了 Backlog, Backlog Candidate 和 On Deck。如下图所示:
- Backlog
某个版本还没有安排的工作都放在这里 - Backlog Candidates
还没有计划在将来某个版本开发的工作先存在这里。将来做 Release Planning 的时候可以从这里挑选要做的工作放入 Backlog - On Deck
将在下个里程碑 (sprint) 里要做的工作先放在这里。
可以看出来在 Release Planning 的阶段,产品经理会从 Backlog Candidates 里挑选出工作放到 Backlog 里,而在 Sprint Planning 之前会把 Backlog 里的工作放到 On Deck 里。
Sprint 管理
VSCode 的 Sprint 也是使用 Milestone 来标记,因为 Milestone 可以规定开始时间和结束时间,如下图所示:
每个 Sprint 的目标会写在一个 issue 中并且在 issues 列表上置顶,比如下图中的 Iteration Plan for March 2021:
Sprint Goal 里列举所有的工作内容,每个 workitem 都用 issue 创建, issue 的 milestone 也会对应到 sprint 的 milestone 上。VSCode 里把 sprint 叫做 Iteration。下面这个 workitem 的 milestone 就被设置为 March 2021。这样便于查看整个 sprint 的进度。
Work item 的管理
每个 Work item 都会用 Label 标记,VSCode 没有使用敏捷中标准的 Theme, epic, user story 来分类功能的大小。通过对 label 下关联的 issue 数量我发现工作的大类分为:
- feature required
- Bug
如果需要的话,我们可以创建 Theme, epic, user story 这样的标签,然后用 todo 来给他们分类,具体用法可以参考 .Net Core 项目:.Net Core
VSCode还使用标签来注明 Work item 的特点,总体上说这一点比较随意。
总结
本文介绍了 VSCode 如何使用 GitHub 的现有功能来实现敏捷开发:使用 milestone 来做 backlog 和 sprint 管理。用 issue 来管理 sprint goal,使用 label 来给 work item 分类等。虽然没有 JIRA 这样的敏捷项目管理工具专业但是通过充分利用 github 的现有功能也能达到敏捷开发的目的。CodeChina 和 GitHub 一脉相承,所以我们也可以借鉴 VSCode 的技巧在 CodeChina 中实施敏捷开发。
参考链接
VSCode
Development Process of VSCode
.Net Core 敏捷开发的 User Story, Epic的相关 label