V&V and SQA: Part 5, SQA
Software Quality Assurance Procedures
Quality assurance procedures are implemented to maintain an approved production-level code under SQA procedures. Maintenance activities include:
(1) investigating and disposing of user-reported problems with the code,
(2) updating existing models and methods to provide extended capabilities, and
(3) incorporation of new models and methods to provide for new capabilities.
Distribution of controlled versions of the code to users and maintaining the official SQA records for the code, and the storage requirements for the records, are also performed under the SQA plan.
User-Reported Problems. The SQA plan must provide a method to inform all users of user-reported problems and problems identified by the code developers, the ongoing status of problem reports, and ultimately the disposition of all such reports. User-reported problems include things like the failure of a calculation to run to completion, suspected incorrect results, and potential errors in the coding, among others. The causes of the user-reported problems usually fall into one of the following categories. (1) a code error does exist, (2) existing models and methods were not designed to have an expected functionality, and (3) a model or method does not exist to provide the capability expected by the user. User-reported problems that are determined to be caused by the user, an inappropriate run-time option for example, are straightforward and do not require further consideration.
Item (1) represents a code error and a fix must be developed, tested and distributed to all users along with an assessment of the impact of the problem on all previous calculations. Item (2) is a code limitation and a model-improvement effort must be scheduled and completed in order to remove the limitation. An assessment of the impact of the limitation on expected applications of the code will go into the development of a schedule for the fix. A problem of type Item (3) probably means new model and method development activities are necessary in order to fix the problem. These activities can sometimes require that planning for long-range development must be considered and an assessment of the overall desirability or necessity of the improvements completed. These longer-range developments can be conducted using a research-grade, developmental version of the code and incorporated into a planned release of the next version of the production-grade code.
Maintenance of the code to correct problems which fall under Items (1) and (2) is performed under procedures spelled out in the SQA plan. Incorporation of these changes to the production level code under the SQA plan procedures ensures that the code retains its SQA status. Development of new models and methods which extend the capabilities of the code are not necessarily performed under the SQA plan. That decision is left up to the code project managers and associated SQA personnel.
No comments yet.