Azure DevOps - organizing projects and repositories

Bar*_*osz 5 tfvc azure-devops azure-pipelines azure-repos azure-boards

(Posting the question here as this is the 'community' that Microsoft redirects to with a 'Need advice? Ask community' button. Hope it won't get closed as 'primarily opinion based' or 'too broad')

Hello,

I want to start using AzureDevops in my department for organizing code & work. We're a small team who creates a large number of applications & plugins.

Some of these applications have a very short lifecycle, i.e. we deliver them, and they work for years without changes. Other apps are larger and are updated/fixed across several months or years.
These applications are completely separate from each other in all aspects.

As far as I understand Azure DevOps structure, my department should become an 'Organization' (we can/need to be separate from the rest of the corporation).

I am a bit puzzled about the 'Project' part. Documentation says

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

So, let's say we do have one project called Our Apps - where do we then put all the individual application-projects?

As far as I understand, each product (application) that we deliver should have it's own repository (or a set of applications, if they are logically connected).

This is in order to allow a developer to simply clone the repo on their machine and contribute to that product only - without downloading other projects etc.

I need to be able to:

  • easily navigate/see all the tens/(hundreds?) of applications that we create,
  • view their separete kanban boards (for those project that do have it, not all of them will)
  • to see their repositories (Git or TFS), commits etc
  • see & manage their pipelines

At the moment it seems to me that the only place where I can see a 'list' of what products do we have is the drop down below:

在此处输入图片说明

And the only way to see what is going on in the big-enough-to-get-own-board products is by creating a new separate 'SomeApp Team' in the Project (even though same poeople are in it), so that I can have a board for the SomeApp - and view the boards from here:

在此处输入图片说明

  1. Is that the intended way to organize the structure?
  2. Any alternative approaches?
  3. Is there any way to have a 'cross-reposistory' or 'cross-team' overview?
  4. What about creating documentation for each 'product'?

jes*_*ing 8

一个统治他们所有人的项目”是由 Martin Hinshelwood 创造的,他的博客文章解释了原因和限制。

随着对积压工作的标记和过滤的引入,在单一项目设置中提供了一种替代方法。

  • 为您组织中的真实团队创建团队。
  • 为组织中的每个主要项目/产品创建区域路径。
  • 将这些团队所在项目的区域路径分配给团队。这可能会随着时间而改变。
  • 可选择使用主要项目/产品标记工作项以进行额外过滤。

通过这种方式,每个团队都可以看到他们可以从中提取的所有工作的完整视图。在讨论特定项目/产品时,他们可以通过标签快速过滤工作以从视图中删除项目。

此外,当团队将他们的重点从一个产品/项目转移到另一个产品/项目时,您可以简单地更改为该团队分配的区域以更新他们的视图。

计划视图扩展提供了跨所有工作的额外跨团队的视图。而依赖跟踪扩展可以想像随着时间的推移依赖。

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

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

跨项目可视化的另一个选项是启用Analytics Extension并将其连接到 PowerBI

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