Make DevOps Adoption feature more available to target users
Overview
The DevOps adoption table is a valuable feature for leadership to see which GitLab stages and features have been adopted by their teams. The feature was implemented in a way that creates two limitations we would like to resolve.
- This is an instance-level feature which means it is only available to self-managed customers.
- The feature is accessed through the Admin Area, which further restricts access to administrators. This feature is more likely to be valuable to executives and decision makers who are not administrators of the GitLab instance.
This issue is to discuss how we can make the feature available to SaaS users and non-Admin users, while also avoiding degradations in performance that could result from querying too many groups to populate the table.
Potential options
Option 1: Restrict to top-level groups and direct descendants
- On gitlab.com, only show the adoption table in group namespaces that have a subscription associated with them, as described here. The table only displays data for direct descendants of the group.
- On self-managed instances, the adoption table is available for top-level groups and shows data for direct descendants
Pros:
- Provides SaaS customers with an "instance-wide" view of DevOps adoption
Cons:
- This is still an imbalance between SaaS and self-managed customers because self-managed customers will have the feature available in more groups
- I'm not sure we've done this before where we have a feature available in one level of the group hierarchy but not others. It might be a level of complexity that goes against our product principles.
Option 2: Restrict to groups associated with an Ultimate subscription
- DevOps Adoption is already an Ultimate feature. Can we limit the querying that is required by only looking at groups that are part of an Ultimate subscription?
Pros:
- Might help contain the processing load and performance issues for gitlab.com
Cons:
- This traps us into keeping this feature at the Ultimate level. There is benefit in providing the adoption table at lower tiers, as discussed in &5019.
- Doesn't help contain the processing load and performance issues for self-hosted Ultimate customers with a very large number of groups. We could disable the feature by default, but this is contrary to our product principles.
Option 3: A combination of the Option 1 and 2
References
See also #235817 for a similar discussion about DevOps Score
Edited by Larissa Lane