Written by David
21st October 2013 • 6 min read
Managing or being part of a distributed workforce is now commonplace for most developers. But that doesn’t mean it’s easy.
Getting the best out of your people, and keeping everyone inspired and on-track towards a common goal is even more tricky when your team live in a range of timezones and are from different cultural backgrounds.
At Veeqo, our seven person remote development team is spread across three different continents and timezones.
The success of our team is partly about hiring the right people, rewarding excellence and creating a strong team ethos. But even more important than that is choosing the right tools for the job.
To help other app developers get started, we’ve decided to give an insider view of how it works at Veeqo. Here are the specific tools we use to maintain a smooth and productive workflow.
How Veeqo is Built (And Why We Built it That Way)
Veeqo has a separate back end and front end.
We built the Veeqo backend using Ruby On Rails 3.2/Ruby 2.0 for the back end (as a RESTful API). The front end we built using backbone.js.
We separated the backend from the front end so that we could more easily offer a public API for Veeqo, so anyone could develop apps for it. We also are looking to the future so we can develop tablet and mobile solutions.
Team Talk: Flowdock
Communication is vital to all teamwork, whether you’re in the same office, or working on different continents. Flowdock is our team chat tool. As well as helping us stay in touch, it gives us updates from our other tools including Tracker, Github and Heroku.
Another neat feature is the ability to push images/code into the chat and they display nicely inline, rather than as links. You can also direct chat each other which is cool.
Price: Flowdock is free for up to five users. For bigger teams, there’s a monthly fee of $3 per user.
Voice Chat: Skype
When we need to talk to each other we tend to go for a Skype session. We have tried team video apps like Sqwiggle, but the team weren’t so keen, understandably, as if you want to pick your nose in private, it’s hard to hide!
Creative Thinking: White Board
Not technically an app, but we all love drawing on it. We put up anything from our branching plan for the next release to wishing someone a happy birthday!
Task Management: Pivotal Tracker
To keep our team productive, everyone needs to know what they’re working on. Pivotal Tracker (PT) is our secret weapon here, and we couldn’t live without it. It creates a to-do list of all our development tasks. Development tasks are broken down into tickets, and the product manager drags them into order of priorty. The lead developer assigns tickets to team members.
PT also helps us to estimate feature release dates. Every ticket is given a difficulty rating and PT then estimates when each feature will be completed. We’ve been surprised at how good its estimates are.
Price: Packages start at $7 for up to 3 collaborators.
Source Control: Github
All teams need a place to compile the work they’ve done. Github’s our tool of choice here, and probably needs no introduction. This source control tool enables our team to work on the source code in safety.
Github is set up to allow branching and merging as part of the daily workflow. This branching policy allows us release every single day regardless of the number of actively coding programmers within the team.
Price: Github is free for open source projects. Business plans start at $25 per month.
Code Feedback: Jenkins CI
We use a Jenkins CI Server to run tests every time a developer writes and pushes some code.
A CI Server is the best tool for getting quick feedback on potential problems with coding integration. In other words, it flags potential coding problems to our developers as soon as possible, which stops them wasting time walking up dead-ends.
Hosting and Deployment: Heroku
All apps need hosting somewhere, and Heroku is where we host Veeqo. To be honest, it’s the easy option, because hosting our app on Heroku frees us from the stress and hassle of managing servers. This comes with a price tag attached, but it means our our team’s time and skills can be used for developing features, not building and maintaining servers.
Price: On Heroku, units of computing power are managed and priced in ‘dynos’. It’s free for your first dyno, so as a startup that is awesome.
Developer Tools: Linux/OS X
This is a contentious issue in our team, as there are divided loyalties. We have people using Linux, and OS X. We let our developers decide which tools they want to use, and everyone has their own preferred IDE.
Latest posts by David (see all)
- 11 Simple Tweaks to Maximize Your eCommerce Sales (Expert Advice!) - 20th January 2014