We work like open source projects

We sell goods online.
We do this through collaborating from different locations mostly in written form. Although we don’t write a line of code, tools made for open source software development fit what we do very well.
That is why we use GitLab as the centre of how we collaborate. It was built to facilitate open source software collaboration and it is perfect for remote collaboration in completely different types of businesses.

The difference is in big and small things:

First class email integration

All notifications on GitLab are received via email. This is excellent, since it means that you can build complex flows out of your notifications with your email clients. You are also able to respond to issue comments via email , or take action on issues directly though email which makes notifications directly actionable.

Issues are just complex enough to express ourselves

An issue can have assignees, labels, due dates, linked issues, mentions, and a few other attributes. This makes issues just complicated enough for us to express the subtleties of our projects without adding too much overhead. If anything, we could do with simpler issue objects.

It’s easy for us to be very precise when we are referencing something by adding a link. Being able to reference things easily and precisely saves a lot of time when communicating exclusively through writing. That is the magic of using writing, it can be slow in certain cases but once things are understood it’s super easy to bring references out of the dead to save time in the future.

Files can be integrated directly on GL

Although it’s best to always keep files centralized in a file share , it’s still possible to drag and drop to attach files directly to GitLab. Makes collaboration much faster and simpler, especially if you have people on your team who will not like to change their behaviour from basic drag and drop.

Why not email?

Email is beautiful. It’s one of the few truly decentralized digital platforms humanity has. Email is of extreme importance in our company. We use it to communicate with all of our external partners.

I think it’s hard to break a nice balance between using email as a communication tool and as a tool of reference though. That is why I have preferred to keep things much simpler in our company. Most of our communication is on nextcloud talk or email - in that communication we reference things on GitLab. I want to avoid people referencing email or chats.

How do we use Gitlab

The beauty of Gitlab Issues is that they are super flexible. You can have 100s of issues open or only 10 - the UI handles both cases super well. That means that it's easy to be relatively loose on how we use them. We can use an issue for something that can take us a day to complete or something that can take us 4 months to complete.

The only rule is that issues are objects which are used for collaboration, meaning that you cannot create issues to track your own work. As soon as a piece of work requires input from more than one person, it should have an issue.

Although there are insanely rich ways to use issues with milestones, burn-down charts, kanban , labels etc. We only use the most basic pieces of an issue: the main body and comments section. We only recently started to use tasks !

Any other pieces to our tool box?

The tools we use at our company are few:

  1. Google Workspace for email.
  2. Nextcloud hosted by Hetzner for file sharing and chat.
  3. SqLite for business analytics.
  4. Keepassxc for keeping and sharing passwords within the team
  5. Gitlab for collaboration.
  6. Email for external communications only.

Out of all the decisions we have made, the most important has been to ensure that people are not using chat as a collaboration tool. Chat is only a communications tool, using it for anything other than asking super quick and simple questions that you are never going to reference in the future is a sin that we don't allow in our company.

This simple yet effective decision makes our communications slower and more purposeful. In my world, software like Slack is an obstacle to high quality communications.