I taught a one-day workshop at StarEast yesterday with Esther. I was astonished at the number of test managers who think testing is a service.
Effective testing is not a service. Effective testing is an integral part of development. When people–especially senior management–consider testing a service, there are inevitable consequences:
- Testers multitask between several projects, learning none of them in detail and only cursorily testing any of them. It’s hard to see the value in that kind of testing.
- Few managers make the decision about what project is most important, so ordering projects by value or risk doesn’t happen until the project is in test.
- Testers don’t work with developers, so defect reports look more like blaming the developers rather than feedback to the developers.
- Because testing is a service, project managers and developers tend to throw the product over the wall to test. Instead of collaboration, the project is in an us vs. them dynamic. Too few developers make the extra effort to find all their issues before the testers do. Why should they? There’s nothing in it for them.
This perception of testing as a service is a misunderstanding of the dynamics of software development.
When you contrast testing as a part of the development team, developers are much more likely to form partnerships with testers, to clean up their code as much as possible, and to exhibit professional pride in their work. They take defect reports as feedback.
If you’re a project manager don’t treat testing as a service. Make it an integral part of development.