About projects and scaling your organization
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
A project in Azure DevOps provides a space for users to plan, track progress, and collaborate on building software solutions. It serves as a fundamental container for storing data and source code.
When you create a project, Azure DevOps automatically creates a team with the same name, which is sufficient for small organizations. For enterprise-level organizations, you might need to scale up by creating more teams and projects. Azure DevOps supports up to 1,000 projects within an organization.
An organization with multiple projects allows teams to configure tools to suit their needs and complete administrative tasks at the appropriate levels. As your organization grows, your tools can scale 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 this organization, 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: Support different business units.
- Add teams: Create teams within a project.
- Add repositories and branches: Manage your source code.
- Add agents, agent pools, and deployment pools: Support continuous integration and deployment.
- Manage access: Use Microsoft Entra ID to handle a large number of users.
You can scale your on-premises Azure DevOps deployment in the following ways:
- Add server instances: Increase performance.
- Add project collections and projects: Support different business units.
- Add teams: Create teams within a project.
- Add repositories and branches: Manage your source code.
- Add agents, agent pools, and deployment pools: Support continuous integration and deployment.
- Manage access: Use Active Directory to handle 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 added to comments, discussions, or assignments. For example, everyone in the project (even users with new restrictions) can still see a user's name assigned to a work item when the user is no longer part of the project. The same applies to @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 provides the most optimized and flexible 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 isolates the data stored within it, and moving data from one project to another results in the loss of associated history.
For more information, see How many projects do you need?.
Add another project
Another feasible approach is to have multiple projects. This approach is recommended if your organization needs to:
- Prohibit or manage access to the information contained within a project for select groups
- Support custom work tracking processes for specific business units within your organization
- Support entirely separate business units that have their own administrative policies and administrators
- Test customization activities or add extensions before rolling out changes to the working project
- Support an open-source software (OSS) project
You might want to add another project in the following instances:
- Prohibit or manage access to the information contained within a project
- Support custom work tracking processes for specific business units within your organization
- Support entirely separate business units that have their own administrative policies and administrators
- Test customization activities or add 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 adding and managing user access.
- Require users to sign in to gain access even for read-only access.
- Provide all project members 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 for read-only access to many services.
- Support sharing code with others.
- 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 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
For more information, see Add widgets to a dashboard and FAQs about dashboards, charts, and reports.
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 non-Microsoft tool.
Q: What programmatic tools support projects?
A. See Projects REST API.
You can also use the az devops project CLI.