What are the factors that affect the number of bugs a software has? Or to ask the same question from a different perspective, does bug free software mean good software?
Let's examine the intricacies of the issue. In a simplified view, bugs are result of a) QA's diligence b) ability of the programmer. What this means is that an abundance of bugs doesn't necessarily mean the QA process was perfect and could be due to lack of checks on the development side. In the same way , lack of bug could mean QA process is not proper and doesn't necessarily mean development processes are water tight.
But there is a third factor which is generally missed - the available features of the software. Theoritically multiple iterations of bug fixing should result in the software being almost bug free. i.e mature products which have existed for quite a while should be devoid of any major bugs. But during the period, the scope of the problems which the software can be used as a tool to resolve would have increased and if the software has not been modified to address those issues, then the software quality should still be deemed bad. As we all know, introducing new features always results in bugs - this by itself is not a very bad thing as long as a) they don't break basic functionality b) provide an improved user experience.
To represent mathematically,
# of bugs (X robustness of the QA process X features provided by the software / robustness of the development process.
From the above logic, in an ideal scenario, where the QA processes and dev processes are both very robust, quantity of the bugs will be proportional to the number of new features introduced in the release!
