Why Chick-fil-A Moved to Agile Testing and Test Automation
Tricentis sponsored this post.
The quality engineering team for the restaurant chain Chick-fil-A used to be small and siloed from developers. It was a manual testing group that fell under the IT organization and operated as a shared service, supporting everything from Agile and waterfall teams to third-party vendors. The testers worked independently from the developers, and some project teams didn’t have testers.
Under this status quo, the business saw testing services as a function to ensure its applications worked as expected. But that view, along with the team structure, has changed in recent years. Quality engineering is now integral to the rollout of new, market-differentiating products and technologies, from a mobile ordering app — an app that displays real-time metrics — to franchise operators and IoT projects.
Maria Boykins, senior team lead, quality engineering at Chick-fil-A, shared how she and her team are redefining their role within the company during a recent talk at Tricentis Accelerate San Francisco 2019.
“People don’t think about Chick-fil-A as a technology company,” Boykins said. “We are a restaurant business, but we are tapping pretty heavily into technology.”
The New Way Forward: A Unified, Powerful Team
Today, Chick-fil-A has a full-fledged engineering organization that includes quality, software and site reliability engineers. The organization deploys engineers to project teams (called “pods”), and those engineers focus on helping developers build remarkable systems that will differentiate Chick-fil-A in the market.
In this new organizational structure, the Quality Engineering team adds significant value to the business throughout the entire software development lifecycle. This value has become abundantly clear through a handful of key wins.
Team Ownership Mentality
Everyone from product owners and developers to testers now share ownership over quality. Chick-fil-A achieved this shared perspective by:
- Restructuring the Engineering organization: Getting developers and quality engineers on the same team to allow for shared goals and visions rather than different goals and visions.
- Defining team goals: Shifting from the mindset of having testers ensure software meets requirements to having testers proactively institute quality standards with buy-in from project owners.
- Establishing a common language across teams: Removing silos between project owners, developers and testers to make sure that when each pod commits to something, they all mean the same thing and work alongside one another.
Increased Test Automation
Four years ago, Chick-fil-A practiced very little test automation. Today, the team has automated nearly half its test cases across a variety of systems. The Quality Engineering team achieved this goal by:
- Selecting candidates with development experience: Quality Engineering leaders focused on hiring people with development experience (e.g. Java, Python) and/or experience building test automation scripts.
- Promoting testing vs. automation scripting: The team focused on making sure tests validate development logic rather than simply building automation scripts so that the team truly confirms functionality (versus just checking a box).
- Selecting fit tools for use: Choosing the best-in-class test automation tools (which are integrated with Tricentis qTest), to fit the needs of each project instead of selecting one tool and trying to make it work across the board.
- Establishing key performance indicators: Setting a goal for automation (to achieve 65%), tracking progress toward that goal, and identifying and working through barriers.
Chick-fil-A has made a change to emphasize quality earlier on in the development process. The team reached this goal by:
- Redefining quality engineering: Quality is now embedded throughout the entire software delivery pipeline, from beginning to end, rather than added onto the end of the development process.
- Serving as consultants for best practices and tools: Testers now regularly go outside their traditional responsibilities to serve as consultants on quality for developers and project owners.
- Establishing CI/CD processes: The team has promoted continuous integration and continuous delivery through more automation (largely through Jenkins) and set quality gates within those processes.
- Promoting TDD/BDD: By practicing smaller trials (focusing on two user stories per project), the team has proven the ROI of test-driven development and behavior-driven development and gotten everyone on board with the concept.
The Powerful Results: A More Aligned Organization
These changes to Chick-fil-A’s Quality Engineering organization have not only helped the development and testing arms of the business become more aligned, but they have also better aligned those teams to the broader company’s core values around service, unity, purpose and staying ahead of the curve.
Redefining Your Own Quality Engineering Organization
Check out this session from Tricentis Accelerate 2019 featuring Maria Boykins of Chick-fil-A to learn more about how you can transform your own quality engineering organization, including the mindset shift and process changes that got Chick-fil-A to its current state and the best practices and techniques that add up to create high-quality products. It is also possible to see a video presentation that details Chick-fil-A’s success story.