As a highly mobile consulting company we need to 'take the office with us' when on the road; happily there's several fantastic tools for the job.
Software-as-a-service (SaaS) is nothing new, but several small companies have recently come to the fore, providing reliable and secure business software with great usability and focus. We've tried many of the available options and have settled on a range of tools that provide everyone on our team with full, secure access to project planning, timekeeping, code repositories, development environments, document management, team communication and more. Even this blog you're reading right now is hosted virtually and it's easy to write and collaborate on posts from any laptop or smartphone with an internet connection.
Most blogposts about modern office productivity software devolve into gushing praise for Slack and this one will be little different. However, just for completeness I thought I'd write a few thoughts on all the great tools we use to help our consulting team to be well-connected, agile and highly effective when working on demanding, technical projects in different locations.1
Documents, planning, timekeeping
Google Apps for Work: Who could be without industry standard email, shared calendars and basic documents, presentations and spreadsheets?
I personally love that the document creation capabilities are quite simple and there's a huge emphasis on collaboration, live editing, commenting and version control; the entire suite is geared to improving team commnuication.
Google Spreadsheets in particular has very limited functionality in comparison to MS Excel, which is fantastic. The lack of complexity forces the end-user to switch to industry-standard, programmatic tools like R or Python when seeking to perform more advanced analyses.
As a bonus, multi-party video calls (aka Hangouts) are useful and we maintain a shared set of folders on Google Drive for all internal and external miscellaneous images, pdfs and other materials. As & when we need to store more of those type of documents we'll likely turn to Box or Dropbox.
Trello: We love using this lightweight Kanban-influenced board for agile project planning and management. Its simplicity belies its power to help organise chunks of work and allow us to monitor the state of a project at a glance without getting bogged down by superfluous performance metrics.
Whilst Trello isn't perfect (it would be nice to automtically tie code commits to tickets etc), it works very well for us right now and is miles better than a number of competing solutions we've tried for project management including:
- Basecamp: One of the first good SaaS project management tools, but it was under-developed for years and now feels positively antiquated
- TeamworkPM: A pretty good 'comprehensive suite' including gantt charts, time keeping, file storage, fine-tuned security access, third-party integrations and more. After a few months we found it simply too overblown and hard to use
- Altassian Confluence: We were intrigued by the integration with our software repos and bug tracking but like TeamworkPM, this was just too bulky and complicated for our small team
- Asana: Basically a glorified todo list with too many options, checkboxes and trackers. The UI is needlessly complicated and seems the kind of project management tool where tasks go to quietly die.
Insightly: A well-integrated lightweight CRM with nice usability. We're a small company but we consider it very important to keep track of our conversations with clients past, present and future - so far this tool is doing the job well.
Harvest: Time tracking and invoice creation made very simple. Team members can record time to particular projects via mobile or web app within seconds, then one can draft a beautifully pre-formatted invoice, send via email or make available directly over the web and sync it straight back into to Xero.
Ghost: Blogging is as old as the internet and solutions come and go. Many technical people like to use so-called static blog generators like Pelican where they have full control; whilst others stick with old solutions like Wordpress CMS, which are generally considered to be too heavyweight, complex and slow for today. It's worth noting that many company blogs have a heavily customised appearance but are still just Wordpress CMS in the background. We've chosen a new system - Ghost - which offers a fantastic balance of simple-but-flexible collaborative content creation and fast, reliable, web-page provision.
Source control & code repositories
Bitbucket: As mentioned in an earlier post, proper source code version control is vital for any software engineering / data analysis. Unsurprisingly for a group of techies, we use Git, which is distributed, well-tested, versatile, by now practically industry-standard, and have settled on using Bitbucket for our hosted repositories. It allows us to maintain private, highly secure repos on servers in the cloud which are backed up, always available and have a detailed permissions model well suited to client work.
Stash: Atlassian also sell a self-hosted version of Bitbucket called Stash, which we like to use in situations where all work including code must be kept behind a corporate firewall.
Communication, communication, communication
...Gushing praise time...
However did we work before Slack? This marvellous software lets us communicate in realtime like a giant IRC chatroom with rooms for specific topics and teams. We can share documents, links and images with ease, and preserve the entire history for searching and later archiving. It integrates with our Bitbucket code repos, Trello boards, Twitter account and more, giving a single location to view all sorts of activity across the company.
There are mobile and desktops apps for most systems, all with great usability and a clean aesthetic. Every interaction feels polished and well-considered by the designers and engineers, helping the tool become a natural part of the flow of the workday.
Need to get someone's attention? Slack.
- Want to link a news article? Slack.
- Want to host a live, remote discussion amongst a distributed team? Slack.
- Want to keep, share and index a local copy of a research paper? Slack.
- Still need more convincing about Slack? How about the NYT earlier in the year or more recent news of another huge funding round, valuing the company at approx $3bn.
... More than anything, Slack lets us work as a team wherever we are.
I hope this was an interesting (if opinionated) view onto some of the tools we use everyday to help the business be more agile, mobile and responsive to our clients and projects. Now that we've given an overview of this modern office software and the tools of the trade that we use for data analysis everyday, you'll hopefully have a better idea of our landscape when we go into detail on specific technologies and example analyses in other blogposts.
It's worth noting that all the above software is cross-platform and lets us use different hardware and operating systems for either numerical computing or office work without skipping a beat. ↩