One of the more important developer skills is the ability to work on the same code-base that other developers are also working on, potentially even at the same time.
What does it take?
- Communication. Talk to the other people on your team. Document your stuff. Make plans about who's going to do what. The worst thing you can do is go dark.
- Awareness. What sort of ripple affects are changes going to have?
- Organization. You need to know what changes need to be made and who's going to make them.
I was loosely involved with a major site redesign at work and ended up working simultaneously with the primary developer on a couple of different occasions.
Here's how we handled it.
- A Google spreadsheet with the change list (or sometimes printouts with change-sets) so we could divide things up easily. I'd eventually like to get some sort of issue tracking software up and running but what we're doing works for now.
- Version control. Essential to see what's changed and who changed it.
- Instant Messaging so we could quickly communicate which area of the code we were working in to avoid overlap. I found IM to be just as fast as communicating verbally and less disruptive.