Doing Continuous Integration is a lot easier if you have the right tools. In our project at a german car manufacturer, we were tasked with developing new services and bringing them to the cloud. We had a centralized Jenkins instance, shared by all the teams in the department. It didn’t fit our needs and made it harder for us to deliver software quickly and reliably. The problems with the clients existing Jenkins instance included: It was a snowflake, which meant that understanding its configuration was hard. Making changes, or recreating it would have been very time-consuming. We wanted to make this process as transparent and objective as possible. These were our requirements for a new tool: All of them offered what we were looking for, but in this particular case, we opted against suggesting GoCD —which is developed by ThoughtWorks. We’re actually big fans of GoCD, but when we’re working with new clients, we sometimes choose not to recommend our own products, in case they’re worried about bias. Our pipelines have a bunch of responsibilities. For a frontend application these include: That only defines what the pipeline does. But what makes a pipeline more useful than another?