About projects and scaling your organization

Azure DevOps Services | Azure DevOps Server 2019 | TFS 2018 | TFS 2017 | TFS 2015 | TFS 2013

A project provides a repository for source code and a place for a group of people to plan, track progress, and collaborate on building software solutions. It represents a fundamental container where data is stored when added to Azure DevOps.

When you create your project, a team of the same name is automatically created. For small teams, this is sufficient. However, for enterprise-level organizations, it may be necessary to scale up, to create additional teams and/or projects. These can be created within the single account or collection.

Single project and team defined within an organization or collection
Single collection-project-team conceptual image

Multiple projects and teams defined within organization or collection Scaled collection-project-team conceptual image

The collection-project-team structure provides teams a high-level of autonomy to configure their tools in ways that work for them. It also supports administrative tasks to occur at the appropriate level. As your organization grows, your tools can grow to support a culture of team autonomy as well as organizational alignment.

How do you manage work across the enterprise?

How do you scale your DevOps and Agile tools to support your growing enterprise?

When you connect to Azure DevOps, you connect to an organization or project collection. Within that container, one or more projects may be defined. At a minimum, at least one project must be created in order to use the system.

You can scale your organization in the following ways:

  • To support different business units, you can add projects
  • Within a project, you can add teams
  • Add repositories and branches
  • To support continuous integration and deployment, you can add agents, agent pools, and deployment pools
  • To manage a large number of users, you can manage access through Azure Active Directory

You can scale your on-premises TFS deployment in the following ways:

  • To increase performance, you can add server instances
  • To support different business units, you can add project collections and projects
  • Within a project, you can add teams
  • Add repositories and branches
  • To support continuous integration and deployment, you can add agents, agent pools, and deployment pools
  • To manage a large number of users, you can manage access through Active Directory

Both Azure DevOps Services and Azure DevOps Server are enterprise-ready platforms that support teams of any size, from tens to thousands. Azure DevOps Services, our cloud service, provides a scalable, reliable, and globally available hosted service. It is backed by a 99.9% SLA, monitored by our 24x7 operations team, and available in local data centers around the world.

How to view projects defined for your organization or collection

You can view the projects defined for your organization by opening the Projects page.

  1. Choose the Azure DevOps logo to open Projects.

    Open Projects

  2. From there, you can choose a project from the set of projects listed.

  1. Choose the Azure DevOps logo to open Projects.

    Open Projects, horizontal nav

  2. From there, you can choose a project from the set of projects listed.

    Open Projects, horizontal nav

  1. Choose the name of the server.

    Open Projects, horizontal nav

  2. From there, you can choose a project from the set of projects listed.

When to add another project

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.

Reasons to add another project

Instances where you may want to add another project include the following:

  • 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 prior to rolling out changes to the working project
  • To support an Open Source Software (OSS) project

Instances where you may want to add another project include the following:

  • To prohibit or manage access to the information contained within a project
  • 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 prior to rolling out changes to the working project

Private and public projects

You can add either public or private projects to your organization. You can also change the visibility of a project from private to public.

Private projects require that you add and manage user access. Users must sign-in to gain access to a project, even if it is read-only access. All users added to a project gain access to information contained with the project and organization. For details, see Resources granted to project members.

A public project, on the other hand, doesn't require users to sign in to gain read-only access to many of the services. Public projects provide support to share code with others and to support continuous integration/continuous deployment (CI/CD) of open source software. To learn more about public projects, see What is a public project?.

Structure your project

When you add a project, look at using the following elements to structure it to support your business needs:

Customizing and configuring projects

You can configure and customize most services and applications to support your business needs or the way your teams work. Within each project you can perform the following tasks. For a comprehensive view of what resources can be configured, see About team, project, and organizational-level settings.

  • Dashboards: Each team can configure their set of dashboards to share information and monitor their progress.
  • Source control: For each Git repository, you can apply branch policies and define branch permissions. For TFVC repositories, you can set check-in policies.
  • Work tracking: You can add fields, change the workflow, add custom rules, and add custom pages to the work item form of most work item types. You can also add custom work item types. For details, see Customize an inheritance process.
  • Build and Release: You can fully customize your build and release pipelines, define build steps, release environments, and deployment schedule. For details, see Build and Release.
  • Test: You can define and configure test plans, test suites, and test cases as well as configure test environments; additionally you can add test steps within your build pipelines. For details, see Exploratory & Manual Testing and continuous testing for your builds.
  • Dashboards: Each team can configure their set of dashboards to share information and monitor their progress.
  • Source control: For each Git repository, you can apply branch policies and define branch permissions. For TFVC repositories, you can set check-in policies.
  • Work tracking: You can add fields, change the workflow, add custom rules, and add custom pages to the work item form of most work item types. You can also add custom work item types. For details, see Customize the On-premises XML process model.
  • Build and Release: You can fully customize your build and release pipelines, define build steps, release environments, and deployment schedule. For details, see Build and Release.
  • Test: You can define and configure test plans, test suites, and test cases as well as configure test environments; additionally you can add test steps within your build pipelines. For details, see Exploratory & Manual Testing and continuous testing for your builds.

When to add a team, scaling Agile tools across the enterprise

As your organization grows, you'll want to add teams to provide them the Agile tools that each team can configure to meet their workflow. To learn more, see the following articles.

To review stories and short videos on how Microsoft transitioned from waterfall to Agile, see Scaling Agile Across the Enterprise.

Clients that support connection to a project

In addition to connecting through a web browser, you can connect to a project from the following clients:

See also, Compatibility with Azure DevOps Server versions.