Skip to content

Gitlab ​

Gitlab is the primary tool we use to organise, manage and track our work.

At a high level, it is organised into the following groups which represent different aspects of the business:

  • Clients for client work
  • Business for work on the business (finance, HR, business development)
  • Infrastructure for technical infrastructure (software and configuration)
  • Impact for work we do that contributes back to the non profit tech community (organising events, attending sprints, writing open source code, collaborating with CiviCRM's core team, contributing to community initiatives).

Within each of these groups is a number of projects. For example, each client we work with has a project in the Clients group. You can see a full list of projects within a group if you go to that group in gitlab, e.g. https://lab.3sd.io/clients. Each project should have a description against it, explaining the type of work it contains (please raise an issue if any are missing).

Our clients have access to their own projects, which also allows them to raise issues, interact with us on ongoing work and see how a project is progressing.

Groups and projects in gitlab give a fairly good representation on how we should be organising our work. It also forms the basis for when we plan the year ahead (e.g. this year we want to spend 50% of our time on client work, 25% on running the business and 25% on impact work). And as we track our time against these areas of the business we can easily check how we're doing, at various points in the year, to see if we are sticking to the plan or not. It helps us stay focused on what our aims are as a business and correct course if we are veering away from the key organisational objectives. However do bear in mind it isn't perfect and there are grey areas and inevitable overlaps. The descriptions against each project should help guide you where to put issues, but if you're not sure, feel free to check with someone else in the team.