Over the last 2-3 years I had several opportunities to work with teams which don’t share the same office. It comes with its own challenges, so I wanted to create a short (hopefully) post to list some of the software which proved to be useful for the remote teams collaboration. In this post I am not going to cover open source software, as it is a very different beast, but I’d rather focus on small(ish) private projects with team size of up to 5 people.
Source Versioning Control
I have tried a few different systems, including keeping the source code in a shared Dropbox folder (yes, that did happen and no, I’m not proud of it), private SVN repositories, Team Foundation Service, Bitbucket and a private Github repository.
Github is very pleasant from the coding perspective, it has a very mature UI, it is easy to make pull requests, merge and fork code, it is possible to quickly overview all of the code changes and it is very fast. All of that been said, in most of the cases Visual Studio Online would win for me for two reasons:
- It is free for teams of up to 5 people
- It combines project managements tools as well as the version control system, and having the two tools to work side by side is awesome.
Emails, phone calls, Skype, Facebook groups, Google Hangouts and Slack are the tools I have been using for the team communication. So far Slack is the winner. It allows to create different channels for different purposes, it is very easy to search the communication history, there is an insane amount of integrations with different services, it is possible and easy to share files and images and it is free unless your team is getting very big.
So far nothing managed to convince me to move away from the Google Docs. Ability for several people to work on the same document at the same time is priceless. It is very fast, easy to use and it is free.
For a long time I was a very big fan of Lucidchart. It is working fast, it allows to design any type of a diagram I could think of, it allows an online collaboration and it is very easy to use. All of this been said, I have found their current pricing model a little much, which eventually forced me to move away from Lucidchart. For better or worse I don’t need to create diagrams very often, so I might use the software for a couple of days every couple of months and then forget about it. And their restrictions on the free version of the product are rather aggressive.
So lately I have been using draw.io. It is almost as powerful as Lucidchart and it is completely free. Plus it allows to save all of the charts on Google Drive.
I don’t have to say too much on this topic. Invision does everything I could ask from a design software. At times I find it unnecessary hard to use, but maybe that’s because I’m not spending too much time in it.
Researching a good project management software was one of my assignments at the university a few years back. I have tried a lot of different applications some of which are better than others, but I’m yet to find one I would fell in love with. Visual Studio Online is my current tool of choice. Mainly because it is in the cloud and it is free for small team.
Continues Integration System
Argh, CI is something we should use a lot more often than we do. The amount of times something is working on one machine, but not the other is too high and CI could totally resolve this problem. Unfortunately I’m yet to find an easy to setup solution with low overhead. The best I have found so far is a standalone installation of TeamCity. It does require a lot of resources and setting it up to work in a cloud is not as straight forward as I’d like it to be.
Source of Truth
It is very easy to get lost when so many different tools are used. Personally I found it incredibly valuable to have a website to store all of the build artefacts including exported versions of documents, wireframes, designs, copies of diagrams, application builds, etc, all stored in one easily accessible and secured location. WordPress is my GoTo engine whenever I need to create a website. It doesn’t take longer than a couple of hours to setup a brand new website from scratch and start storing the documentation.