How they can be best implemented with effective result and what is the importance of Quality Assurance metrics and Methodology? Please share experience.
Up to now, I have seen only one way of a useful quality assurance metrics in software development, which works well in iterative/agile developments:
For each phase/milestone in the production of a release you create a list of things to check or not to forget to do and after the iteration in the feed-back meeting you go through your problems during the iteration and if already available defects in production and discuss, which measure at which milestone could have accommodated the problem, hindered the defect from being created or would very likely have found the defect. The measure is then added to the milestone. all measures are also reevaluated in the feed-back meeting, whether they still make sense. Such a measure can be for example: Take the current configuration of the DB in production and do a load test with the new release.
At the beginning we also investigated proactively, what could make sense to do/check in each phase to improve the software production and test process, but most of the resulting measures were “standard procedures” like code review, verification of requirements and so on. The strong measures were those, which we introduced retrospectively after feed-backs. Those measures are very project specific. I call them the blueprint of the QA work for the project.
Decision making is one of the important aspect of Software development and S/W testing. metrics plays an important role in making the decision making process easy. Through metrics , you get variety of data and further analysis of this data helps you making appropriate decisions.
When to ship a product, Is your product ready to be shipped in market, when should we stop testing etc. are many decisions which can be taken from metrics data from various metrics including, Defect metrics , Defect trend metrics , Defect aging metrics etc.
Also, further analysis of metrics data gives us a chance to find out areas of improvement and further enhance the quality of the product. e.g. If bug type metrics is showing high number of UI defects in a particular release cycle then it is evident that there is something wrong with the UI development process and should be looked at immediately.
Hence Quality Assurance metrics is of utmost importance, during the planning phase of a project, it is very important to identify what kind of metrics should be prepared based on the need and nature of the project.
QA metrics are important to measure the quality of product, software reliability, and the effectiveness of testing by measuring various parameters. Effective metrics helps to take timely corrective actions when the measurements listed fall below a preset threshold. This helps determine schedule slips, quality of product being developed and amount of rework/maintenance once product is in production.
In rapid development models, communication at all levels is a key, daily touch base where tasks are discussed, managing project plan and interfacing with stakeholders to ensure expectations are met is the main role of manager in such case. Herein, Traceability metrics is important to ensure things do not fall through cracks.