One more quick one for you. This script shows how to use a CSV file as a data source and map to assign software to a given user role or department using a Install Software step in ConfigMgr. The step allow you to simplify and condense your task sequences. The description on TechNet Script Center has more details on how to use the script and customize it. I basically wrote it because we often talk to customers about how to do this but it is hard to explain much less demo. Hopefully the script will achieve that goal.
Ultimately, the script is just a way for you to see what is possible and how it can be used. You could feed the data from the MDT database, a custom database, task sequence variables or even a web service if you wanted (plus, it is a sample script, so no production use without testing, etc.)