Even before they found Graphite, engineers at Asana were looking for ways to save time by working on multiple pull requests at once. Some, like tech lead Jaxsun McCarthy, had previously worked at companies where stacking was core to the workflow. “I remember trying GitHub for the first time and thinking, ‘Great, I’m going to stack some branches now.’ But immediately I was faced with a bunch of problems that made merging my code changes a total pain.”
Jaxsun got in touch with the developer efficiency team to investigate potential solutions. But the specific configurations in place added far more complications to what had initially seemed like a simple request. “There were so many steps and it got to be so painful that I decided to stop trying to stack altogether,” Jaxsun recalls. “I saw a bunch of my teammates writing large PRs and I knew that stacking could help, but I didn’t want to push them to work in a way that was not fully supported by our tooling.”
Asana engineers shipped 21% more code within 30 days by stacking with Graphite
When Graphite was introduced at Asana and the tool was opened up to interested engineers, Jaxsun was among the first to sign up. For him, restacking for the first time was the “aha” moment. “It felt like magic,” he remarks. “Restacking went from being a mindless 10-minute activity to just one seamless command—and it means now I don’t have to think about Git command line basically ever, which is great.”
7 hours per week regained per engineer
21% increase in code shipped
17% increase in merges by stacking pull requests
With dozens of engineers actively using Graphite each month, engineers at Asana collectively shipped 21% more code and merged 17% more pull requests in their first 30 days on Graphite, compared to the 30 days before using Graphite. On average, this came out to 7 hours per week saved per engineer.
With Graphite, engineers wrote 11% smaller pull requests
“It improves developer velocity because we’re able to land PRs faster and catch bugs a lot quicker."
- Drew Alam, engineer, reporting
Aside from shipping more, teams also felt a tangible difference in the experience of reviewing their peers’ code. In the month after using Graphite, the median pull request size shrank by 11%. The impact of smaller PRs was immediately apparent to Drew Alam, an engineer on Asana’s reporting team. “What I felt from Graphite was mainly the speed,” he shares. “I think it improves developer velocity because we’re able to land PRs faster and catch bugs a lot quicker—PRs are just much more contained.”
“Having the customizable dashboard has made it a lot easier for me to spend my time wisely on code reviews."
- Jaxsun McCarthy, team lead, user management
As a team lead, Jaxsun also benefits from the ability to easily monitor progress in the review tool. “Previously, using standard GitHub review, I’d lose time because of small things: not noticing something was a draft, losing PRs because I was an assignee and not a reviewer, and so on,” he explains. “Having the customizable dashboard has made it a lot easier for me to spend my time wisely on code reviews. I think it has noticeably decreased the amount of time wasted around doing code reviews.”
Jaxsun attributes the success that Asana engineers saw with Graphite in part to the close partnership between the two teams. “One thing I appreciate is that it was never a one-way street,” he says. “Pretty soon after I joined, a Graphite engineer mentioned he was completely updating the CLI command structure and looking for feedback. We ended up having a great chat. That kind of engagement is really awesome, and it’s what both our teams are here for.”