March 17, 2025

TL;DR

The FreeBSD team got on top of a huge backlog problem with help from data visualization tools. We set up dashboards to track and sort over 7,000 old bugs. Now we fix bugs twice as fast as new ones come in and respond to users more quickly.

FreeBSD Bug Management Challenge

The FreeBSD project was drowning in bugs. There were around 7,000 open issues, with some going back many years. This enormous pile made it hard for both users and coders. The team knew we couldn’t just close old bugs based on age. We needed better tools to see what was really going on and make smart choices about which bugs to fix first. With investment from The Sovereign Tech Agency, the team brought focus to getting on top of this challenge.

Metrics and Dashboard Implementation

To solve this problem, Bitergia, working with the FreeBSD Source Manager team, built five custom dashboards using GrimoireLab. Each one gave insight into the project’s Bugzilla bug tracking system. They tracked how quickly the team first replied to new bugs. We found the Backlog Management Index (‘BMI’)—defined as the number of closed issues divided by the number of open ones in a period—to be a valuable graph for quickly understanding if we’re keeping on top of new bugs.

The team also came up with two new ways to sort bugs: “unattended tickets” (bugs with no replies) and “abandoned tickets” (bugs with no activity for three months). These ideas proved so useful that Bitergia implemented them in GrimoireLab for other projects to use.

Results and Insights

The new tools have made a big difference. We now close two bugs for every new one that comes in, which means the backlog is shrinking. We found bugs get attention either quickly or not at all. This insight helps improve how we handle new issues.

The dashboards also helped during “bug squashing events” where the team worked together to find outdated bugs that no longer affect current FreeBSD versions. By using data to guide their work instead of random cutoff dates, we’ve built a better system that works well for both coders and users.

To hear the full story, you might like to listen to the podcast episode.