
Traditional quality assurance (QA) is built on the assumption of predictable
software operating in controlled environments. However, most software systems today operate in a complex, hyperconnected world, where dynamic business ecosystems introduce uncertainties that traditional QA cannot adequately address. Residuality theory offers a fundamental shift in perspective.
Residuality theory is a systematic approach to building resilient architectures by starting with a first (naive) design and subjecting it to ‘stress’.
Find your stressors
The process begins by identifying potential challenges (stressors) and associated business responses and technical mitigations. As these mitigations are integrated into the architecture, the design evolves and reaches a state of criticality—a threshold where the system survives new stressors due to earlier mitigations. Make sure to check the book “Residues” and this YouTube video of Barry O’Reilly for more background. This approach aligns well with the principles of shift-left QA, embedding resilience and adaptability into the system architecture and moving quality efforts far earlier in the lifecycle.
Why should you care?
As businesses continue to integrate advanced technologies such as artificial intelligence, machine learning, and automation, the systems they rely on become more complex and harder to predict. The industry shift toward ‘agile’ was a response to cope with this growing complexity and the reality that getting requirements right ahead of time is near impossible.
We believe architects play a crucial role in the success of both software and the business it supports. But we see a sharp divide in the world of software architecture: while we still see large numbers of software projects fail, one group of architects seems to consistently deliver architectures that survive the test of time.
What do these architects do different? How do they make the right decisions to match the demands of a dynamic, unpredictable environment with the predictable world of software? The answer is clear: they rely on residuality theory.
Where do you start implementing residuality theory?
1. Involve QA expertise in the architectural design phase
2. Start with stressor analysis and residuality principles
3. Embed residuality into your organisation’s culture
Raise awareness about the importance of stressor-driven design by educating architects and teams. Host internal knowledge-sharing sessions or provide training opportunities to help your architects shift their focus from reactive problem-solving to proactive system design. Encourage cross-functional collaboration to ensure that QA, development, and architecture teams align on these principles.
Want to know more?
We recently published a complete whitepaper with new insights on QA. The increased focus on non-functional testing is but one of them. Download the entire whitepaper and discover valuable other insights from our QA experts.