The impact of a Quality Engineer on the Pipeline

Blog!

Smart teams eliminate manual steps and automate them, leading to a continuous integration continuous delivery (CI/CD) pipeline. Thus, a CI/CD pipeline enables a team to release code changes safely and continuously to production without human intervention, requiring a strong maturity in quality engineering. Contrary to what you might think, the pipeline playfield is not limited to developers. In this blog Boyd explores why a quality engineer is indispensable in working on a pipeline, starting with what exactly a pipeline is.

Quality Engineering and Pipelines 

Following up a previous blog on skills a quality engineer needs, this blog delves into a specific aspect of quality engineering: pipelines. Pipelines are crucial in modern software development, offering interesting possibilities from a quality perspective. Which is why TMAP dedicates a building block to them. This blog explores why a quality engineer is indispensable in working on a pipeline, starting with what exactly a pipeline is. 

What are Pipelines? 

A physical pipeline, like one where oil flows through, resembles a software pipeline. Instead, code flows through it. Think of code as an activity executed in or through the pipeline. Fundamentally, you build and deploy application code with a pipeline, such as a new API version, or an update for a webpage. Managing test data, test environments, and test automation could also be part of the pipelines process. Arranging these activities in a predetermined order enables secure and efficient product deployment while maintaining the right quality. 

A simplified order in your pipeline is: build > test > deploy. 

However, pipelines often involve a series of complex processes: Build > unit tests > deploy to test environment > automated system- and team testing > quality gate > release to acceptance environment > quality gate > deploy to production > health checks

CI/CD pipeline

Smart teams eliminate manual steps and automate them, leading to a continuous integration continuous delivery (CI/CD) pipeline. Thus, a CI/CD pipeline enables a team to release code changes safely and continuously to production without human intervention, requiring a strong maturity in quality engineering. Contrary to what you might think, the pipeline playfield is not limited to developers. 

Quality engineer acting as a pipeline stakeholder 

A Quality Engineer (QE) understands the team's objectives, the testing strategy, and which quality measures can be applied. Certain quality measures fit perfectly into a pipeline, such as automating valuable validations and checks. As a result, a quality engineer can strategically contribute to the content of the pipeline. And by that, helping the team achieve its goals. From a DevOps perspective, this is based on learning fast and quality at speed principles. 

One of the first tasks a quality engineer can undertake is visualizing the release. The visual acts to initiate discussions with pipeline stakeholders about what works well, what could be improved, and what is missing in the pipeline. An example of such a visual can be found in this article

The quality engineer can also suggest improvements to the pipeline on its own. If the team wants to have faster production releases, the QE can identify and address bottlenecks in the pipeline. Is earlier quality insight needed? Existing automation in testing should be expanded and enhanced, or the results of these should be made more visible. There are also opportunities for modern quality measures, such as contract-based testing and ephemeral (temporary) test environments. 

Benefits of a quality engineer's involvement 

A quality engineer's influence on the pipeline clarifies the process of how a pipeline is used, fostering a shared understanding. This insight is crucial for stakeholders outside the IT team, who depend on the quality delivered by the IT team. Understanding how quality is maintained makes this transparent, facilitating better comprehension between business and IT. Ultimately, a quality engineer helps the team achieve its goals by strengthening the use of the pipeline. 

Your next steps 

Manifest and express yourself as a quality engineer by exploring the pipeline. Visualize the results and take up the advice from this piece. Below are some points of interest you can investigate. For the latter, there's even a card game to learn how to design a pipeline. It is a fun activity to do with your team to learn more together! 

  • Conduct a recurring evaluation of the pipeline, akin to a health check. 
  • Focus on bottlenecks in the software delivery process. 
  • Apply continuous improvement.

Published: 17 May 2024
Author: Boyd Kronenberg