Software quality as an attitude means every person on a software team, not just testers, takes active responsibility for quality throughout the entire development process. This covers test methods, test automation, AI-driven development, non-functional requirements like security and usability, and team mindset. No single role owns quality; it is built in from the start, not checked at the end.
Key Takeaways
- When an entire agile team is declared collectively responsible for quality without further action, the result is that nobody is actually responsible.
- The tester’s role has shifted from a separate specialist at the end of a waterfall process to a quality coach embedded in the team, and this shift is still incomplete in many organizations.
- AI democratizes software creation so that non-developers can build applications, which increases the volume of untested or poorly tested software entering production.
- Testing AI systems cannot rely on classical deterministic test cases because the same input produces a different output each time, requiring statistical or non-deterministic approaches instead.
- Non-functional requirements such as security and usability must be addressed throughout a project, not at the end, because late architectural changes are disproportionately expensive.
Why software quality needs new thinking right now
Software quality matters more than ever, and the conditions for delivering it keep shifting under the people responsible for it. Software runs through production systems, daily life, and society at large, and bad quality has real consequences. At the same time, three forces are changing the ground rules: AI reshaping how software gets built, ongoing DevOps and agile transformations, and the pressure to ship faster.
The hard part is not just delivering quality. It is deciding how much quality is enough for a given product. That trade-off sits at the center of the work, and it does not get easier as release cycles shorten.
Richard Seidl frames the whole subject around a single claim: quality as an attitude. The phrase comes from the early days of the agile movement, roughly 25 years ago, when teams started to argue that quality cannot be confined to test methods at the end of the line. Quality has to be considered across the entire software development process.
The tester’s role keeps moving
The role of a tester has never settled, and it is unlikely to settle now. Over the past 20 to 25 years it has shifted repeatedly, and the AI wave is pushing it again.
In the early days the developer was often the tester. In the worst version of that setup, the developer with the weakest skills got handed the testing. There were no real methods or strategies for checking quality, measuring it, or proving it.
That changed through standardization, new methods, and a push toward professional practice. Test methods, some of them old by now, became the basis for defining a test strategy and a test plan. Certification and training gave testers more standing inside their teams.
Companies then built dedicated structures: test departments, test centers, test factories that delivered testing as a service into projects. Under waterfall, a separate test team handled everything at the end. The tester sat on one side, the developer on the other.
Agile pulled the two roles back together. The tester became more of a quality coach in the team, helping developers write better unit and integration tests and planting quality thinking where the code is written. The relationship swings like a pendulum, from a separated tester to a quality engineer embedded in the team.
This shift carries a trade-off in expertise. A specialist tester can go very deep on test methods. A quality engineer working across the full picture needs broad knowledge instead, and that breadth usually costs some of the depth in pure test methods.
There is no single correct version of the role. It depends on the organization, the maturity of the development process, and the patterns a team chooses to follow. You have to keep asking what a tester actually does in your specific setting, rather than assume a fixed job description.
Test automation became non-negotiable with agile
Test automation moved from optional to required the moment teams started working in sprints. After a few iterations, manual regression testing stops being feasible. The volume of repeated checks simply outgrows what people can do by hand.
The response was a wave of tooling, especially for the UI and end-to-end levels. That solved one problem and opened another. With automation possible at several levels, teams now have to decide where to test what.
This is the question that decides whether automation pays off:
| Test level | Typical focus |
|---|---|
| Unit and integration | Logic and component behavior, fast feedback |
| System | The assembled application |
| UI and end-to-end | User-facing flows |
| API and contract-based | Interfaces between services |
The placement decision belongs in the team. Too often that conversation never happens, because testers work on their side and developers on theirs. Improving the exchange between these roles is one of the levers for getting automation right.
Automation also extends beyond test execution. Pipelines, processes, and test data generation are all candidates for automation in a tester’s daily work. The scope of what can be automated is wider than the test scripts alone.
AI agents are the next shift, not the end of testing
AI will not take over testing in the near future, because testing is fundamentally a business of trust. An AI handing back results does not by itself create the confidence stakeholders need.
That said, AI agents that carry out tasks on their own, including testing parts of a system, are arriving. The realistic expectation is support, not replacement. AI can help generate better test cases and handle portions of test automation, freeing testers to concentrate on edge cases and judgment.
Testing exists to gather information from a test object and give stakeholders a grounded picture of quality, so they can decide whether the software is good enough. If an AI ran that entire chain, the trust that the activity is meant to produce would be gone. Keep the human role where the confidence has to come from.
Testing AI systems breaks the deterministic playbook
Testing an AI system is not the same as testing classical software, and the old test-case model does not transfer. In a classical test you provide an input and check it against an expected result. Feed the same input to an AI system and you may get a different result each time.
That non-determinism forces a different question: what exactly are you testing? The model, the training, the interfaces, or specific quality characteristics. Each target needs its own approach.
Deterministic pass-fail checks give way to statistical and mass-based methods. New techniques for testing AI systems are being created right now, and for many people in software projects this area is still a blank spot. Treat it as a skill to build deliberately, not something you can improvise from existing test knowledge.
AI is democratizing who builds software
AI is opening software development to people who are not software developers. For decades, building software was a fortress that only developers could enter, and they did the job well. That barrier is coming down.
Approaches sometimes called vibe coding or AI-driven programming let almost anyone produce an app, a website, or an application. The range runs from using AI as a support tool to generating an entire application with it. This is the early stage, and the volume of software produced this way will keep growing.
The open question is who judges whether that software is good. A large amount of new software is coming from people outside the developer profession. The quality can be solid, but it can also hide pitfalls and security vulnerabilities. Someone has to test it.
This raises practical decisions for testing teams. How do you support your test frameworks with AI? Do you replace some tests with AI-driven tests, or redirect human effort toward edge cases? There is no settled answer yet, because everyone is still learning how to work with the technology.
Quality is owned by the team, or by no one
Telling an agile team that everyone is responsible for quality usually means no one is. Shared responsibility only works when the mindset is actively built in, not declared once and left alone.
The quality people are often the ones who drive that change. They bring the UX designer, the business analyst, the developer, and someone from operations into a way of working where each role owns a real part of quality assurance and built-in quality. Quality stops being the tester’s private task.
Many teams and projects still struggle with this transformation, partly because the transformation itself is handled poorly. A tester who understands the full engineering process and can connect the dots across roles has real influence on making it work better.
Non-functional requirements have to run through the whole project
Security, usability, and similar non-functional concerns can no longer be bolted on at the end. In Europe, regulation is pushing teams to address them upfront and throughout the project, rather than through a single pen test or a late review.
The reason is cost. Changing the architecture late in a project to fix a security or usability gap is expensive. Deciding on security by design and usability by design early avoids those costly reworks.
This adds work for an already full day, and it lands on the whole team. Developer, architect, tester, and automation engineer all have to factor these concerns into how they work. The challenge is fitting it into existing workloads, not just acknowledging that it matters.
Personal development is the thing that keeps you employable
In an increasingly AI-driven environment, the skills, mindset, and tools you cultivate decide whether you stay relevant. The specific tool you use matters less than having the values, methods, and strategies to apply any tool.
This applies beyond testers. Quality-minded developers, UX experts, business analysts, and project managers all face the same question: which skills do I need, which mindset, and which tools can I use. Treat that question as ongoing, not as a one-time decision.
Quality as an attitude sounds simple and is not. Thinking in quality while balancing it against time constraints and fast release cycles is genuinely hard. The way through is to keep questioning old beliefs, build new strengths, and decide deliberately where you want your role to go.


