Captain's log, stardate d197.y37/AB
I've been long enough working in consulting, and in very different kind of companies, to know that what works today, might not necessarily work tomorrow. Teams change, companies transition from being services-only to making their own products, some others expand internationally, new policies are adopted and what have you.
For sure, the tools we everyday work with also evolve. Most of them, for the better. That's the case of Basecamp, one of our favourite tools. Read on, if you want to learn how we use it to manage our oficeless company.
We are an oficeless company
While I don't know whether that's an official term, we indeed own no office, and don't plan to. MarsBased is a consultancy providing web & mobile design and development services remotely to clients around the globe.
Most of our team is based in Barcelona, but some members are either not living there, or just not very often there physically. I, for one, travel about 40% of my time, and we have had a designer living in Belgium, a frontend developer travelling around Mexico for almost a year, or developers from other cities in Spain.
What initially was a company for just the three founders - and we didn't see a need for an office for that - grew up to be the company we are today, with over 12 people working full-time for us. When we started growing the business, it dawned on us that maybe it was a good idea to keep it as a remote-only company. So far, everyone is loving the idea.
As we speak, we're currently working for clients in over 10 different countries, on four different continents. The timezones our clients are in are so different as PST (San Francisco & Bay Area) to SGT (Singapore). Each one, in turn, might have their workforce distributed around the globe - or not - and different office hours. Sometimes barely overlapping with ours.
So, how do we manage our employees, the contractors and other agencies we work with, and the teams of our clients?
Back in the day, we published a blog post about How to Handle Client Work Remotely: Our Communication Stack, but a lot of things have changed since then. Although we still use all of the tools we listed there, one of them has changed significantly: Basecamp has become Basecamp 3.
Basecamp is a project management software, created by the agency 37Signals, which we oftentimes mention in our blog posts for being the writers of our favourite books Rework and Remote: No Office Needed, or having created Ruby on Rails. Basecamp has got a lot of nice tools and features that I will describe below.
How to handle clients
Most of our clients are on a Basecamp. We create a basecamp (note the small b), which is what in Basecamp 2 was called "project". Unless a client opts out of it, we create a basecamp for them.
We have got two kinds of clients, at MarsBased: clients on retainer, and clients with fixed scope projects. For now, however, we really make no difference between them on Basecamp, so the following applies to all of them.
We use Basecamp with our clients to concentrate all the discussions in a single place. Everything that needs to be discussed upon is to be found on our Basecamp: changes to the design, new additions to the team, changing the days of the weekly meeting, adding/removing people from the client repositories, new features requested by the clients, etc. Everything goes on Basecamp.
Besides that, we also use Basecamp to send our weekly report with the tasks we completed the previous week every Monday morning to our clients. This way, they can read in a kind-of-digest post about what's kept us busy recently. Here's an example of the reports we send:
An example of weekly report.
While Basecamp 3 offers many good functionalities, like Campfire (chat), to-do lists, a calendar or the management of docs & files, the truth is that we generally only use the discussions. Our clients don't need more than that, and we are firm believers of the "less is more" mantra.
How to handle external teams
At MarsBased, we also work with contractors and other agencies, and sometimes we roll them in, depending on the project, in a given project or two. They also need to be managed by us, and we treat them as if they were our team.
For instance, this is how I manage the Startup Grind BCN team. We've got a basecamp for that project as well.
Internal Basecamp of Startup Grind BCN
In this project, as you can see in the screenshot above, we use more Basecamp tools. Namely:
- A calendar to keep track of the upcoming events we organise.
- A to-do list for each person, to keep track of what's on everyone's plate.
- An archive of the docs and files we need to have for quick access. Mostly text files that complement our Google Drive folder.
- An automated check-in to say what you've been working on during the current week.
The first three are pretty self-explanatory, but not so the fourth one. Automated Check-ins are Basecamp 3's new tool to ask questions recurringly to your team. This is especially useful to replace daily standups or weekly meetings.
I say replace because we're also a remote team, at Startup Grind BCN, each one working in different companies, volunteering for the same cause. Therefore, it is extremely hard to find a common time to schedule a weekly call and talk about what we've been up to.
We also use this very check-in to suggest improvements. The question that is asked every Friday 9 am to the team is: What did I do this week? What can we improve at Startup Grind Barcelona?. It usually provides very insightful and creative suggestions that we apply immediately to our internal organisation or our next events!
How to handle our own team
Internally, we use Basecamp for very different tasks.
Most of the conversation happens in the MarsBased basecamp, which is the meeting point for all things internal. Need to ask for holidays? Scheduling a group call with the rest of the team? Have created something cool you want to show the rest of the team? This is the place.
We're using Basecamp with an interesting twist or two that I will detail below:
We are also using Basecamp to keep track of the business opportunities we get. Well, just some of them.
I am the only one 100% devoted to business generation, so I work with PipeDrive to manage all the business leads. I can handle most of the leads that come our way, in all the phases & forms possible, but once they qualify, I need to pass them onto the team.
Once an opportunity qualifies, I create a post on Basecamp with all the relevant information to them to either pick up from where I left the conversation with the client or to come back to me with an estimate.
This is working very well because it removes all the noise created by the dozens of opportunities we receive every month that end up going nowhere, so the development team can focus on those that matter the most. It also helps us to keep track of all the business decisions related to every lead. What day are we expected to send the estimate? Shall we push for a time & materials approach? What's their budget? Do they really prefer hybrid apps or can we suggest to try React Native? etc.
Although this might be replaced very soon, we are still reviewing the blog posts we write using Basecamp.
Lately, we're trying the Github Projects feature, but until now, every time someone wrote a blog post, he submitted a new Basecamp message with the relevant information, the link to the branch, and if something was required from any other team member (design fixes, revision, spell-checking…), a mention or two come really handy.
Internal reporting through Automatic check-ins
Transparency is one of our core principles at MarsBased.
Internally, this translates into us sharing with our team their assignments for the coming weeks/months, our P&L information, the business leads we're working on, and even a report I write every week of every person/company I've met during the week, so everyone is familiar with their names and what they do.
As it is the case with Startup Grind BCN, we use automatic check-ins for the MarsBased reports.
By doing that, we find it easier to know what we've all been up to, how much do we need to bill our clients and what to communicate.
In our check-ins, we also ask for the highlights of the week. This is a good place to be thankful to other team members for collaboration, to explain what went right/wrong during the week - which might help to explain delays or to identify people who are blocked -, lessons learnt, or even share some personal news.
Oh, and rants. From time to time, we all need to wind down, and this is a good place to blame incomplete third-party apps' documentations, faulty APIs or even code snippets that don't work as expected.
Why are we using Basecamp?
The question you might have so far is: why Basecamp and not others? Good question.
The truth is: we've tried most of them. We tried working only with email, then moved to Trello, only to switch to a less-technical app like Redbooth, which we then found too cluttered with features we didn't need, until we finally settled with Basecamp. I might've left out a couple more tools we tried, but you get the point.
Basecamp is simple to use, and shares our core principles of "less is more". Plus, our company culture is largely inspired by them, so it shouldn't be any surprise that their product resonates with us.
Moreover, it is built with Ruby on Rails, and we are really committed to supporting this lovely community.
Last, but not least, Basecamp are spearheading the movement for healthy work/life balance. They were one of the first to enable the "Do not disturb mode" - although they wittingly christened it "Work can wait". Indeed, we also believe in sticking to our office ours.
Work can wait!
Working outside of office hours? No way.
Work can wait.
We're really keen on reading what are your impressions on Basecamp 3, and how do you use it at work. There's only so much we know about it, and we're constantly looking to improve our company, so feel free to share lessons learnt, or tips on how to make the most out of Basecamp 3 in the comments section below!