Using Continuous Testing to Balance Quality and Speed: A Conversation with Rob Zuber, CTO of CircleCI
Last week Rainforest CTO Russell Smith and CircleCI CTO Rob Zuber came together to co-host our webinar, Continuous Testing: Striking a Balance Between Quality and Speed. During the webinar, Russ and Rob discussed the challenges of juggling the demands of a fast-moving release cadence with customer expectations for quality.
Their discussion covered a lot of ground -- from how to think about feature debt and deployment speed, to how quality changes as your team grows. Here are just a few of the key takeaways from Rob and Russ’ conversation.
1. Moving Fast is about More than Release Speed
Rob noted that when companies think about how fast they’re moving, they’re often thinking about how frequently they release code. But this mindset doesn’t provide a complete picture of the health and efficiency of the organization. Instead, teams should focus on the value they are delivering to users. “Ultimately, what your business should care about is the rate at which you’re able to delivery business value,” says Rob, “Customers don’t care about how many lines of code I’ve written, they care about the capabilities I’m providing.”
Russ adds that understanding how to measure quality often blocks teams from finding the right balance between speed and quality. He notes that while there’s no magic formula for measuring how fast you’re moving against quality, but it’s about “giving the right thing to the customer. You can’t give them something half-baked really fast. You need to deliver something they need.”
2. Balancing Speed and Quality Means Knowing When Not to Ship
Another important component of moving as fast as possible is to understand when not to ship. Rob says, “One of the greatest improvements to your speed can be not-shipping things. Realizing what’s not going to have an impact and not doing it is one of the greatest ways to speed up.”
They discussed how the technical debt created by new features should factor into a team’s overall strategy. Russ notes that teams need to consider the cost of shipping more features faster, in order to safeguard against long-term quality issues: “The more features you ship, the more maintenance you need to do, even if they’re perfect.”
3. Prioritize Long-Term Impact Over Short-Term Gains
Rob suggests that because teams often think about balancing speed and quality in the microcosm of a single release, it’s easy for them to prioritize short-term solutions instead of thinking long-term. Making trade-offs on quality to ship features by the deadline often comes back to haunt you and creates technical debt that your team must reckon with later. He says that teams need to create a process that focuses on the company’s long-term quality and speed goals:
“It’s important to establish long-term, sustainable speed, which is very different. If I make short-term decisions that are supposedly higher-speed or faster, they will eventually have a long-term impact on my ability to deliver. That trade-off today -- which feels like I’m increasing speed or quality -- will ultimately reduce speed or quality, which will be a lot harder to fix down the road.”
Listen to “Striking a Balance Between Quality and Speed” On-Demand to Learn More
Listen to the on-demand recording of Russ and Rob’s conversation to hear more of their thoughts on finding a balance between quality and speed. During the webinar they dove deeper into the tradeoffs that teams must make between quality and speed, shared their thoughts on how to think about technical debt, and answered questions from attendees on improving deployment processes.
Stream Continuous Testing: Striking a Balance Between Quality and Speed now to hear their thoughts.