Do you make sure your developers get to see each other regularly to avoid becoming disconnected?
Working onsite has a number of benefits such as increased communication with the client and increased perception of value. However, if a developer is onsite for an extended period, they can start to feel disconnected from your company and their co-workers.
The solution is to bring them back to the office 1-2 days a week to reconnect with everyone and still feel like they're part of a larger organization.
This should be organized up front with the client when making the booking.