Quality Anti-Patterns: How Figma does things differently
Watch the full recording of this Engineering Q&A with Figma's CTO: https://bit.ly/feb9-vod
Jean Baptiste Coger, a cofounder at Plato, recently led an Engineering Q&A session with Kris Rasmussen, CTO of Figma, the all-in-one design platform and online whiteboard for teams. Rasmussen shared insights on how Figma approaches quality and has maintained its product quality over the years in a session titled "Quality Anti-Patterns: How Figma does things differently."
To Kris, quality is inversely related to the sum of bad user experiences, which include bugs, reliability issues, performance, and feature limitations. Figma prides itself on its detail-oriented culture, and reducing bad experiences is not the only focus. The severity of any issues that do slip through, the time it takes to detect and remediate the problem, and the number of users affected are also essential considerations. It's important to note that quality at Figma is not only a product concern. It is also a core component of Figma's product brand and company culture.
In the discussion, Rasmussen shared three key learnings that have helped Figma improve its product quality and customer satisfaction.
Prioritize New Bugs and Regressions Higher
The first learning is around bug reporting. In the early years of Figma, the team did not have a well-defined bug process. With a single QA engineer at the time doing the global triage and funneling bugs to different teams, the situation quickly got out of hand. This minimal process led to ambiguity and anxiety around whether or not they were meeting a relatively ambiguous quality bar. After taking a closer look at their backlog of bugs, they realized that one change could make a big difference.
They began prioritizing new bugs and regressions higher, which means that regardless of how severe an issue is, they would fix it as soon as possible once discovered. It appeared to be much easier to resolve these issues when the team still had context and users paid attention to the trade-offs between new features and quality. For longer-standing regressions that took a while to figure out, they would treat them as normal priority bugs and fix them during one of their quality weeks, scheduled three times a quarter. This process has worked well for Figma and helped them significantly improve their product quality.
Talk With Frustrated Users
The second learning is about facing frustrated users head-on. In the early days of Figma, there was an assumption that everyone on the engineering team was doing support and talking to customers. As the company scaled, staying on top of these issues became overwhelming.
They improved their support function and grew it to be larger, but eventually became too insulated from users' issues, making it harder to know what was happening. They began to reach out to customers directly to learn about their problems and try to diagnose them quickly, answering Twitter threads and designers' comments on forums. They found that they reported real issues that the Figma team hadn't discovered. By looking for these "needles in the haystack," they could rapidly diagnose and fix problems, improving their product quality.
Define Your Golden Cohorts
The third and final learning is about the idea of "golden cohorts." Kris emphasizes its relevance, both in terms of business and quality metrics, like performance. When starting a software team, you only have a little production monitoring, making it hard to know how your product performs. You monitor things more closely as you grow, but you may not be watching the right things. By looking at "golden cohorts" of users, the most engaged with the product, Figma has learned a lot about how the product performs and has improved its quality.
After discussing these three key learnings, Kris delved deeper into Figma's approach to quality and testing. He explained that Figma constantly looks for ways to improve its performance and has introduced performance tests that run on every CI commit. The company also uses production metrics, different slices, and dices of performance telemetry dashboards to monitor product performance.
Regarding manual testing, Kris explained that Figma relied heavily on it in the early days, but as the company grew, they introduced more automated tests. He highlighted the importance of manual testing, particularly among engineers who can think about the edge cases of their creations. Figma also uses a bug bash process across teams before launching a new feature, and developers write unit tests and use integration testing frameworks for UI tests.
Figma also has specialized testing for platform initiatives and invariance enforcers and monitors production infrastructure with dashboards and quality reports.
The interview ended with Rasmussen stressing the importance of leading by example and focusing on quality, even as a company grows.
Overall, the interview highlighted the importance of quality and customer satisfaction in software development. Figma's approach to quality, which includes prioritizing new bugs and regressions, facing frustrated users head-on, and looking at "golden cohorts" to monitor product performance, has helped the company improve its product quality and create a better experience for its users.
The company's culture of quality and its focus on testing, monitoring, and improving product performance are valuable lessons for any software company looking to improve its product quality and create a better user experience.
Watch the full recording of this Engineering Q&A Session now!
Watch the full recording of this session here: https://bit.ly/feb9-vod
We don't have any blog posts yet.
We are doing our best to find what you are looking for. Don't hesitate to contact us if you can't find what you need.
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.