Tools like Slack, GitHub, and Trello have made remote work much easier over
the years, and we work remotely every day within thoughtbot across offices.
Remote consulting work is possible, but raises the degree of
difficulty. One of the few requirements of Extreme Programming is that the
customer is always available.
Ideally, that means face-to-face, on-site. We've set up our offices so that our
clients work at the same cluster of desks as our teams. Nothing beats in-person
An ideal consulting project for us is one where a member of the client team is
willing to work at our office Monday-Thursday for the duration of the project.
Failing that, we want to find out during the sales process how available they
will be on Slack, GitHub, and Trello.
If it seems like they won't be available very often, we should seriously
consider declining the project.