Since the early days of iOS, Apple has always made it relatively easy to configure iOS devices to meet the needs of managed deployments in schools, businesses, and other mass-deployment situations. Heck, even the good old iPod Classic had a "museum mode" that could lock down the device to show specific notes on the screen while audio played.
Over the past few years, iOS deployment has become more 'professionalised' – which might be a euphemism for 'complicated'. Honestly, all mass computer deployment is deeply complex when you get down to it. The best systems automate almost everything. iOS deployment, as it has developed in recent years, has tended to keep most of the moving parts close to the surface. These parts have been difficult or impossible to automate and easy to overlook or forget. That would be fine if most of these parts were optional, but they're not.
The main parts of an iOS deployment are a Mobile Device Management server for configuring and tracking your devices, the Volume Purchase Program for bulk-buying apps from the App Store, and the user of the device having an Apple ID.
When Apple launched the Volume Purchase Program, they introduced the ability for administrators to assign apps to users' Apple IDs, rather than to devices. This also introduced the requirement that every device have a single, identifiable user who has a working Apple ID.
This was quite a good idea in the early days of iOS in the enterprise. These were days when users were bringing their own iOS devices to work and businesses had to make apps available to them. It wasn't such a good idea for more centrally-managed deployments where the use of the device was perhaps more task-oriented than user-oriented. Think: supermarket employee who picks up one of twenty available iPads to do stock control. It also wasn't great for schools, where many users didn't have Apple IDs and there were no tools for bulk creation of said accounts.
I would love to tell you that iOS 9 fixes all of these problems. Unfortunately, I can't tell you that. What iOS 9 does is fix one problem while introducing another.