Search code examples
azure-devopsazure-devops-server-2019

Azure DevOps - Multiple projects with multiple Kanban boards vs Single Project with multiple repositories


I'm thinking to move to Azure DevOps. But I'm at the stage where it's hard to decide which option will be useful.

My Requirements:

  1. Single dashboard for the current sprint to have transparency to everyone in the team. No context switching.
  2. Single backlog for all projects.
  3. User stories & bug will be easily identified by project.
  4. Reports by projects, teams, etc.
  5. Service hooks - Microsoft teams, etc.
  6. Source control - GIT.
  7. Artifacts.
  8. Test plans under one board.

I'm thinking of going with single project(multiple repositories)

But before going down this road I just want to know what are the pros and cons of both options.


Solution

  • In general, we recommend that you use a single project to support your organization or enterprise. A single project minimizes the maintenance of administrative tasks and supports the most optimized / full-flexibility cross-link object experience.

    Even if you have many teams working on hundreds of different applications and software projects, you can most easily manage them within a single project. A project serves to isolate data stored within it. You can't easily move data from one project to another. When you move data from one project to another, you typically lose the history associated with that data.

    So according to your situation, it is recommended to use a single project with multiple repos and multiple teams. For details you can refer to this official document.

    Reasons to add another project

    You may want to add another project in following instances:

    • To prohibit or manage access to the information contained within a project to select groups
    • To support custom work tracking processes for specific business units within your organization
    • To support entirely separate business units that have their own administrative policies and administrators
    • To support testing customization activities or adding extensions before rolling out changes to the working project
    • To support an Open Source Software (OSS) project