Very confusing? Yes! It’s very confusing to understand what’s the difference between Team and Group in the Azure DevOps. Let’s discuss about it today.
Both Team and Group are same. But they are different in the context i.e. the way and where we implement them. Both are part of a project in Azure DevOps. What I mean to say is we create or have a team or a group at project level, and not at the Organization level. Both are used to implement permissions to the human resources working on the project.
There are built-in groups i.e. Project Administrators, Build Administrators, Contributors, Project Valid Users and Readers. There groups are already provided by the Azure DevOps and can’t be deleted.
When we create a project, a team is created with the same name as project by default. And this team will appear if we go to the Permissions option in Project Settings where built-in permissions groups appear. This default team can’t be deleted too.
So, what the difference between a team and a group?
Both are used to implement permissions to the human resources. Let’s say, we have a project team with 20-25 people i.e. a small team working on the project. In this case, we don’t need extensive permission mechanism. So, we can go and add the users to the built-in groups one by one, and permissions will be implemented to them. Handling of a small group of resources is easier i.e. we can add or remove or delete them one by one. In this scenario, we don’t need a team concept. The built-in groups are suffice to implement the security/permissions.
But, let’s assume we have a team of 1000 resources working on a project. The Dev Team consists of 700 developers with various roles such as Sr. Software Engineer, Software Engineer, etc. When we need to implement permission for these 700 developers, it’s not wise practically to add/remove each user one by one. It would always be easier to have a group of 700 developers and implement permissions to the group or add that group to built-in groups. In this case we create the concept of a Team, add all 700 developers to a team and use that team as a Group. In fact, every team is technically a group.
Therefore, decision to have team/group depends upon what team size and architecture we have for the project. Based on that, we can decided either to work with only built-in groups or have both teams and groups. I recommend to start with built-in groups with simple architecture/permission mechanism and extend it later with teams if required.