How did we do this change? What were the organizational and operational changes that made this possible and that are going to continue for the foreseeable future?
TL;DRDedicated "hero squads" now own all bugs for one system, with QA leads setting priorities by player impact and developers fixing more carefully to cut regressions.
Well, so there's a series of things company-wide that have had to change for this to happen. The first one, we talked a little bit about this in January, which was the idea of having hero cards or joker cards, I call them, on specific issues. And it was funny because people were like, give the joker card to this other bug. And I was like, yeah, that's basically what we do. But we've extended that concept a bit further. And I hate that we changed the name, but we did change the name, and we call those hero squads now. So what we've done is that we've taken a subject, for example, transit, which we've extensively talked about in January, and we've made a hero squad around it. So that means we've dedicated resources just to all the bugs related to one system. And we've changed the methodology. So the way that we used to deal with bug fixes in the past, it's basically engineers get the bug report. They put it in their task list. At some point, they emit the fix, and they ship it in the patch. Now, as the patch release comes closer and closer, those bugs get verified and or need to be accelerated. And so it's always a bit of a, the fixes are valid, they're correct, but we don't have time to test them fully. We've had a lot of regressions, right? And so regression was becoming a problem because we were going too fast to try to solve some issues. And so some systems like transit are complicated enough that you can't just emit the fix.
I want to pause you there. What is regression?
Regression is when I say I fixed bug X and I've created bug Y. So it's basically when we're introducing new bugs or breaking other things because we try a fix. And so regression was a big problem on the project in general. That was in part because of the speed at which things were going, the code review process, things like this. So these hero squads, basically, we flipped a bit the relationship. So we decided that fixing issues, let's say, I'm going to keep transit as my hero squad example because it's an easy one to reason, but we've put resources dedicated to it. And then we got the QA teams to basically drive the priorities within the squad. So instead of saying, hey, production management is going to drive the priorities, we got the QA leads to do that. And so now these guys were completely driven by player impact. And so when they look at issues, they're like, is this impacting players or is it a fringe issue? And they decided on the priority. And it turned out that that priority accuracy was a lot better. And we asked those teams to be relentless into what they want to reach. And so classify the issues in order. And then the moment we get a green light from these guys, it's a celebration because they are hardcore.