Discovery - Using Groups as Teams in Gitlab
Problem to solve
In this issue we will explore whether Groups can be used to represent teams in Gitlab. This research has started based in a comment made by Sid during a recent GC call. Please see the parent Epic for a description of the problem statement
Details
Let's explore what would need to change to make this approach work.
Current Group functionality allows the creation of collections of users. What an organization would need to to is:
- Create a top-level group to represent their organization. Only add admins that need access over the entire organization there.
- Create sub-groups to represent teams in their organization.
- Add team members to these sub-groups only.
- Grant access to those teams to projects as needed.
- Current functionality for groups solves for permissions. We would need build out the experience and Plan specific functionality associated to groups without projects.
To simplify discussion here's a quick diagram of what this would look like:
graph TD;
Company-->Technology;
Company-->ProjectManagement;
Company-->People;
Technology-->Component1;
Technology-->Component2;
Component1-->Project1;
Component1-->Project2;
Component2-->Project3;
Component2-->Project4;
ProjectManagement-->ProductLine1;
ProjectManagement-->ProductLine2;
ProductLine1-->Product1;
ProductLine1-->Product2;
ProductLine2-->Product3;
ProductLine2-->Product4;
People-->Department1;
People-->Department2;
Department1-->Team1;
Department1-->Team2;
Department2-->Team3;
Department2-->Team4
In the diagram above everything is a group!
Proposal
- Give an option to create a team structure as an option under the top-level group.
- Remove all from the side menu functionality except Members
- Not able to create any projects underneath
- In Settings, only show the General tab.
- Hide Large File Storage
- Hide Default Branch Protection
- Hide Allowed to create projects
- Hide Two-factor auth
- Hide Badges
- These groups can then be shared into other subgroups that contain project management and repositories resources.
Edited by Daniel Mora