Azure DevOps - 组织项目和存储库

Azure DevOps - organizing projects and repositories


(在此处发布问题,因为这是 Microsoft 使用 'Need advice? Ask community' 按钮重定向到的 'community'。希望它不会关闭'primarily opinion based''too broad')


您好,

我想开始在我的部门使用 AzureDevops 来组织代码和工作。我们是一个小团队,创建了大量应用程序和插件。

其中一些应用程序的生命周期非常短,也就是说,我们交付它们后,它们可以工作多年而无需更改。其他应用程序更大,updated/fixed 跨越数月或数年
这些应用程序在各个方面都彼此完全独立

据我了解 Azure DevOps 结构,我的部门应该成为 'Organization'(我们 can/need 与公司的其他部门分开)。

我对'Project'部分有点疑惑。文档说

In general, we recommend that you use a single project to support your organization or enterprise.

那么,假设我们确实有一个名为 Our Apps 的项目 - 然后我们将所有单独的应用程序项目放在哪里?

据我了解,我们交付的每个 产品(应用程序)都应该有自己的存储库(或一组应用程序,如果它们在逻辑上是相关的)。

这是为了让开发人员可以简单地在他们的机器上克隆 repo 并只为该 产品 做出贡献 - 无需下载其他项目等

我需要能够:

目前在我看来,我唯一可以看到 的 'list' 我们有什么 产品 [=71] =] 是下面的下拉列表:

了解大到可以自己开发板的产品发生了什么的唯一方法是创建一个新的单独的'SomeApp Team' 在项目中(即使同一个人在其中),这样我就可以拥有 SomeApp 的看板 - 并从这里查看看板:

  1. 这是组织结构的预期方式吗?
  2. 任何替代方法?
  3. 有什么方法可以得到 'cross-reposistory' 或 'cross-team' 概览吗?
  4. 如何为每个 'product' 创建文档?

one project to rule them all”是由 Martin Hinshelwood 和他的博客 post 在解释原因和限制时创造的。

随着对积压工作的标记和过滤的引入,单项目设置中出现了另一种方法。

  • 为您组织中的真实团队创建团队。
  • 为组织中的每个专业 project/product 创建一个区域路径。
  • 将项目的区域路径分配给正在处理它们的团队。这可能会随着时间的推移而改变。
  • 可选择使用主要 project/product 标记工作项以进行额外过滤。

这样每个团队都能看到他们可以从中提取的所有工作的完整视图。在讨论特定 projects/products.

时,他们可以通过标签快速过滤作品以从视图中删除项目

此外,当团队将焦点从一个 product/project 转移到另一个时,您只需更改该团队的指定区域即可更新他们的视图。

Plan View extension provides an additional cross-team view across over all the work. And the Dependency Tracker 扩展可以可视化随时间变化的依赖关系。

您还可以使用 Epic/Feature/PBI|UserStory 树结构在您的工作项中创建额外的分组。您可以自定义流程模板以引入产品级别,但要使计划功能发挥作用,这也意味着您还必须创建从产品到 PBI|UserStory 的完整可追溯性。

主要建议是以轻量级方式尝试其中的一些方法,以了解它们的工作原理并找到您自己的理想设置。

跨项目可视化的另一个选项是启用 Analytics Extension and connect it to PowerBI

您很快就会发现,标签、存储库和管道的命名准则将非常重要。能够快速过滤到正确的级别需要这个。