About projects and scaling your organization
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
A project in Azure DevOps provides a place for users to plan, track progress, and collaborate on building software solutions. A project represents a fundamental container where you can store data and source code.
When you create your project, Azure DevOps automatically creates a team of the same name, which is sufficient for small organizations. For enterprise-level organizations, you might need to scale up and create more teams and projects. You can have up to 1000 projects within an organization in Azure DevOps.
The following diagram shows one project and team versus multiple projects and teams in an organization or collection.
One project + team
Multiple projects + teams
This structure allows teams to configure the tools in ways that work for them and complete administrative tasks at the appropriate levels. As your organization grows, your tools can grow to support a culture of team autonomy and organizational alignment.
For more information, see Work tracking, process, and project limits and Plan your organizational structure.
Manage work across your organization
When you connect to Azure DevOps, you connect to an organization. Within that container, you can define one or more projects. At least one project must be created to use the system.
You can scale your organization in the following ways:
- Add projects to support different business units
- Add teams within a project
- Add repositories and branches
- Add agents, agent pools, and deployment pools to support continuous integration and deployment
- Manage access through Microsoft Entra ID to manage a large number of users
You can scale your on-premises Azure DevOps deployment in the following ways:
- Add server instances to increase performance
- Add project collections and projects to support different business units
- Add teams within a project
- Add repositories and branches
- Add agents, agent pools, and deployment pools to support continuous integration and deployment
- Manage access through Active Directory to manage a large number of users
View projects in your organization
View the projects defined for your organization by opening the Projects page.
Select
Azure DevOps to open Projects.
Choose a project from the list of projects.
For more information, see Create a project.
Limit project visibility
By default, users added to an organization can view all organization and project information and settings.
For more information, see Limit user visibility for projects and more and Change project visibility to public or private.
View historical data
All project members can view identities that were added to a comment, discussion, or assignment. For example, everyone in the project (even users with the new restriction) can still see a user's name assigned to a work item when the user's no longer part of the project. The same is true for @mentions in PRs, comments, discussions, and more.
Use a single project
One recommended approach is to use a single project to support your organization or enterprise. A single project can help minimize the maintenance of administrative tasks and supports the most optimized and full-flexibility cross-link object experience.
Even if you have many teams working on hundreds of different applications and software projects, you can easily manage them within a single project. A project serves to isolate data stored within it and 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.
For more information, see How many projects do you need?.
Add another project
Another feasible approach is to have multiple projects, which is a recommend approach if your organization is looking to accommodate the following scenarios:
- 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
You might want to add another project in following instances:
- 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 before rolling out changes to the working project
Use private and public projects
You can have both private and public projects. You can also change the visibility of a project from either one to the other.
Private projects require that you add and manage user access. Users must sign in to gain access to a project, even if it's read-only access. All project members have access to the project and organization information. For more information, see Resources granted to project members.
Public projects don't require users to sign in to gain read-only access to many of the following services. Public projects provide support to share code with others and to support continuous integration/continuous deployment (CI/CD) of open-source software.
For more information, see Change visibility of a project.
Version control support
Git repositories can be browsed and cloned, but only via HTTPS. SSH and GVFS endpoints are unavailable. Clients like Visual Studio and IntelliJ work with the HTTPS clone URL but don't offer the connected experience linking to work items and other collateral.
Dashboard widget support
The following dashboard widgets don't display any useful information for nonmembers.
- Assigned to me
- Code tile
- New work item
- Pull request
- Query results
- Requirements quality
- Sprint burndown
- Sprint capacity
- Sprint overview
- Team members
- Welcome
- Work links
- Other links
Structure your project
Use the following elements to structure your project to support your business needs.
- Create a Git repository for each subproject or application, or create root folders within a TFVC repository for each subproject. If you're using TFVC and heading toward a combined project model, create root folders for different teams and projects, just as you would create separate repos in Git. Secure folders as needed and control which segments of the repo you're actively using with workplace mappings.
- Define area paths to support different subprojects, products, features, or teams.
- Define iteration paths (also known as sprints) that can be shared across teams.
- Add a team for each product team that develops a set of features for a product. Each team you create automatically creates a security group for that team, which you can use to manage permissions for a team. For more information, see Portfolio management.
- Manage access to specific features and functions using custom security groups.
- Create query folders to organize queries for teams or product areas into folders.
- Define or modify notifications set at the project level.
Customize and configure your project
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 do the following tasks. For a comprehensive view of which 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 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 more information, see Customize an inheritance process.
- Azure Pipelines: You can fully customize your build and release pipelines, and define build steps, release environments, and deployment schedule. For more information, see Build and release.
- Azure Test Plans: You can define and configure test plans, test suites, test cases, and test environments. You can also add test steps within your build pipelines. For more information, see Exploratory and manual testing and continuous testing for your builds.
Add a team
As your organization grows, you can add teams equipped with configurable Agile tools to meet each team's workflow. For more information, see the following articles.
- Scale Agile to large teams
- About teams and Agile tools
- Manage a portfolio of backlogs and see progress.
- Use delivery plans to scheduled work items by sprint (iteration path) of selected teams against a calendar view.
- Incrementally adopt practices that scale to create greater rhythm and flow within your organization, engage customers, improve project visibility, and develop a productive workforce.
- Structure projects to gain visibility across teams or to support epics, release trains, and multiple backlogs to support the Scaled Agile Framework.
Connect to a project with other clients
Aside from connecting via a web browser, you can connect to a project from the following clients:
- Visual Studio (Professional, Enterprise, Test Professional)
- Visual Studio Code
- Visual Studio Community
- Office Excel
- Test & Feedback extension
- Microsoft Feedback Client
For more information, see Compatibility with Azure DevOps Server versions.
Key concepts
Use the following index to quickly access concepts and tasks related to managing projects and teams.
User and administrative tasks
Several of the following tasks require permissions granted to a member of the Project Administrators group or a team administrator.
Frequently asked questions (FAQs)
Q: Can I move or transfer a project to another organization or collection?
A: Yes, but not without losing data. You can manually copy resources and leave some behind, or use a third-party tool, such as OpsHub Visual Studio Migration Utility, which copies data using the REST APIs.
Q: What programmatic tools support projects?
A. See Projects REST API.
You can also use the az devops project CLI.