Logotype.png

Productboard × Mergify

Why did Productboard choose Mergify to scale and solve problems they were facing with their development?

Summary

Challenges

  • Stop having bottlenecks with the queue.
  • Reduce time for pull request checks.
  • Find a tool fitting with their fast scale.

Solution

  • Speculative checks feature.
  • Labels feature.
  • Automation.

Results

  • Saving a couple of hours by engineers per month.
  • Reducing frustration of the engineering teams.
  • No more bottleneck with the merge queue.

Who's Productboard?

Productboard is the customer-centric product management platform that helps organizations get the right products to market, faster. Over 6,000 companies use Productboard to understand what customers need, prioritize what to build next, and align everyone around their roadmap. The company has offices in San Francisco, Vancouver, Dublin, Prague, and Brno and has 150 engineers around the world.

Capture d’écran 2022-12-08 à 16.51.21.png

Remember before Mergify?

Productboard doubled its engineering team in just 1 year, from 70 to 150 persons. It was a huge problem for their front-end repository: it consists of a single repository for everything.

To face this challenge, they deployed a merge queue, but they scaled faster than the merge queue could handle the load. They were in a situation where things weren’t working very well, obligating them to use nonoptimal tools to merge the first pull request in the queue, update the second one, run all the checks again, and merge the result.

The time needed for the checks in between was around 25 minutes for each pull request. In 24 hours, they had a hard limit number of commits they could merge.

Moreover, most engineers are based in the Czech Republic; in peak hours, engineers could spend a couple of hours before getting their pull request merged. That was the situation they were trying to solve; bottleneck.

The situation escalated quickly. People were waiting 4 to 5 hours to merge their changes, while their goal was to merge around 150 pull requests a day.

That was the breaking point and when they decided to switch to Mergify.

How did they face the problem?

They were looking for something allowing them to run all the checks in parallel and improve their merge queue. That's how they found Mergify and a couple of competitors. After studying the market, they concluded that Mergify was the best fit. It was easy, and it solved the needs.

Productboard's decision process wasn't complex. They assigned someone to elect the best solution. They compared each product and compared the pros and cons. They tested them to see if they could work as they wanted them to. Once they were decided, they submitted the request with Mergify to internal processes — and the rest is history.

Once the decision was made, Mergify’s installation was smooth and easy to set up. Creating labelings, rules, and configurations took them two weeks.

1580819110537.jpeg

Mergify was the best fit at this point. It wasn't very complicated, and it solved the needs.

Tomáš Nekolný - Engineering Manager at Productboard

Productboard's workflow with Mergify

Productboard uses Mergify on their front-end repository, a large repository where they faced merge scalability issues. Today's workflow is to create a draft pull request, get all the checks to pass, add an auto merge labels, and get the pull request queued. For engineers, that boils down to managing pull requests to get the CI green and making sure the code is approved before being queued.

Mergify is solving:

  • Merge throughput and latency. The time from a pull request being queued and merged has been reduced using the speculative checks feature. Today, Productboard is using the speculative checks feature on 3 pull requests in parallel. They used to do it with 5, but it was too costly; any failure in the merge queue would restart every pull requests that was in the speculative checks. In a worst case scenario, if they were running speculative checks on 5 pull requests, 4 need could need to be restarted. They found their sweet spot with 3.

  • Workflow management. The team is controlling their merge workflow by using automatic labels.

  • Merge priority. The team is using custom priority labels to get the pull request at the top of the queue when needed.

009jz1uf.png
1580819110537.jpeg

If you plan to use a single repository for many developers, Mergify can significantly improve your time to merge.

Tomáš Nekolný - Engineering Manager at Productboard

They scaled up with Mergify

If they could choose one feature, it would be speculative checks, for sure, for everything they described before. Initially, they thought of implementing something themselves, but after evaluating Mergify, they decided not to.

Mergify helps them save a couple of hours per month for each engineer by merging upgrades of dependencies automatically. If all checks pass, there is no need for a manual pull request review, as an automatic tool generates the pull request. Those upgrades are usually without issues, so it saves them time to perform a code review of such a pull request.

Mergify allows them to merge any pull request in 45 minutes securely.

If they could give one piece of advice, they would recommend not creating custom complexity. Moreover, if you are a fast-scaling company growing fast, you would better start using Mergify to prevent a bottleneck.

Ready to get started?