Tailoring the training to different roles (sales, marketing etc.) is extremely important. You can focus efforts on the functionality and processes that specific departments will use on a daily basis, which will help them be more productive and achieve their individual targets and goals.
When you train at go-live, it is important that users learn to walk before they can run. But beyond that, as users get more experienced, this is the time where they can get productive in the system. Not everyone needs advanced knowledge of the system, but it is good to have a number of super users who can act as ‘System Champions’.
Learning is always more relevant if everyone can apply the training in the context of their own customised system. Generic training can demonstrate how core functionality works, but in order to make it part of employee daily routines and habits, it is important that the training mirrors the actual system or process they will be using.