Quality is not a label or logo that you can stick onto a product and magically turns the product into a quality product. It is not a layer or a step in the development lifecycle that slap quality onto a product. There is no workaround but to be built quality into a product throughout the development lifecycle by all areas and processes.
From software development perspective, quality should be directly or indirectly contributed by the following 5 key areas:
- Management;
- Requirements;
- Development;
- Quality Control;
- Support.
In Quality Control, it may cover different things in various organizations. However, it should have covered at least the following:
- Testing;
- Configuration Control;
- Release Control.
Testing can verify the actual quality against the required quality. Configuration Control is to ensure that the right things are used for various activities. Excellent quality may have been built with the right things in a product, but it can be ruined if it is incorrectly packaged and/or distributed to customer. Therefore, Release Control is another area should be included in the Quality Control.