Establishing the SQA Program

>> Saturday, January 16, 2010

To make SQA program successful, the most important step is to get senior management commit to it. The senior managers must first agree on SQA goals, and agree to resolve major SQA issues between SQA and line management. Without management support, SQA can not be effective.

Creating SQA Plan
An effective SQA program requires forward planning and following through it. The SQA plan specifies its goals, tasks to be performed, and the standards and procedures against which the development work is to be measured.

The IEEE standard for SQA plan preparation contains the following:
1. Purpose
2. Reference Documents
3. Management
4. Documentation
5. Standards, Practices, and Conventions
6. Reviews and Audits
7. Software Configuration Management
8. Problem Reporting and Corrective Action

9. Tools, Techniques, and Methodologies
10.Code Control
11.Media Control
12.Supplier Control
13.Records Collection, Maintenance, and Retention

Many of these topics are relatively clear from their headings, the documentation, standards sections are given more explaination in the following part. The SQA plan section on reviews and audits should describe
both the technical and the managerial reviews and audits to be conducted.

Documentation
The documentation section should describe the documentation to be produced and how it is to be previewed. These include:
1. Software requirement specification, which specifies each software function, performance parameter, interface, or other attribute with sufficient precision to permit its verification.
2. Software Design Description, which describes the major components, databases, and internal interfaces.
3. Software Verification and Validation Plan, which describes the methods used to verify that the requirements are implemented in the design, that the design is implemented in the code, and that the code meets the requirements.
4. Software Verification and Validation Report, which is used to report on the SQA verification and validation activities.
5. User Documentation, which is required for installation, operation, and maintenance of the software.
6. Other, includes software development plan, the software configuration management plan, the standards and procedures manual, together with the planned review methods.

Standards and Procedures
The standards are the criteria to which software products are compared. Procedures are the criteria to which development and control processes are compared. They are closely related. The standards define what should be done; while procedures define how the work is actually to be done, by whom, when and what is done with the results.

The minimum requirement for standards include:
1. Documentation Standards specify form and content for planning, control, and product documentation and provide consistency throughout a project.
2. Design Standards specify the form and content of the design product. They provide rules and methods for translating the software requirements into the software design and for representing it in the design documentation.
3. Code Standards specify the language in which the code is to be written and define any restrictions on use of language features. They define legal language structure, style conventions, rules for data structures, and internal code documentation.

SQA Activities
SQA activities include product evaluation and process monitoring, which ensure the product and the process used in development are correctly carried out and standards are followed. SQA audit, another SQA activity, is a key technique used to perform product evaluation and process monitoring. Production evaluation is to ensure that standards are followed. It assures that clear and achievable standards exist and evaluate compliance of software product with the standards.

Process monitoring is to ensure that appropriate steps to carry out process are being followed. SQA monitors processes by comparing actual steps performed with established procedures.

Audit is a fundamental SQA technique. It looks at a process or product in depth, comparing them with established standards and procedures.

Tailoring SQA to Project
Each project has its specific attributes and SQA program should be tailored to accommodate to the project needs. The characteristics that should be considered are: mission critical of project, schedule and budget, size and complexity of project, size and complexity of project staff organization. The relationship between SQA program and mission critical level is very straight forward. The more critical the project, the more important and formal the SQA should be. The relationship between SQA and budget and schedule is not so intuitive; the tighter the budget and schedule, the more critical it is to have a well planned and effective SQA program. This does not mean that SQA program for project with more resources can be lax. The project organization structure also influence the SQA program. For large or dispersed staff, more formal SQA program is required. A small, centralized development staff can easily inform each other the nonconformance and
helping each other in meeting standards, less formal SQA effort is required.

Read more...

  © Blogger template Trap

Back to TOP