We are currently having multiple scrum teams with 3 to 6 developers and 1 dedicated tester in each team.
Should we have scrum team like this OR have all the developers and they can share testing responsibility mutually?
Project Management Stack Exchange is a question and answer site for project managers. It only takes a minute to sign up.Sign up to join this community
In a Scrum team it is best to distinguish between roles and capabilities.
Every Scrum team needs a testing capability, but it does not necessarily need tester roles.
The whole Scrum team takes responsibility for quality. This means more than just testing, it also means:
There are undoubted skills to being a good tester and some will be better at it than others. However, we can look to share this knowledge around the Scrum team using mentoring and training. This is why we talk about having t-shaped skill profiles in a Scrum team.
Agile methodology looks to the development process as a "Collaborative Process", so every role has to participate in development process.
The testers look at the product in a different way that the developers look: in general, the testers try to make the software product fail. In contrast, developers try to make the software product pass. This difference in the methodology of thinking increase possibility of discovering bugs early.
Sharing dedicated testing members from the beginning life of the product gives them a good understanding about the business and technical aspects of the product.
While sharing testing responsibility across the team is important, Agile teams still need dedicated testers, especially now with broader focuses on automation. Not having a dedicated person solely focused on quality could spell disaster for your team.
The only solution is to hire a one-armed project manager. That way he can't say "on the other hand..."
Obviously having "developers" also being "testers" leads to a conflict of interest.
On the other hand, let's assume a big release has now finished coding. The "developers" have no work and the "testers" are overloaded. So should the developers play solitaire on their computers until the testers are done?
So there just isn't absolute solution to the dilemma.