What if there were a product that is exposed to you first in the simplest form. It's clean, elegant and simple. Easy and not intimidating to use.
As you use the product, your needs begin to increase and suddenly you need a new feature. As it turns out, the product actually supports this feature and so you turn it on. Now, you are turning on feature X, not feature package premium--just feature X.
In fact, the product actually has several additional features and functionality that can be enabled and disabled one at a time. None of these "extra" features cost "extra". They are all included in the base price of the package.
What if your product has a training module, where users can be guided through test use case scenarios that expose and demonstrate new feature modules. And what if we make it so that when you enable a new feature on the product, that feature only shows up to users who have completed the training guide for the new feature in the module.
In other words, in order for any specific extra feature to show up it needs to be:
1) Turned on by the administrator.
2) Flagged as "trained" on a per agent basis.
This way the base product has easy accessibility and additional features can be exposed gradually not taking effect for an agent until they have gone through the training to learn how to use it.