Quality Assurance - the common approach
The introduction of Agile and DevOps increasingly reduces the time-to-market for a lot of companies. Development teams want to optimize their release cycles to demonstrate the efficiency of their development process. Many organizations struggle to find a way to guarantee the delivery of high-quality products. They often employ quality engineers to test developed features before they go to production. With this approach, issues are discovered in a late stage. If the feature does not meet the requirements, a lot of time and effort is wasted. Our vision at Avisi is that we believe this should and can be done differently.
Quality Assistance - our solution
We believe that quality should be a top priority and be embedded throughout the entire software development process. The quality of your products can make or break your organization and/or team. Quality engineers shouldn't be testing the level of quality of a finished product, but instead, they should create requirements before and during the development process. This starts with analyzing the quality of pre-set requirements and ends with end-to-end testing. Click here to read more about our approach to testing in this blog.
Our approach to making quality the core of your development process
For optimal Quality Assistance, the trinity of Mindset, Skillset and Toolset should be at the same level. We can help you achieve this by following these 4 steps:
Step 1 - Analyzing Requirements & Determining Metrics
We will determine the desired level of Mindset, Skillset and Toolset by playing a serious game (based on the GQM model) with all stakeholders (Development, Operations, Quality Assistance, and Business). This will define the quality goal: to what level of quality does your organization want to grow? The level of quality depends on several factors, including the type of software, the size of the projects, is it business-critical software or not, and the available budget. Once the quality requirements have been defined, we will help to set metrics that will measure the level of quality. This will prove to be valuable when applying improvements at a later stage. These metrics include:
- The frequency of requirement adjustments during sprints
- The number of findings found/resolved/reopened in a sprint
- The quality perception of the business/customer
Step 2 - Optimize processes
After determining the goal and the metrics for quality monitoring, chances are that the existing processes will not be sufficient to achieve the desired quality. By analyzing all current processes and mapping them for best practices, we can define the optimal processes for your organization. An example of a process is the requirements analysis process. In addition to the product owner and developers, it is important to involve a quality engineer when defining the requirements. This ensures that the test cases can be properly mapped against these requirements.
Step 3 - Tool choice and implementation
It's essential that the toolset you select supports your quality processes and matches the defined processes. Not all tools are able to support Agile testing and behavior-driven development (BDD). It is not without reason that a recent State of Testing™ report noted that: "Getting good tools is one of the key challenges for the upcoming years."
Which toolset you choose depends on the defined requirements and how far you would like to go in the field of Quality Assistance. Will test management tooling be sufficient? Or is automated testing (functional, performance, security) also required? By conducting a cost-benefit analysis, we can determine the best toolset for your situation.
Step 4 - Training stakeholders
Mindset - toolset - skillset. Upon completing the previous steps, we will have reached the desired level of the first two pillars. Now it's time to get your stakeholders' skillset to that level too. Obviously the quality engineers need to have sufficient knowledge of the new tooling to use it correctly. What is often overlooked is that the entire agile team needs to be trained in recognizing and acknowledging quality risks and should be mindful of involving quality engineers on time.
Mindset + Toolset + Skillset = Quality
Successfully completing these steps ensures that the quality of the developed software will improve. The mindset of all stakeholders will be focused on delivering quality and all the defined processes will fit your organization. The tooling will support these processes and is designed in such a way that quality engineers can optimally support the development process. Everyone will be trained to recognize, acknowledge and improve quality.
What are your quality challenges?
Every organization has its own challenges. We are happy to discuss with you how we can introduce/optimize Quality Assistance within your organization. Fill in the contact form below and we will contact you within a day to discuss your challenges.