If you follow the practice of Agile Development, in particular the Extreme Programming methodology, you'll find Code Co-op a perfect fit for your needs. Let's just see what Robert C. Martin says in his excellent book Agile Software Development and how Code Co-op can help.
This is exactly how Code Co-op works. It encourages frequent incremental check-ins. Each check-in represents a cohesive, multi-file unit of development and is checked in atomically (Code Co-op is a change-based system).
Code Co-op follows the push model, so all check-ins are quickly delivered to all developers. Since each developer knows about all the check ins and can peek at them at any time, he has the opportunity to perform quick merges at his convenience.
It's worth noticing that a lot of version control systems (in particular all distributed systems, except for Code Co-op) encourage the creation of branches rather than continuous merging.
Private branches are incompatible with Extreme Programming!
Code Co-op is such a non-blocking system. There are no file locks, and merging is easy.
Here Code Co-op is very helpful by pushing the check-ins to all developers, so in most cases the merge is naturally done before a check-in.