Is there any squad team model which doesn't have tester or QA? Do they successful?
I'm researching a topic talking about the importance of a tester in a squad team, but I wonder if there's any squad doesn't have tester but still works well? And if so, how can they achieve that? Really appreciate any reply on this thread.
What is that "squad team" trying to achieve and what commitments, if any, are being made?
A Scrum Team will create Done increments of usable quality every Sprint. Scrum Team members recognize that quality assurance is the shared accountability of all Developers, regardless of whether or not any one of them is seen as being a "tester".
I'd be highly suspect of a team that doesn't have people who perform testing. However, I don't see a reason that a team needs a dedicated tester on the team. There's definitely value in having test specialists or subject matter experts in the organization, but there are many ways to have such specialists or experts support a team and not all of the ways require having that individual on the team.
I have worked with many teams that did not have individuals with QA in their title on the team. In fact, my previous 2 and current employer do not have any QA titles in our organization.
However, as noted by @Thomas Owens there are people that test. They are the same people that write code. They create automated tests, they have their peers review the code (including tests) and use that as a part of validating the quality of what is being done. They manually validate if there is a need to do so. Quality is owned by everyone in the Scrum Team and is part of the work that needs to be done in order to satisfy the Definition of Done.
Remember that Scrum does not have any job titles listed in the Guide anywhere. There are 3 roles, Product Owner, Scrum Master and Developers. The only plural roles, Developers, is meant to be made up by individuals that have the skills needed to create, maintain and release value increments. How your org decides to do this is up to you.
importance of a tester in a squad team
In scrum, there is no tester role. Yes you can take out that role. But what you think of quality of what you deliver ? Quality is everybody's responsibility in the team. So we believe testing is one of the ways to ensure quality.
We want quality and we want delivery, I'm seeing that with the increasing size of the stack i.e. web development in the cloud, that the list of skills and task a developer needs to have is very very long.
I'm finding it difficult to get developers to do non-happy-path testing, this is not unusual.
We're finding that devs feel overloaded with tasks, stack is very large, DoD is detailed, so much to do in order to get an item to done. Very few developers enjoy testing and have any formal training in testing. The testing is just enough.
Risk here is that the app does not get tested beyond non-happy-path, issues will be found in the wild, increased cost and delays here.
I have found in other projects that the use of one or two test experts from the org can help guide the team and even do some testing themselves. Obviously addition on automated tests is optimal, this also takes time and is another task in the long list of tasks for devs.
I've coached that there are no subroles in Scrum for years, now I am seeing this causing issues.
Yes, there are models where development teams work without dedicated testers or quality assurance (QA) specialists. This approach is often referred to as the "Whole Team" or "DevOps" model. In this model:
- Collaborative Responsibility:
- Everyone in the development team, including developers, takes collective responsibility for both creating and testing the software.
- Continuous Testing:
- Testing becomes an integral part of the development process rather than a separate phase. Developers write automated tests alongside their code to ensure its correctness.
- Faster Iterations:
- Without a distinct QA phase, the development cycle can be faster, allowing for quicker iterations and releases.
- Collaborative Problem-Solving:
- The team collaborates closely to identify and address issues early in the development process. This often leads to higher-quality software.
- Automation Tools:
- Automation tools for testing, continuous integration, and continuous delivery become crucial for maintaining the reliability of the software.
- Feedback Loops:
- Continuous feedback loops are established, ensuring that issues are identified and resolved promptly during the development process.
- The success of such a model depends on the team's ability to embrace collaboration and implement effective automated testing practices.
- A strong focus on code quality, continuous integration, and proactive issue resolution is essential.
- It might be challenging for teams to adopt this model without a cultural shift towards collaboration and shared responsibility.
- Automated testing requires time and effort to set up but pays off in the long run.
While some teams successfully operate without dedicated testers, the effectiveness of this model depends on the team's skill set, collaboration, and commitment to maintaining high-quality code through automated testing practices.