QA — two letters to avoid a lifetime of regret
Picture the scene – having submitted your work in time to meet a tight deadline, you take a moment to collect your thoughts whilst perusing the very work you’ve just submitted with an air of pride.
But wait, what’s this? Your post-deadline euphoria is shattered in an instant as you realise that you’ve made a glaring error in your submission.
In this situation, options are limited – after all, it’s already too late. However, there are ways to avoid such a nightmare-ish scenario. You can build in a thorough Quality Assurance (QA) process at every stage. This will ensure that all of your work is finished to the highest possible standard, without any nasty surprises at the end of a project. Quality Assurance is a process designed to ensure that software processes (designing, developing etc.) and products (the software, associated data, documentation and paperwork) are completed to a particular standard. The QA process itself means ensuring that existing standards and procedures are followed throughout the software development lifecycle. It is essential that development and implementation follow monitoring, product evaluation, audits and testing.
QA’ing is not always easy. Requirements change, and often users have different ideas about how they think the software should work. The more complex the product, the more complex the process becomes, but it must remain a universal standard that can be controlled, measured and repeated. QA’ing should be seen as a learning process – good for staff members as well as business overall.
What are the aims of QA?
Software development, like any complex development activity, is a process full of risks. The risks here are twofold – both technical and programmatical. On the technical side, there is always the risk that software will not perform as it ought, or will be too difficult to browse or modify. Programmatic risks include projects over-running with regard to costs or schedule. The QA process aims to mitigate both types of risk, and, if enforced systematically, can help when it comes to planning for future projects.
In order to mitigate risk, it is essential that standards are put in to place. Without a proper QA process, it is inevitable that things will slip through the net, either in terms of process or the finished product itself.
How to review
Here are a few quick tips to make sure that you’re reviewing everything properly.
- Define the criteria – Do you have a checklist of what to look for?
- Perform the check
- Record your results
- Share, discuss and implement the changes required
- Version control the documents involved
Here are a few common pitfalls you might want to look out for:
- Poor requirements or user stories
- Inadequate testing
- Featuritis – the excessive use of features with no real meaning
What does the QA’er do?
The QA resource records the set requirements and then develops a test matrix. She confirms that all set requirements are testable and coincide with the project objectives. They then edit the documents and confirms they meet the objectives and the quality standards for documents before recording the completion criteria for the current phase.
The QA’er identifies any conflicts or discrepancies between the final design of the system and the initial proposal for the system, before confirming that an acceptable resolution has been reached between the project team and the client.
Using the test matrix, the QA’er develops a set of test cases for all deliverable functionality for the current phase. She confirms that all test cases have been written according to the guidelines set in the QA test plan. The QA’er executes all test cases in the QA testing cycle, records test results and creates defect reports. Having a fresh pair of eyes to look at work is always useful, as it’s easy to get so caught up in what we’re doing that we’re blind to the mistakes we might have made. Having a QA’er come in and adjust work so that it meets universal standards is an easy way to ensure success, and limit risk.
Total commitment to quality and customer satisfaction forms the key factors for any organisation to be successful. In order to ensure that all output meets high quality standards, it’s essential that the QA process is integral to all other business practices. In the rush to meet deadlines, it’s sometimes all too easy to forget just how important it is to take the time to reflect on everything you’re working on; ensuring consistently high quality throughout the QA process will mean great customer relationships in the long term!