It is one of the most common questions, we face in almost every project... 'What is a reasonable Developer to Tester Ratio for a Software Development Project?'… Sometimes the question comes in variations, like 'Are there standard Developer to Tester ratios for Enterprise software, Driver Software, Financial Accounting Software etc.?'. At times it's associated with budget allocation… like in 'What is a reasonable Development to Testing budget breakdown?'.
There are few things that I see bad about the topic:
There are few things that I see bad about the topic:
- When management assumes that test estimation could be done based on Dev : QA ratio
- When a Tester/Test-Lead don’t understand why the Manager is so concerned about this ratio or even see it as Management’s lack of understanding of testing process.
And in my opinion all this depends project to project and exact stage of the project... Followed by a more elaborate explanation that one size doesn’t fit all. As far as I know there is no such thing as an authoritative ratio, for several reasons:
I do know that some companies keep internal track of that numbers, but this kind of information is not shared publicly as it can impact market and question may come on quality standards.
I do know that some companies keep internal track of that numbers, but this kind of information is not shared publicly as it can impact market and question may come on quality standards.
What if their competitors find out? Knowing that your competition is doing substantially better or worse from a resourcing perspective tells you something about how efficient or inefficient your competitor is.
Software is hard to categorize… are you dealing with Travel software, Operating system software, Device Drivers, ERP Solutions, MIS systems, a monolithic app, an app running on the mainframe / UNIX / heterogeneous environment, Hybrid application, Cloud services etc.?
For applications mainly closer to hardware or core systems of our computers like operating systems, device drivers, highly technical, and algorithm driven software, ratio close to 1:1 can be seen. The higher the number of end users, the closer to a 1:1 ratio we get, because the risk is proportionally higher.
For any business application, we might have seen more of a 4 developers to 1 tester/QE ratio. Some really lose organizations go as far as 10 developers to 1 tester. A lot of this is driven by company history and their commitment to quality. Type of Industry plays a role as well – some industries, like medical devices, demand perfection. While others like e-learning, are more lose. So what the market bears in terms of quality perception drives the ratio as well. There are many standards in software industry which also help various organizations to decide this ratio. For example, projects which need quality of Six-Sigma level will surely need a decent ratio of Developers and Testers.
Overall here are some variables that may influence this question:
For applications mainly closer to hardware or core systems of our computers like operating systems, device drivers, highly technical, and algorithm driven software, ratio close to 1:1 can be seen. The higher the number of end users, the closer to a 1:1 ratio we get, because the risk is proportionally higher.
For any business application, we might have seen more of a 4 developers to 1 tester/QE ratio. Some really lose organizations go as far as 10 developers to 1 tester. A lot of this is driven by company history and their commitment to quality. Type of Industry plays a role as well – some industries, like medical devices, demand perfection. While others like e-learning, are more lose. So what the market bears in terms of quality perception drives the ratio as well. There are many standards in software industry which also help various organizations to decide this ratio. For example, projects which need quality of Six-Sigma level will surely need a decent ratio of Developers and Testers.
Overall here are some variables that may influence this question:
1. Size of a Software project
2. Duration of Software Project and corresponding timelines
3. Type of Software Project (version 1.0 vs. version 10.0, rewrite vs. maintenance, etc.)
4. Technologies involved
2. Duration of Software Project and corresponding timelines
3. Type of Software Project (version 1.0 vs. version 10.0, rewrite vs. maintenance, etc.)
4. Technologies involved
5. Development methodology (Waterfall OR Agile, etc.)
6. Organizational setup
6. Organizational setup
7. Regulatory requirements
8. Quality of the deliverables
8. Quality of the deliverables