Once in a while a change is small enough that you can simply drop a new DLL in the GAC and be done, but it seems like that is rarely possible with most BizTalk projects. BizTalk won't let you delete or unhook anything when references are involved,
so usually you end up with a big undeploy/deploy process when using a "common" app. I'm also a firm believer in deploying applications as a whole, not piecemeal. That means that you basically do need to undeploy all of the dependent apps,
then the common app, redeploy the common app then all the dependent apps.
I'm assuming that you already have BTDF projects set up for each of your six applications (including "common"). It is really not that hard to automate things since the BTDF is based on a command-line driven tool: MSBuild. Assuming that you have
open network connectivity between your TFS Team Build server and your BizTalk servers, you can certainly have Team Build drive deployments if you wish. You'll have to create a build template to lay out the steps.
Several existing discussion threads here have discussed automation. Most people have a build create a BTDF MSI, then push it to the server(s) and use SysInternals PsExec to launch the install and deploy on the remote server. You'll
need to script the undeploy/deploy of your whole set of apps in order.
Here are two existing threads:
http://biztalkdeployment.codeplex.com/discussions/61048 (focus on 2011 posts)
There is also another open-source PowerShell-based project named
Sprinkler which can help with this process. Unfortunately it is incomplete, but it was designed with the Deployment Framework in mind.