Testers vs. developers: collaboration is always the key - Part 2
For a software development company it's highly important to reach the correct testers-to-developers ratio, because this way the number of loopholes will be reduced and many bugs will be prevented, and so the end product will become more stable.
Testers vs. developers ratio
But what is the correct ratio of testers vs. developers? While this varies greatly from one software company to another, and the type of software product that is being developed, the most common ratio is: 1 tester for every 3 developers.
An exception to the rule can be considered to be the small projects (involving 4-5 developers), where the developers can also be the testers. In reality this is a bad scenario, because developers will be (most of the time) subjective when testing their work, and also this is not very cost-effective, as development time is more costly than testing time.
However, experience has shown that it's best that the project manager / test manager decides the most suitable tester - developer ratio, after taking into account a series of factors, such as:
* The range of configurations that need to be tested
* The testability of the product
* The available tools
* The experience of both testers and developers
* The quality standards that must be met
* The complexity of the product
* The cost of a missed bug (this depends of the stage of the product's life cycle; a missed bug can be ten times more expensive if discovered towards the end of the software product's lifecycle)
The 2 Cs: Collaboration and Communication
Overall, there are still mixed feelings when it comes to the testers vs. developers relationship: if some software companies have specific policies regarding the interaction between the two, others leave it to be settled on its own. In terms of software development & testing methodologies, some companies prefer the traditional approach for developing software (Waterfall model - a precise planning of the development process; usually testing is performed after the development has been finalized), while many have adhered to the principles of the Agile development (which values interaction between testers and developers and promotes the involvement of testers in the development process, among other things).
No matter the chosen approach, one thing is generally acknowledged: in order to reach customer satisfaction and a quality software product, all differences must be put aside, and developers must learn to collaborate and communicate with testers (and vice-versa of course :).
For more details on the testers vs. developers relationship, you can also read: Testers vs. developers: collaboration is always the key - Part 1