Building your application as a series of small applications that work with each other is a solution that has worked for me.