“Why is your quality practice so different from the industry standard?” people often ask me.
Two years ago or so, I joined OutSystems as head of product quality and acceleration, which means I am in charge of improving the quality of our product while accelerating our delivery of value. Before that, I had spent 10 years working in quality engineering and management roles at Microsoft, so I was eager to come back to Portugal and apply my experience to the OutSystems product.
OutSystems is a fast-growing, nimble company with a great product used by thousands of enterprise clients. Therefore, I knew this was no ordinary challenge; we needed a particular approach. The solution we chose has benefited us immensely, so it’s time to spill the beans and start sharing what we have learned along the way.
Tailoring Quality to Fit Our Context
In the Summer of 2016, we reorganized our entire engineering department. This reorganization was meant to accelerate teams delivery and autonomy. At any point in time, there are three major forces at play that shape most of what we do:
- Speed is in our DNA — As market leaders, we constantly increase the pace of delivery.
- Our product and company are growing fast — We are victims of our success.
- We tame internal complexity — We manage a lot of complexity so that our customers don’t have to.
With these forces in mind, we created smaller and more nimble cross-functional teams. Each team would act as an autonomous cell, skilled and fully capable of making their own decisions. This would ensure that the people with the most knowledge and context would handle dependency management and problem-solving. We reorganized ourselves in this distributed way allowing us to make faster decisions and continuously deliver our platform.
We knew that this model would only work if the teams also owned the quality of everything they produced. Experience had shown us that a centralized team of testers (and test automators) did not work, and it hindered the principles of accountability and autonomy that we wanted to foster.
Our teams needed to develop their quality culture, practices, skills, and know-how to successfully deliver high-quality work. At the same time, they would also be increasing the pace of delivery while we continued to grow the product and organization. This would be no easy feat!
Five Principles We Build On: The Rise of the Quality Owner
To determine how to achieve the self-sufficiency in quality that teams needed, we listed five principles we firmly believe in and that are the foundations of our quality-driven culture:
These five principles helped us define the profile of the people we needed and how they would interact and be integrated into the teams.
And so the quality owner role was born!
You might be wondering why we decided to use this title, especially when our very first principle states that quality is everyone’s responsibility. We did it to set the level of influence each quality owner would have on their teams. Like our product owners who own product scoping decisions, our quality owners own and accelerate quality decisions.
To summarize, they are senior software engineers who choose to specialize in the quality aspects of their product areas. These technical individuals can refactor OutSystems to be more testable, mentor the team in their quality decisions, solve hard problems and create test automation frameworks and tools to achieve better results. They’re typically embedded into a single team, contributing to sprint goals and participating in its ceremonies and events.
For Quality, The Time is Now
The software development industry is changing extremely fast. Decades ago, when I switched from being a software developer to the role of test engineer, “quality assurance” was something you “had to do” at the end of an excruciating long project. Too often I felt like a speed bump in the whole process. Frequently I was the bearer of bad news. And, you know what happens to those guys.
Fast forward to today. The quality practice has been reborn and is a central pillar of the Continuous Delivery and DevOps practices.
“Deliver continuously and with high quality” is the new mantra of the entire software industry. Companies that don’t invest seriously in their quality and in anticipating customer feedback are going out of business or becoming obsolete.
The role of the quality owner is now more important, exciting and relevant than ever. Are you curious to learn more? Stay tuned, because I will be sharing further details soon.