Philosophy

We must have clear purpose and intention when we use tools, or as the saying goes, "A fool with a tool is still a fool." Why and how we use a certain tool depends on our perspective on the task at hand. So let's start with the different perspectives we can take on handling a project.

From the business perspective, a project needs to be effective. It has to have the desired effect, i.e. to deliver the value we had in mind when we decided to undertake it. That's why we do project management and continuously track project progress.

A project also has to be efficient. That's quite obviously true from the perspective of the business that's funding the project. But it's also true from the perspective of each individual contributor. Every member of a project team wants it to succeed without spending unnecessary effort. (That's why project management "overhead" sometimes is frowned upon. Fair enough.)

We have a central project management system (see below) that answers the question "Is the project effective?". We use this system to manage and track all our major undertakings. It's our "single source of truth" for project management.

On the other hand, we can use any number of tools to make our work efficient. For example, for a particular DevOps task, we might file a GitLab issue and create a related code branch. Bigger DevOps projects might also have a GitLab milestone associated with (and linked from) the central project.

Like in the GitLab example, work can be tracked in other tools, but these tools cannot replace the central project management system. Every project has to be represented in the central system; ideally it’ll reference the auxiliary tools for ease of access. If we work on a project that is not tracked in our central project management, something's going wrong!

Project management system

We use Teamwork as our central project management system.

Subsections

Project life cycle

Project workflow