Well, having the experience of working with both the programmers and the end users at a previous job, I know that no matter how advanced technology becomes, sometimes there is no better way of figuring out what somebody wants without talking to them face to face.
Emails, phone calls, and instant messaging don't relay body language and emotions. If your job is to determine exactly what a user/analyst wants, then you may have some problems discerning exactly what it is that the user wants. They may type what they want one way, but you may interpret it another. Sometimes, the only way to resolve these misinterpretations is by walking over to a persons desk and sitting down and going over it with them.
Also, I'm not sure how many programmers there are in your company, but it's nice to walk over and brainstorm with the other guys/gals for a while if you are stumped on a problem.
Telecommuting may offer some assistance, but it's just not the same.
I still follow a lot of this same advice in the office. It's an office of about 20 people, and you can intercom back and forth between the offices. I very rarely use this. To me, it is more effective to go over and talk to somebody face to face.
But then again, everyones approaches are different. I just like being able to have some human interaction with those that I am working for/with.