When Jeremy Lamit first stepped into his role as Head of Engineering at Rabbit Care, he faced a daunting assignment: scale his remote team 10x over the course of a year while maintaining consistency and transparency.
Today, Rabbit Care is Thailand’s leading marketplace for insurance and financial products, including loan & credit card advisory. Three years ago, Jeremy’s team was fairly small, with fewer than 10 engineers.
Following their Series B in May of 2020, Rabbit Care began looking into Software Engineering Intelligence (SEI) solutions. They had a mission to grow the engineering team to 100 and needed visibility into their operations, processes, and investments.
As they prepared to scale, Jeremy and his team identified consistency and transparency as their top priorities. Together with LinearB, they established a three step plan to achieve their ambitious set of goals:
- Step 1: Build a comprehensive metrics program
- Step 2: Scale best practices with workflow automation
- Step 3: Create a transparent and satisfactory developer experience
Step 1: Build a Comprehensive Metrics Program
To start, Jeremy’s team identified predictability as a main area for improvement. Sometimes their team worked at a very high velocity, and other times, they found projects lagging and struggled to understand why. They caught themselves regularly guessing at delivery timelines.
Using LinearB, Jeremy’s team began actively monitoring DORA metrics, as well as their leading indicators (specifically: PR Size and Review Time). They were careful to set goals for both stability and velocity, so that teams weren’t enticed to favor one over the other.
“We needed an industry standard,” Jeremy says. “Tracking DORA helped us monitor our new team and get a better understanding of where we stacked up in our industry.”
In a retrospective, Jeremy and his team conducted a quick analysis of their data from the past few iterations and identified the root cause: slow code reviews. They dug into PRs that had been open for longer than expected and flagged incorrect reviewer assignments as a recurring bottleneck.
But Jeremy’s team didn’t stop with DORA. They leveraged LinearB’s Resource Allocation dashboard to track resourcing metrics like R&D spend, FTE Allocation by Issue Type, and Planning Accuracy. They established KPIs around these numbers and after a quarter, found themselves able to better predict their team performance.
“The C-suite wants numbers too, and preferably with a dollar before it, right?” Jeremy says, laughing. “At Rabbit Care, most of our executives are not tech-savvy. But of course, engineering is one of, if not the most important investment. Executives want to be sure we are in control and that the funds are being used wisely. We were able to use LinearB to give our stakeholders confidence that the tech is in good hands.”
Step 2: Scale Best Practices With Workflow Automation
After identifying the metrics they needed to improve, specifically around speeding up code reviews, Jeremy and the Rabbit Care team turned to workflow automation to alleviate their bottlenecks.
They installed gitStream, LinearB’s free PR automation tool that uses YAML to standardize merge practices via policy-as-code.
Because most of Rabbit Care’s engineers are remote, it’s especially important to their team that each PR is reviewed by the right people, and in the right way.
“On our team, during a crunch time, the thoroughness of PR reviews is the first to suffer,” Jeremy admits. “The first gitStream rule we implemented – and the one that brought the most value – was auto-assigning PRs to people that were familiar with that area of the codebase already.”
“That was instrumental because we have new joiners all the time, or simply, people working on a repo for the first time. And they're not always sure who to ask for a review, right? So now that process is streamlined, and we know every PR is getting routed to the right person.”
Jeremy is referring to Code Experts, a gitStream rule that takes into account which developers have the most commit activity and knowledge on the files in question, then assigns them to review that PR automatically.
Another of Rabbit Care’s favorite developer productivity automations is the ability to verify and auto-approve PRs with simple revisions – to documentation, for example.
“Sometimes, PRs can stay in review for, well, a few days. And when it's really small things, it's not worth the wait,” Jeremy points out.
In the example above, the files context is checked by an AllDocs filter that verifies the PR only contains document files.
Now, if a developer decides to modify an internal document (and nothing else), they can go ahead and merge the PR without having to wait for a rubber stamp approval.
Today, every single repo at Rabbit Care has gitStream installed, and they’ve managed to cut their cycle time in half.
Step 3: Create A Transparent And Satisfactory Developer Experience
Despite managing to decrease their cycle time by 50%, Jeremy points out that improving metrics was not their only goal.
“The goal was to have numbers so we can drive the team in the right direction via habits, right? Culture is ingrained habits. That's what we were looking for.”
As previously mentioned, transparency is of utmost importance to Rabbit Care. Today, Jeremy manages 6 teams – and all of them have unfettered access to LinearB. For every goal they set around velocity and/or quality, Jeremy makes sure that his team has access to a trackable dashboard and is able to self-monitor their performance.
Jeremy acknowledges that tracking metrics can be a touchy subject with engineers.
“At first, yes, there were some skeptical people, but they saw the value of it very quickly, probably within two or three weeks. And that’s because we were careful about the vision. We made sure to communicate that we weren’t trying to measure individual performance – only team performance.
The numbers are not the end-all-be-all. Here, we don't take numbers at face value. We try to put them into perspective.”
The result: a noticeable improvement in developer happiness. Plus, Jeremy points out that LinearB has actually given his team more autonomy while helping his engineers hone their skills.
“Knowing that you are being assessed fairly, based on agreed-upon metrics that you can access at any time has given our teams confidence and a sense of safety. If trust is ingrained in the culture, it means you don't have to follow people and tell them, ‘Hey, please do this.’ ‘Please do that.’ We don't have to micromanage our teams.”
The Results
Three years later, Rabbit Care is a different company, with over 700 employees and counting. Despite having scaled significantly, Jeremy’s team is shipping code at twice the speed, and they can confidently predict when any given project will be delivered.
Plus, they’re able to successfully advocate for more capacity and budget, when needed. The C-Suite is happy with the numbers, and so too, are other departments within the company.
“Non-technical teams got interested in how we were working,” Jeremy tells me. “That was one of the most surprising outcomes. We were able to fill a communication gap and build bridges with other departments.”
Even after scaling his team and improving his ideal-to-production cycle time by 50%, Jeremy says, “Our biggest win was around culture improvement. Thanks to LinearB, we can see when new, beneficial, behaviors are implemented and ingrained in our teams.”