The biggest key, in my experience: find basic, reliable ways to communicate, standardize on them, and use them consistently. The biggest problems in remote work always seem to stem from people going invisible: no communication, no signs of work being done.
One tool that the OP doesn't mention, but should be a staple among companies of all sizes: Google Hangouts. You can make a permanent hangout using Google Calendar (search for this and you'll find how-tos). It's like a clubhouse, and it's really good for quick chats as well as full-on multi-person meetings.
For pairing, my team has been using a combination of Hangouts with tmux, which is an app similar to GNU Screen, but with next-generation features. (E.g.: when you split a window, or change to another one, everyone in the session sees it! Simpler configuration, too.)
We've found that this simple combination of live video chat with multi-user terminal access is actually better than working together in person. Both people can communicate easily, and no one has to move out of the way of the keyboard. :-)
edit: wording
> One tool that the OP doesn't mention, but should be a > staple among companies of all sizes: Google Hangouts. You > can make a permanent hangout
It's interesting to see the potential evolution beyond just text chat for remote teams.
I've never used a permanent video Hangout (although Hangout's new group chat features might work well). I'm excited to try out sqwiggle.com - similar result, but it just takes a still picture of you every few seconds: same effect, less bandwidth/worries about leaking your music to your coworkers 1,000 miles away.
Sqwiggle sounds interesting, particularly for bandwidth-challenged situations.
Having done this for a while, there's a big thing that anyone who works remotely needs to understand: the biggest presumption those on the other end have about you is that you're not working when you're not on a call or communicating. It's nothing personal, it's just the nature of being remote.
There is only one real thing that addresses this presumption: output. Deliver on promises, and deliver great work. All the tools in the world can assist you and your teams in being productive, but the real value is when you produce.
Ideally simple enough that the client can file feature requests, discussions can happen and they can provide feedback, yet comprehensive enough that I can prioritise items, tie VCS commits to them etc.
Basecamp isn't any good for technical projects (or structured enough); I've trialled Planscope with a price-conscious client and it worked well (but isn't a bug tracker as the Author says). Lighthouseapp, PivotalTracker, both good but neither encompass the whole project lifecycle that a freelancer has to deal with.
Because we don't need a bug tracker like an in-house development team, or a project estimation tool like a sales team, or a client management system like an account manager, or a project maangement system like... you get my point. We need them all.
I've also decided after 10 years freelancing the tool needs a Gantt-esque view, so clients can visually appreciate the impact of delaying the project at a certain point by X days, or adding a new feature. It won't be an accurate time-chart in reality, but they need to see the impact of changes to realise it's not worth making them.
With the number of tools out there I'm convinced something must match. What am I using? Google Spreadsheets with a large client (relatively successful, save for the discussions... ouch); Another client insists on long email threads (got to find something better). And I'm doing less work and managing more overhead the whole time, with no clear system to tell me what's Important/Urgent across all my clients.
To those of you who have solved this already: Please tell me how!
I've actually been working on what I think are going to be some nice changes that will make juggling multiple projects a LOT easier. My development background had me working on one big project at a time, but I'm learning that a lot of people self-juggle a lot of projects at once.
One of the perks of an all-in-one time tracking + task list tool is that I've been silently collecting data on: how accurate are estimates? how many hours a week does this person work? how many projects are being worked on in a given time span?
And next on my plate will be to actually use this data to make predictions based off of data that will help you see a lot of what you're talking about.
Sounds like App Trajectory (by ThoughtBot) may fit the bill. It has discussions, and these discussions can have many related issues. Each issue gets an estimate, agile story point style, and App Trajetory computes your velocity (and pushes too big issues off an iteration!) so you can see how a two week detour will affect timeline.
It worked really well for me on a project.
It also does multiple projects, although I don't think it will give an agregate view over all your projects ("this week I have these two items due for project x, an these 3 for project Y")
Does anyone have a recommendation for a chair (not an office chair, but something that can otherwise be part of the home furniture) that is convenient for sitting and using a laptop for long periods of time?
I can quasi-recommend a standing or treadmill desk. There are many benefits but for you, one would be space (fold up treadmills or a shelf on the wall). The one issue is that you can't really do it all day.
I'm still trying to find the right arrangement for my trackball to keep my shoulder from aching. . . .