Shared database during development? Sometimes I need to collaborate with a more frontend-centric developer to help implement a site. So typically they're only changing CSS and minor template changes.

The way we've handled this in the past is that I work locally. When I have everything in a good state, I clone my environment to a staging server. The frontend dev then uploads his changes via sftp.

We'd like to move toward a setup where we're both working locally. The problem of course is keeping the configuration changes all in sync. I have been using Features, but there is still a lot of global configuration that would need to be manually migrated between instances.

I'm not quite ready to make the jump to each of us having a local database. I have considered taking a "half step" by having a shared database that we both connect to over the network.

I've found a few blog posts here and there where people have suggested it, but I thought I'd ask here: have you tried this, and if not, is there's any reason this is a bad idea?
We've been through the same scenario as you in our company, and currently we've ended up with a situation where we work on a remote development server and have our code locally via sshfs mounts. It works pretty well, you can read more about it in this blog post I wrote.

You can't use graphical clients (e.g. gitx or gitl) so we use git and drush on the commandline, but that actually made people more aware of how those tools works rather than just clicking the same buttons every time.

On a different note, you should also use memcached so your cache doesn't get shared via cache tables in the shared database. It's pretty simple to setup and after that just make sure every developer has a unique memcache prefix.