To make the learning experiene as smooth as possible, I think we need to option to define different levels for the same user. In this way, a new user works in a simplified user interface with only the basic functions. After gaining some experience, the user can level up to use more advanced options. Without asking the administrator to change his user group.
We could facilitate to with the definition of the difficulty level on a role-level for the specific user group. For the user group Backoffice for example, maybe the role to create a customer is a ‘beginner’-task but to create an invoice is an ‘advanced’-task.
Ideally these levels should be configurable in IAM so if you want two levels that should be possible but also three or five.
Then, in the end application, an end user can change the difficulty level of the UI just as easy as changing its display language. When a user choses the advanced level, he gets all the roles designated to the advanced level but also the Beginner level. The Expert level get al the roles of the advanced and beginner level.
As an final addition the user should be able to customize his own level by picking and choosing out of all the assigned roles of his user group(s).