According to the famous engineer Joseph Juran, quality means “fitness for use” and for the
legendary businessman Philip Crosby, it means “conformance to requirements.” I believe both are important, but today I want to focus on Quality Assurance (QA), as it is the engine that drives the overall cost of quality’ in any organization.
A strong QA team takes the necessary precautionary steps to ensure reduction in the overall Cost of Quality. The following are the key responsibilities of an efficient QA organization:
- Facilitation – This involves arranging reviews for contracts, identifying key reviewers, facilitating project management reviews, and audits. For example, ensuring that there are self-reviews, peer reviews, and external QA reviews, drive the quality of deliverables. Every output of a project has to go through the different phases of review, ensuring lesser defects in the subsequent phases of the Software Development Life Cycle (SDLC).
- Mentoring – Training project heads on company standards and processes is an important step in improving QA. Every organization should have an internal quality process document that details clear roles and responsibilities with activities for each as well. Trained QA leads can be mentors to QA engineers and each resource should have an associated mentor. Mentoring sessions should be conducted and tracked periodically to ensure compliance.
- Analysis – Analyzing project requirements right from the start, to the design and testing phase, is critical to overall success of the project. QA teams need to be domain experts with good knowledge of review requirements and use cases, and they have to think from an end user’s perspective. If we want to reduce the defects found in acceptance testing, we have to ensure that QA teams are equipped with all the business knowledge necessary to test the correct scenarios.
- Measurement – Only the things that are measured get done. It is imperative to clearly identify the metrics that need to be tracked on a regular basis to report progress to the financial sponsor, the clients and all the stakeholders. Some of the common metrics that should be measured are defect removal efficiency, test case execution metrics, test case on time delivery, and defects by severity.
- Final inspections/audits – Final inspection is a quality control activity, in which there is a standardized checklist to be followed to ensure everything defined by the QA processes has been followed. A final inspection before any deliverable goes to the client is a best practice. This ensures that all the QA activities are completed to satisfaction and can be delivered to the customer.
- Status reporting – A good process is to send a weekly status report indicating schedule adherence, effort adherence and other execution metrics to validate current health of the project. It is important for all the stakeholders to have a clear view on where the project is at every point in time without having to do any guess work. The frequency of the status reporting is determined by the relevant stake holders. The sponsor may want a status report only once a month, whereas the project managers would like to receive one every week.
Quality assurance is the key on which an organization’s overall cost of quality is regulated. Once we have established the key QA practices that an organization should follow, it becomes easier to reduce the overall cost of quality.