Industry executives and experts share their predictions for 2023. Read them in this 15th annual VMblog.com series exclusive.
The Year Testing becomes Quality Engineering
By Adam Sandman, Founder and CEO, Inflectra
If we look back at the
last couple of years, it has been a time when information technology and
software have radically transformed the world around us, from online meetings
and classrooms to self-driving cars, smart electrical systems, and AI facial
recognition. Yet, at the same time, this seemly serene, upward journey into the
pastures of a digital utopia has been punctuated by an endless profusion of
security breaches, data privacy failures, and safety critical systems failing
due to software problems. As we become more dependent on technology, yet at the
same time more vulnerable, 2023 needs to be the year that we realize that we as
software professionals need to focus on quality.
What About Quality Assurance and QA?
Before the agile
manifesto, software was developed using linear approaches called "waterfall"
because it consisted of stages that you did in sequence, like a series of
cascading waterfalls. In that process, you typically had a dedicated team of
software testers, also often called Quality Assurance (or QA). The idea was
that they would take the work from the developers in the design and development
phases and test it independently to ensure it works. This is not actually
Quality Assurance but really Quality Control since you are just checking at the
end to see if the system works as it was supported too.
With the advent of agile methodologies
such as Scrum or Kanban, the
different phases were eliminated, and projects were broken up into
cross-functional agile teams with designers, developers and testers working
simultaneously throughout the process. In theory, the team should be managing
quality holistically from the inception of each project release to the software
delivery. Still, in reality, the focus is mainly on "testing." Modern software
teams will use a combination of automated software tests that can test different parts of the system (unit
testing, system testing, API testing, user interface testing) as well as manual
tests done by humans to find any problems or areas where the system does not
conform to its requirements. That sounds like a recipe for high quality, right?
Quality is Larger Than Testing
The problem is that the
world of QA has become synonymous with testing. In most teams, you have
developers who write the software, QA engineers who write automated tests, and
QA analysts/testers who do manual tests. However, no one is looking out for
quality at a holistic level. A proper understanding of quality would include
the quality of the requirements, the quality of the processes, the quality of
the code being written, the quality of the training the team has, and the
quality of the feedback we're getting from users. Unfortunately, that is
unrelated to what most software QA professionals are tasked with.
For example, when the
Boeing 737MAX plane had an issue with its MCAS software system, it wasn't that
the software was faulty or had a bug; it was that the requirements were
incorrect and that the training and manuals for the pilots were not appropriate
for its intended usage.
So, even though in
theory, software Quality Assurance should mean looking at quality from start to
finish (vs. Quality Control, which means checking at the end), because of its
historical connections to software testing, there is now the rise of Quality
Engineering (QE). Unlike QA, QE deliberately includes the quality of the entire
engineering process, including the other aspects mentioned above. In this
regard, quality engineering is about returning to the roots of what QA was
meant to be.
When the ISO:9001
standard for QA was created, it was used in manufacturing to monitor quality at
each stage in the manufacturing process (from raw materials to finished
products). It included the facilities, the people, the methods, and the
training. By applying that wider quality lens to software development, we can
enjoy the fruits of a technology-fueled utopia without the risks and dangers of
inadequate quality.
At Inflectra, our quality
engineering platform - Spira - is
designed to tackle quality holistically, supporting requirements engineering,
quality assurance, project planning, and risk management. So when you need to
test your software and comply with audits such as ISO:9001, we have your back.
##
ABOUT THE AUTHOR
Adam Sandman, who founded Inflectra in
2006, has been a programmer since the age of 10. Today, Adam serves as the company's CEO. He is responsible for product strategy,
technology innovation, and business development. He lives in Washington, D.C.,
with his family.
Prior to founding Inflectra, Sandman worked
as a director for Sapient Government Services, where he was in charge of
development with the U.S. Marine Corps. and other government agencies, and was
responsible for leading many capture teams and writing whitepapers and position
statements to build Sapient's reputation as a leader in the defense space. He
studied physics at Oxford University.
When he is not working, he can often be
found giving talks at events such as NDIA Agile in Government Summit, STAR
East, Software Testing Professionals Conference, and Swiss Testing Day. He is
passionate about economic empowerment by helping to bridge technology
opportunity gaps in the developing world.