feat(usability): Add guidelines for feature configuration and feature discovery moments
Adding initial guidelines for disabling features and presenting upgrade notifications (feature discovery moments) within the product.
Background
As our product grows, we want to ensure that users know about features that would be useful to them and help improve efficiency. One way of doing this is through feature discovery moments in the UI. While this can be a great way of highlighting what is available, it can also become intrusive when its over used or when users can not get rid of the discovery moments that they have no interest in pursuing further.
Problem
We've received feedback that some users will prefer to use CE in order to avoid discovery moments. This can be problematic because if, at some point in the future, the user does decide to upgrade, it is a much more difficult process to upgrade to EE than it would be if they were using EE from the beginning. We want to ensure that our feature discovery moments are useful and not forcing people to CE in order to avoid them.
Solution
This MR aims to add guidance around when discovery moments are appropriate and how they should be used.
Additionally, this MR adds guidance on disabling features at the project level in order to further simplify the UI for users who are not needing certain features.
- Related: gitlab-org/gitlab#333005 (closed)
- Related key review meeting: https://drive.google.com/file/d/1ZYaVBz-b0sPeT4r6bAZ-lJeC0PMrMP-g/view?usp=sharing