The concept of quality is present in practically everything around us, in everyday life and especially in a professional context.
You don’t want to buy a product with poor quality or bad reviews, and you don’t want to hire a professional whose service won’t solve your problem, right?
Software development is no different. Software quality is the discipline responsible for ensuring that code is implemented according to industry best practices and standards, guaranteeing both quality and compliance with project requirements.
To meet those requirements, applying software quality principles — or bringing in a specialist in the field — can significantly improve the development process and the final delivery.
In this article, we’ll cover the concept of software quality, why it matters, the professional responsible for it, and other key points anyone in software development needs to know. Read on!
What software quality is and what it’s for
Quality, in a general sense, is a fairly subjective notion, wouldn’t you agree?
From that angle, it’s a subjective concept shaped by whoever is evaluating it — according to their specific needs or their personal perception of the project, in a professional setting.
In software development, software quality is the discipline responsible for evaluating and ensuring that software is built according to established technical best practices, fulfilling the system requirements in line with the project’s end goal.
Roughly speaking, a project whose goal is to deliver an ERP-style management system to a client, for example, will be judged through different quality lenses by the client and by the developer.
For the client, the quality attributes that matter are things like effective inventory management, supplier financial management, and, over the long term, cost reduction through an automated system.
From the client’s perspective, software quality is assured when those specific needs are met through the delivery of those concrete attributes.
From the developer’s perspective, software quality comes from development best practices.
That means clean code, written according to the documentation, that solves the client’s problems and — ideally — is understandable by any professional in the field, so that any reasonably skilled developer can improve or upgrade it.
The result is the best possible product for the client, built on best practices — even if, for the client, well-structured code isn’t an obvious quality attribute for achieving the project’s goal.
There are also technical standards designed to assure software quality. In essence, this technical discipline within software development and engineering exists to guarantee system quality against both delivery requirements and the technical requirements of software development.
Key dates for the field
There are two notable dates: Software Testing Day (February 20) and Software Tester Day (September 9).
Software Testing Day celebrates the activity itself, marking the release of the first landmark book in the field (“The Art of Software Testing,” published on February 20, 1979, by Glenford J. Myers), which introduced the earliest concepts and practices of software testing.
Software Tester Day, on the other hand, honors the testing professional and marks the discovery of the first officially reported bug — found in the Mark II electromechanical computer, where an actual insect got stuck in a relay and disrupted processing. The person who identified it was U.S. Navy officer Grace Hopper.
Who is responsible for software quality?
To understand the responsibilities of a software quality professional, let’s dig a little deeper into the role of a Quality Assurance professional in software development.
The role of a Tester, or QA as they’re known in the industry, is primarily to ensure that what was implemented satisfies the requested requirements.
The QA’s job, then, is to understand the requirements and use the available techniques and resources to validate that they are being met. They are the main “thermometer” for delivery outcomes and the overall health of the project.
For a long time, the software tester’s role was reduced to “the person who finds problems” or “the developer’s enemy.”
Fortunately, that mindset has been changing, and today there’s a much broader understanding of the role and its importance within teams.
Whether working in an agile or waterfall context, the quality analyst can — and in fact should — be involved from the very start of building an application or feature, ensuring the client’s expectations are met from the prototyping stage onward.
Many activities can fall under the QA’s responsibilities, though the scope is always adapted to the project and the goals of the delivery.
Some of those responsibilities include:
- Understanding the architecture of the product under test;
- Analyzing the code that needs to be tested;
- Analyzing the scope and requirements of each change;
- Creating test documentation (such as test cases and test plans);
- Defining the best testing strategy to adopt;
- Estimating timelines for test execution;
- Weighing the pros and cons of the specific plan, along with the risks tied to each change;
- Executing test cases;
- Collecting evidence to document tests and detected defects;
- Creating automation scripts;
- Running automated test cycles;
- Staying on top of the technical aspects of the project’s infrastructure (browsers, databases, languages, and so on);
- Producing project test reports.
Especially in an agile context, we can say the QA’s main role is to evangelize the importance of quality within the team.
Quality is not the QA’s job alone. The QA is the person who knows the concepts and techniques best, who has the broadest view of what should be validated and how, and who tries to behave the way the client would — but the quality of the delivery is the responsibility of the entire team.
The QA Chapter
Beyond bringing all QAs together, the Chapter’s main purpose is to strengthen processes, create standards, and define tools that characterize an activity and can be easily adopted across multiple projects.
Among this group’s most frequent discussion topics are:
- Issue approval standards;
- Bug reporting standards;
- Basic test validation workflows;
- Minimum conditions required to run tests on a project;
- Quality metrics and indicators;
- Reporting standards;
- Tooling (test case management, automation, mobile testing);
- Project strengths and improvement areas, sharing the actions that were adopted or that could be implemented to improve them;
- Among other topics.
Is the importance of software quality clear now? It’s safe to say that without quality professionals, you’d be running into all kinds of problems just trying to read this article.
Learn more about the world of low-code software development in our other blog articles.


