I have an idea of how to induce communication in a project.
I really wanted to do pair programming but didn't dare to insert it into the project due to some reasons.
After a while I noticed that even with templates to code from, people did things in their own way (naturally) and that people had different knowledge about the customer's plans.
I then thought about rotating the tasks, like one only works with a task for 2 days and then everyone switches. This forces people to communicate (i.e. ask others what they have done) and to sync their programming styles with each other.
I never forced this though.
But if anyone have - feel free to tell me the outcome.