INTRODUCTION TO CQA – principles for quality control in complexity. INTRODUCTION TO CQA We are migrating towards complexity in how software is built and maintained. We need to develop multiple tools and techniques to help us stay in business and be competitive. This makes it hard to find the balance between quality and innovation, structure and chaos. IT IS TIME TO TAKE A STEP forward and bring it all together. Today working with quality assurance, it is necessary to build quality into the DNA of software development. We introduce Continuous Quality Assurance CQA™, to support companies to more efficiently put all knowledge together and increase structured efficiency. SHORT DESCRIPTION OF CQA Continuous Quality Assurance embraces uncertainty and does not try to describe simple linear models for taking control. Instead it postulates principles and practices to function efficiently in a complex context. Same ideas that have been promoted a long time ago within Lean but with additional focus how to incorporate what we have learned from how test have evolved in modern time. * It is important to understand that these principles require more training, some additional infrastructure and a disciplined culture. There is no need to make additional investment to apply CQA, unless the context requires this. If you are currently investing a lot in approaches within QA where linear assumptions will give poor results in complex environments, it is probably worth moving to CQA as soon as possible. TIME-TO-MARKET BECOMES A MUST “Soon is not enough”, the life time of products has decreased over the years. The expectation of innovation has increased. The competitive and fast moving technology industry makes cost of delay one of the large risk factors. Looking back in the past it took 100 year after the invention of the camera before it became a commercial product. For cars it was drasti-cally reduced to only 50 years. Nowadays it is a matter of a year or less until competition has something similar on the market (e.g. Iphone and Android). Continuing along this path, we can expect even shorter lead times in the future. So investments that are waiting to be completed are a risk. We need to change ourselves to be efficient in the new world of shorter cycles. Others have said the same for years, we have seen Agile and Context Driven School of Testing promoting change for some time now. With new continuous techniques there is a need to take a more holistic perspective and put things together. This is where CQA fits into the picture, integrating Agile, Continuous, DevOps and Test together. Combined the different principles in CQA help each other to reduce leadtimes. ”If you are currently investing a lot in approaches within QA where linear assumptions will give poor results in complex environments. It is probably worth moving to CQA as soon as possible” * THE FIVE PRINCIPLES ARE 1. Business Value Centric 2. Holistic 3. Continuous 4. Team Adaptability 5. Single Source of truth IT as core business Many companies have used IT to support the business. Innovation within the business happened without any significant changes to IT. Companies that have had IT as a business, such as larger software companies, have been coupled with the innovation velocity of IT for a long time. 2 INTRODUCTION TO CQA What is currently happening is that more and more companies can no longer view their IT as merely supporting the business, they have to understand that it is a very active part of the business. New innovation is no longer possible without adapting the IT services. Moore’s Law predicts a continued linear growth of technology, which means that we can never stand still if we want to stay competitive. When we depend on other services that do not stand still, our overall environment becomes complex. To control and work with innovation in complex environment, new approaches and principles apply for efficiency. With the high coupling of business and IT, even companies that did not previously regard themselves as IT companies must now improve their pace, their patterns and their disciplines. If focus on quality is not managed properly, it can become too slow or give too little valid information about the emergent environment. The traditional approach has been to take control with linear processes and slow down the pace. This is not only less efficient in a complex world, there is also a risk of losing out to the competition. All this requires a new paradigm shift to evolve. The paradigm shift For a long time software has been treated as a physical object. Core ideas on how to best create physical objects came from the industrial factory model and economic efficiency theories came from the American mechanical engineer Frederick Taylor (18561915). In today’s IT industry we have “If focus on quality is not managed properly, it can become too slow gone from discontinued to continued or give too little valid information about the emergent environment.” software development. The core of this model has much more resemblance to biological factors, and the evolutionary theory of “Survival of the fittest”. “Fit” in this context refers to “most well adapted to the current environment”. The transition from industrial factory model to a services oriented model has been going on for a considerable period of time. The service oriented architecture and decreased lead times have put IT into an environment that is continuously changed. Building something today is never done in isolation, components are reused, customized and put together to create new products. The dynamic character of this higher complexity has been identified and also been embraced. New methods and techniques have been launched to be able to work with software development in this environment. As with earlier paradigm shifts, it has been the development discipline that has been driving 3 INTRODUCTION TO CQA this change. The continuous methods approach solves many problems that the the traditional system development life cycle had. But without taking a more holistic perspective and still working with traditional project paradigms derived from the industrial factory production, it is hard to truly make full use of these new methods. Quality Assurance has been in the back seat of this change, but it should be in the front seat, driving the change towards the requirement. We want to change this focus by taking a more active part in developing the perspectives one must have to meet, rather than fear, those changes. MODERN TECHNIQUES TO RESOLVE THE CHALLENGES Specification by Example (SbE) is a method to define requirements by writing functional tests that illustrate realistic scenarios in readable format. It focus on the business value for end users and encourages a continuous dialog on how to achieve the goals of the software. As the results are executable tests, they will verify the requirements for working with existing systems, and they can also be used for compliance transparency. Continuous Integration (CI) is a method that focuses on working with the original codebase and modifying and integrating those modifications frequently. It embraces the fact that integration debt can be costly and aims to mitigate this by make small deposits often. Continuous Integration is intended to work with Unit tests that are executed when building the system. The unit tests can be written in advance of producing the code, as proposed by the method TDD (Test Driven Development). ** ** THE CORE TENETS OF CONTINUOUS INTEGRATION • Version Control • Automatic Builds • Discipline • Collective Team Responsibility 4 INTRODUCTION TO CQA There is a technical part of CI that focuses on automatic builds, but the ideas behind the method are equally much about the culture of dividing work tasks into smaller items. Sharing these changes with others for fast feedback reduces unnecessary work that might go in the wrong direction. In order to encourage knowledge sharing even further, CI principles are very often combined with Code Reviews. Continuous Delivery (CD) is a method that goes beyond compilation to include how software is released. Verifying installed software binaries with automated business tests in the same way as customers would use it is a core part of CD. Everything in the process should be traced and also be possible to undo, in order to easily revert to a version that functioned. *** The result of CD is to get to a stage where changes to the system, both functional and in regard to infrastructure, are rapidly performed, easy to trace and quick to undo. Because every change is noted in an audit trail, this method is much favoured by compliance regulatory disciplines. DevOps is derived from the two words Development and Operations. It is an approach that reinforces communication and automations within operations. It is based on Continuous Delivery in order to reduce any manual modifications to the configuration of the operation and to maintain control. Thus it also focuses on how to work with Programmable Infrastructure and Infrastructure as Code. Difficulties with full implementation The problem with these techniques is that they are mostly derived from the Software Development discipline and focus on doing things right. But they do not take a holistic approach and ignore the question “Are we doing the right things?”. In addition, they are very often put into a timeboxed process that can be hard to work with the continuous demands, so a lot of the value gets lost with the exception of Continuous Integration. “Having a more holistic view and going beyond just optimizing one step of the cycle is necessary to create efficiency.” *** THE CORE TENETS OF CONTINUOUS DELIVERY • Configuration Management • Version Control • Dependency Management • Build and packaging • Test Strategy Continuous quality assurance To achieve full use of different techniques we need to make them possible to cultural transmit according to the memetic theory. Ideas and beliefs that works together and can steer efficiently, even when the context is complex systems. A continuous, scalable process where quality focuses on business value and adaption to the current environment. Such a process utilizes modern methods and techniques from multiple disciplines. It needs to be receptive to new methods and tools as they are developed. It aims to expedite the process of going from idea to customer usage down to a few days, or even hours, without building quality debt. 5 INTRODUCTION TO CQA THE PRINCIPLES IN CQA Continuous Quality Assurance (CQA) is a concept and consists of 5 principles and a process. Business Value Centric Every work starts from a business need. When the object was physical and expected to be fin-ished once developed, with no or little changes happening after being completed, it made sense to invest upfront to ensure completeness. Today we need to consider the cost of delay as one of the major risks to capitalizing on the investment. In a rapidly changing environment, it is important to adapt often and make sure we deliver business value. In other words, that we are doing the right things, at the right time, i.e. when it is asked for and that we minimize spending time on other things. The CQA perspective invokes evidence based reasoning to provide a feedback loop on business values as part of the creation software cycle. Handling the queue and prioritizing among the jobs to be done is essential. With a short queue and small sized jobs focusing on lead time and improvements to reduce expensive parts. The new economics of IT are modified to allow adaption to changes in the environment. The job is done not when something has passed through an assembly line but when it has added value to the enduser and has fulfilled objectives from the user perspective. Infrastructure is just as equal a part of changes to the environment as functional change. Infrastructure can be used to enable business value. Synchronizing development priorities to handle technical changes rapidly in order to adapt to the environment will be a success factor. Holistic The principles of CQA are not derived from just one discipline and it the concept will not have no effect if one does not takeing a holistic approach. to the organization. The marketing strategy must be in line with the release of business value packages. The way requirements are created defined,and transformed into development packages and queued must be in line with the new steeringgovernance. The overall architecture of the system must build in a quality perspective. Incentive models in the company must encourage the right conduct,help and not negatively reinforce wrong behaviors. Companies that succeed with this will take control and use the changes in the environment to its their advantage. Continuous Working in a continuous mode is another game play for the organization and new problems arise. For example, should we use a green-blue production environment to direct users to the new version? With the larger set of information that exist in complex system, quantities of information and results are a challenge in itself. It is hard to fully halt activities on system level. How do emergency stops work? How can one 6 INTRODUCTION TO CQA analyze and explore the data? The relevance of these kinds of topics increases as complexity increases. Every step that is expensive can be improved. If the most expensive activity is compilation, then focus on improving this, if producing the correct marketing materials takes a very long time, consider how this can be improved. Having a more holistic view and going beyond just optimizing one step of the cycle is necessary to create efficiency. Team adaptability Focusing on CQA challenges the traditional ideas derived from Taylorism that efficiency is created by individuals optimizing their own work tasks and being given incentives to do so. Instead, the focus must be on collaboration, communication and strength in diversified teams. It is not advantageous that everyone should know everything, rather that the collective competence grows and be used more actively. The same person can have multiple roles to complete tasks. Developing expert competence and at the same time working collectively in cross functional teams is a change for many people and it is important to work with this change. Team adaptability focus on cultural changes and cognitive challenges, competences and skills with individuals collaborating. Single source of truth It is important to keep the actual service or product in sync with the collective competence. Traditionally, multiple sources have been used, such as 7 INTRODUCTION TO CQA requirements specifications, design documents, working software, test specifications, marketing materials and so forth. Production of any artefact that delivers business valuable packages is part of the developement cycle, and the idea is to minimize lead times. This principle is about keeping a lean perspective on the cycle and avoiding duplica-tion, yet maintain enough information and keep an audit trail of changes for future references. “Specification by Example” is a technique that comes in handy deriving require-ments and test from a single source. THE PROCESS IN CQA The starting point in this process is an idea that is intended be used by the end-user. Feedback from usage may lead to improvements. In the end of the life cycle the feature or system is removed when they are no longer needed. This in itself is not new, the same concept was used for creating cars with Taylor’s theory of labor productivity and economics. Very few have put together the collaboration and interaction of the different disciplines to create a modern version of productivity economics, which embraces the evolution of a system in an environment that is continuously changing and that is very complex. In the future of Quality Assurance, it is necessary to connect maintian the focus continuously throughout the lifecycle of the product or service lifecycle, not as a single phase but adaptingve with to the evolution of the both the software, it needs to emerge together with the path of evolution that and the follows the system. There are five steps in the CQA process: 1. Create Minimum Viable Product (MVP) Ideas come in all sizes. There are ways to encourage the dialog between users and the delivery organization in order to transform the idea into something that can be implemented. One is LeanUX, which creates Minimum Viable Products (MVPs), whilst keeping a mindset of reducing wasteful efforts in order to improve profit and reduce loss. During this step, prioritization is key as well as embracing failure as a strategy to explore multiple paths. THE FIVE STEPS 1. Create minimum viable product (MVP) 2. Creating development package (DP) 3. Develop and release (DP) 4. Integrate DP to MVP release 5. Feedback the usage 2. Create Develop Packages (DP) This step breaks down the business value package into smaller increments that can be placed in the development queue. It is also covers considering marketing strategies. The idea is to decouple the deployment of a development package from the release of the business value package. To keep the integration debt low, the newly created package should be possible to add to production in order to start exploring its value and, if needed, stop investment if we can prove that future profits are not worth the investment. 3. Develop and release DPs This step is about development and release. Design, architecture and continuous delivery are all methods and techniques that are used in this step to keep the quality debt low. 4. Integrate DPs into MVPs As mentioned in step 2, it is important to decouple deployment from release. A continuous process changes the way we view marketing of our changes. 8 INTRODUCTION TO CQA It also challenges the cognitive abilities of users. How should we avoid the cognitive stress of handling changes? 5. Monitoring usage for feedback Feedback is key in all steps of this process. Today’s lifestyle expects feedback, and it can be controlled or it can be left to flow on its own in social media and similar. Some techniques that have been used for this are A/B testing and other production usage analyses. A service oriented environment combines everything in the dialog between the service provider and the end user. This means that evaluation of ideas goes beyond implementation, it must also address the full experience of the changes. Testing aims to guide the service provider by informing them of the gaps between expectation and results. CQA must therefore must work in a broader way and adapt to the ongoing changes in the environment during evaluating. Scaling the cycle The results from step 5 are input to step 1. The steps can be run in parallel with multiple ongoing cycles. Queueing theory principles state that ideas belong to the arrival process (A) and the treatment of them is the server process (C). In the modern economics of software development we can use mathematics from Queueing theories to optimize labor efficiency. Briefly stated, that means small sized jobs never push utilization above 80% and focus on Mean Time of Delivery. Antifragility to handle failures Nassim Nicholas Taleb coined the word ’anti-fragile’ to describe the situation where there is a convex response, from a stressor or source of harm. In contrast to fragile systems that easily breaks from stressor, antifragile systems strengthen themselves. These stressors are leading to a positive sensitivity to volatility for the system. It is the same principles as an evolutionary theory of the species. The natural selection that contributes to preservation of the race is based on variance in the individuals and their struggle to survive. Put another way, the risks to the individuals are not transferred to the risk of the race. In software development, you similarly desire to minimize the systematic risk by allowing the components to be stressed and fail fast on their own. You need to focus on isolation and Mean Time to Recover rather than Mean Time between failures. THE FUTURE Our vision is that it is possible to go from idea to a delivered business value package within an hour without building quality debt. The value of the feedback migratws internal interaction to customer centric conversations. We do not see CQA as a phase but the beginning of a journey we are already on. IT becomes part of our day-to-day business, quality demands increase with leadtime pressure and with competition. By leading this process change, the experience of this journey is promising and full of new possibilities. 9 INTRODUCTION TO CQA ABOUT THE AUTHORS Kennet Osbjer, Viktor Laszlo, and Anna Almén has collectively very broad competence from everything of Product Management, Test Leaders, Development, Testing. All from multiple types of industry sectors from large software companies, exchange trading, governmental from more than 15 years of experience each. As a cross functional team lots of types of challanges has been brought into the development of the principles and practices presented in this whitepaper. ABOUT ADDQ ADDQ Consulting specializes in quality assurance and improvement of system effectiveness. We make every day for our customers a little easier by focusing on quality and efficiency. ADDQ Consulting has approx. 100 quality assurance specialists. We function as advisors in both the public and private sectors and as hands-on specialists to make business critical systems work as well as they can and as economically as possible. 10
© Copyright 2026 Paperzz