Github Projects和Milestones之间有什么区别/关系

时间:2016-09-20 10:29:44

标签: github project-management

最近对Github的更新在Github工作流程中添加了一些名为 Projects 的内容,因为我对项目跟踪工具没有任何特殊经验比如Jira或Trello (嘿,至少我注意到相似性),任何人都可以,详细说明Github的 <之间的(关键)差异 em>里程碑 和新的 项目

如果我理解正确, 里程碑 是将问题组织成较小的“子项目”的方式 - 小于整个“项目”(在我的世界中) view,由 存储库 表示。完成/关闭所有问题后,里程碑可视为完成

我认为,新推出的 项目 也是一种将问题组织到小于存储库中的方法子项目“(虽然称为项目)。我理解工作流程应该与“仅仅” 里程碑 相比略有不同且更细粒度。

那么项目是否会补充里程碑(或者更确切地说里程碑补充项目?)或应该我宁愿将项目视为里程碑 替换

项目 究竟在哪里实际属于repository[-milestone]-issue层次结构?

可悲的是,Github关于 Projects 引入的博客文章没有提到任何关系(https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and-features)。

我觉得有一个,但我不能指责它。

4 个答案:

答案 0 :(得分:114)

我想知道完全一样的事情。这就是我想出来的。

首先,让我们回顾一下主要的相似点和不同点:

  • 问题可能属于多个项目,但只有一个里程碑。
  • 项目永远不会完成。没有进度条或截止日期。项目没有进度条或截止日期,但现在可以关闭(正如@Sheen指出的那样)
  • 另一方面,里程碑就是这样,但缺乏任何形式的组织。一个问题要么是里程碑,要么是不是。 (可以按照@Nick McCurdy的指示订购)
  • 问题可以通过Milestone过滤,但不能通过Project过滤。正如@cmonkey所指出的,现在可以通过Project和Milestone过滤问题。
  • 项目可以包含 Notes (可以转换为问题),因此它不会用模糊的想法污染问题跟踪器
  • 项目可以跨越多个里程碑,里程碑可以包含不同项目的部分。
  • 组织也可以拥有项目。这些项目可以包括组织中任何存储库的票证,这使它非常有用。

所以我认为,项目是一种完全独立的方式,可以在更高层次上可视化和组织您的工作(想想&#34;项目管理&#34;,多个团队,多个存储库等),而里程碑是一种在更基本的层面上组织截止日期和发布的方式(想想&#34;发布管理&#34;,&#34;版本&#34;等)。考虑到这一点,一个问题只属于一个里程碑(它只发布或推向生产一次),但可以成为不同项目的一部分。

我确定他们有其他方式来看待它,我很想听听其他意见。

编辑2017年12月

前段时间,在与里程碑和项目合作超过一年后,我意识到还有一个我完全忽略的重要方面。

  • 里程碑 Scrum 方法的工具。里程碑适用于时间盒迭代,并且可以在多个问题的冲刺中工作。
  • 项目看板方法的工具。项目有利于持续交付和稳定的工作流程。

答案 1 :(得分:10)

项目的一个好处是,它们比里程碑更自由。您可以在其中查看说明并链接到问题,然后组织它们,但它适合您。它们非常适合记录想法,制定路线图以及列出资源和依赖关系。在过去,我使用了问题和维基用于相同的事情,但我发现它们都过于正式和交易(即更高的开销)。

答案 2 :(得分:9)

里程碑是一种标记,用于标记和分组预计在某个时间点发送的故障单。您可以从Milestones页面访问的Issues页面清楚地显示 - 您可以看到为特定里程碑和截止日期完成的故障单百分比。您还可以按截止日期对里程碑进行排序,并确定特定里程碑内的故障单的优先级。

这里的压力在于交货日期和跟踪进度。

另一方面,

项目在GitHub中作为Kanban板实现,带有一些铃声和口哨声。您可以指定多个列( swimlanes - 正如@Doug所说, swimlanes 尚不支持)来创建简单的工作流程。然后,您可以从一个或多个存储库添加票证,确定它们的优先级,然后在处理它们时将它们从一个列升级到另一个列。例如,您可以进行“积压”,“正在进行”,“正在审核”,“在测试中”和“完成”列,并从左到右或从右到左移动票据,如果有缺陷的话门票从'In Testing'反弹回'Backlog'。

这里的压力在于组织和管理工作。

然后,您如何组织和分区工作取决于您。您可以在每个里程碑中创建项目,也可以在单个项目中创建多个里程碑,或将里程碑拆分为较短的sprints。您还可以拥有多个涉及产品工作不同方面的项目,例如,一个用于开发人员,一个用于测试人员。

答案 3 :(得分:3)

在 GitHub 上:

  • 项目是一个有开始但没有结束的过程。
  • 里程碑是一个强调结束时间的过程。

所以使用里程碑将项目拆分为多个有结束时间的阶段是正确的。

我是这样使用的:

  • 组织项目用于组织有关多个存储库的流程。
  • Repository Project 用于组织长期分支的迭代过程,例如开发分支、自定义分支。
  • 里程碑是一个迭代阶段。