Keeping Remotes Close
Extreme Programming has one thing right, nothing beats having everyone in the same room. When your customer, your programmers, and everyone else is together a lot of problems magically go away. Why? Because communication actually takes place.
A huge number of business and software methodologies exist because people simply aren't sitting next to each other. There are processes and procedures for getting requirements from customers, making sure programmers understand the designs and architecture, and trying to get everyone to understand just what upper management is thinking. And most of these fail miserably.
But there aren't any processes for talking to the person in the cubical next to you. Why? Because it works perfectly well as it is. It's like breathing. It's natural.
So what do you do when your customer isn't on site? What do you do when a team partner needs to telecommute in order to keep working with you? What do you do with those people who are a part of the process, but for one reason or another aren't on site?
Hold them dear.
Put a photo of them on the speaker phone. Mount a webcam in the meeting room. Keep a webcam out on the floor. Don't settle for e-mails, use Instant Messaging. Use internet tools that allow you to share sketch pads in real time and show them through a projector. Look into cell phones, ambient orbs, or any other technology that increases the bandwidth between everyone. Do whatever you can to give them a presense, to make everyone feel like they're there.
Because when they're just someone reading e-mails and listening on the phone it's easy to forget they're there. Which is the wrong thing to do with someone that valuable.