No QA? All QA!


One of the major topics that intimidate test engineers is the No-QA question or approach (depending on your view of it).

I heard such responses after the session “Fiverr delivering fast..No QA”, by Gil Wasserman, Fiverr VP R&D, at our Agile Israel 2016 event. QA members asked me if they should look for their next role, and I keep hearing this concern whenever this topic arises.

So, is it true? Should we eliminate the QA role? Or better say – merge it into the developer’s role?

I truly understand the motivation for a No-QA approach – We do want to have a shared team responsibility for quality. We want the team to own it. We want developers to develop quality code and quality products and not to hand over the code to someone else’s problem. But I found that the No-QA way of doing it provides a contradictory message. If we eliminate the QA how will we increase the quality? How will we focus the developer’s attention on quality? What do we expect them to do?

Does this mean that there is no need for QA as team members? No QA expertise that should be valued?

Well, if we eliminate the QA role we don’t leave much choice for the developers other than to tell them that there is no one else to test, so they have to.

It’s like homework, you can hate doing it, but if you don’t – how will you learn? And yes, developers resist doing testing, but if they won’t – how will they learn? How will they value their code, their solutions, and the user flow? How will they improve the product’s testability and support?

But No-QA? Can they just do it? Don’t they need guidance, or assistance? Someone that will help them make their environment more supportive for testing and quality improvements, someone that will help them criticize the product, its solutions, and technology, someone that will guide them in thinking from the customer’s point of view?
This is where the QA team member gets in.  In the webinar of Quality at Speed, How JIRA Does QA they call QA – quality assistance.

I really like this term, because test engineers should not be quality controllers, instead they should assist in building quality into the process, and grow their team’s quality consciousness and practices.

They should use their creativity to run exploratory testing, to better represent the user, by setting better test environments and assist in defining better user stories, MMFs (Minimum Marketable Features), and MVPs (Minimum Viable Products).

They should question if you are building the right it rather than if you built it right, as greatly discussed in GTAC 2011: Opening Keynote Address – Test is Dead.

They should inspire others by promoting test-first approaches, defining automation & TDD (Test Driven Development) as well as working closely with developers on defining UT (Unit Tests). They should assist in becoming an All-QA.

As such, the ratio of Quality Assistance doesn’t have to grow. You can keep a small community of QA to provide higher quality and the fastest speed. You can make the developers build AND also evaluate their outcomes, relieving the QA bottleneck, but without ignoring the QA added value. Instead, you leverage it.

In organizations that develop complicated products or projects, that require domain/field expertise, merging the QA role into the developer’s one is not an easy and sometimes not a doable path. In the same way that developers hold their main expertise and can do some in other areas, including testing (being more T-shaped members), there is a place in the team to hold test assistance that can be experts in a certain domain of testing and also guide others towards better quality and contribute to other team’s areas as automation, pairing with developers on UT and TDD and so forth. The magic word here is balance. Balancing dev-test work within the teams and balancing shared team ownership and individual distinctiveness.

In an HBR article of the-problem-with-rewarding-individual-performers, Jay Van Bavel and Dominic Packer wrote that “By balancing individuals’ need to belong with their desire to stand out, a leader can build a sense of “optimal distinctiveness” among group members”.

I find it a real art to keeping optimal distinctiveness in the team. To relieve the threat of a cross-functional team with T-shaped people and shared ownership of quality, and still keep the team members as individuals, that are being recognized for their distinct expertise that contributes to the team.

So, No-QA or All-QA? Yes, I think that words reflect and impact our mindset. Therefore, an ALL-QA approach is better than No-QA.

QA has lots to do with building quality, assisting developers to test, ensuring that quality can be enabled, qualifying that the organization is building the right it, and making quality an asset of ALL the team.

What do you think?

Subscribe for Email Updates:



Professional Scrum with Kanban
Lean Startup
Agile Games
speed at scale
Rapid RTC
Operational Value Stream
Elastic Leadership
Kanban Kickstart Example
RTE Role
Story Slicing
Implementing SAFe
Lean-Agile Budgeting
IT Operations
Lean Agile Leadership
Sprint Iteration
Agile Community
Agile Games and Exercises
Reading List
System Integration Environments
Risk Management in Kanban
lean agile change management
Managing Risk on Agile Projects
Entrepreneurial Operating System®
Product Management
Limiting Work in Progress
Agile Release Management
Agile Project
PI Planning
ALM Tools
Sprint Retrospectives
Lean and Agile Techniques
Nexus and SAFe
Agile Outsourcing
Scrum and XP
Engineering Practices
Sprint Planning
Scrum Guide
Agile Testing Practices
Large Scale Scrum
SAFe Release Planning
Games and Exercises
Implementation of Lean and Agile
Agile Product Ownership
Scrum Values
Pomodoro Technique
Applying Agile Methodology
Risk Management on Agile Projects
Software Development
Kaizen Workshop
Value Streams
Continuous Deployment
Nexus Integration Team
Kanban Game
Test Driven Development
Scrum With Kanban
The Agile Coach
Agile Contracts Best Practices
An Appreciative Retrospective
Manage Budget Creation
Releases Using Lean
Certified SAFe
Change Management
Managing Projects
Legacy Code
Continuous Integration
Kanban Basics
Risk-aware Product Development
Scaled Agile Framework
Agile in the Enterprise
Business Agility
ScrumMaster Tales
System Team
Lean Budgeting
Agile Project Management
PI Objectives
Lean Software Development
Lean and Agile Principles and Practices
Nexus vs SAFe
Systems Thinking
Acceptance Test-Driven Development
Continuous Delivery
Hybrid Work
Agile Exercises
Agile Basics
Product Ownership
Quality Assurance
Lean-Agile Software Development
Lean Agile Basics
Lean Agile
Introduction to ATDD
Agile Marketing
Agile Delivery
Kanban 101
Coaching Agile Teams
Principles of Lean-Agile Leadership
Lean Agile Management
Continuous Planning
Agile Techniques
What Is Kanban
Agile Israel Events
Lean Risk Management
System Archetypes
Agile Development
Iterative Incremental Development
Scrum Primer
Advanced Roadmaps
Continuous Improvement
Perfection Game
Software Development Estimation
Professional Scrum Product Owner
The Kanban Method
Daily Scrum
Portfolio for Jira
ART Success
Nexus and Kanban
Accelerate Value Delivery At Scale
Agile and DevOps Journey
Jira Plans
Introduction to Test Driven Development
Built-In Quality
speed @ scale
Scrum Master Role
SAFe DevOps
Lean Agile Organization
Agile Program
Agile for Embedded Systems
A Kanban System for Software Engineering
Scrum Master
Enterprise DevOps
Professional Scrum Master
Agile Release Planning
Effective Agile Retrospectives
Development Value Streams
AI Artificial Intelligence
Release Train Engineer
Achieve Business Agility
Artificial Intelligence
Agile Mindset
Agile India
Jira Cloud
Program Increment
Agile Product Development
Agile Risk Management
Agile Israel
Legacy Enterprise
Process Improvement
Enable registration in settings - general

Contact Us

Request for additional information and prices

AgileSparks Newsletter

Subscribe to our newsletter, and stay updated on the latest Agile news and events

This website uses Cookies to provide a better experience
Shopping cart