ROLE OF SOFTWARE QUALITY:
The role of software quality is to independently and objectively evaluate and approve software plans and
procedures, software processes, and software products.
Software Quality is involved as early as the proposal phase and is a member of the software engineering team
throughout all phases of the software development lifecycle (requirements phase, top-level design, detailed design,
code, unit test, integration test, acceptance testing).
WHY DO WE NEED TO HAVE SOFTWARE QUALITY?
We continue to have more software intensive products with more complex software that interfaces with advanced hardware
products.
Having an independent software knowledgeable person assure the processes used to develop the software products
reduces the number of problems found in the field, reduces rework and reduces cost.
Software Quality provides independent on-going assessments of the project's process and supports the activities to achieve
schedule and cost goals.
Software Quality provides continuous feedback to software management regarding adherence to software standards and
processes and provides innovative ways to improve them.
Software Quality assures customer requirements are met therefore enhancing customer satisfaction.
The Software Capability Maturity Model requires the role of Software Quality to be performed.
WHAT IS INCLUDED IN A SOFTWARE QUALITY SYSTEM:
1. Assure software quality requirements and resources
a. Participate in all new business activities to assure software quality requirements are included in all proposals
b. Assure adequate funding for software quality resources
c. Cross-function teams formed
2. Assure software quality program planning
a. Quality requirements flowdown into program plans and procedures
b. Project plan and procedure review
c. Setting up the software quality program record system
3. Assure software process integrity
a. Software build evaluations
b. Peer review evaluations
c. End-of-Phase evaluations
d. Software Development File evaluations
e. Formal review evaluations
f. Software facility evaluations
4. Assure software configuration management
a. Software configuration control evaluations
b. Software build evaluations
c. Commercial-of-the-Shelf software and Customer Furnished Software control and tracking
d. Software backup and storage evaluations
e. Participate in software change review board meetings
5. Assure software acceptance testing integrity
a. Formal software acceptance testing
b. Regression testing
c. Software problem report verifications
d. Black box testing
e. Software tools verification
6. Assure software product integrity
a. Deliverable software documentation review and approval
b. Software release
c. Software identification, packing and shipping verification
7. Assure software quality program implementation and reporting
a. Management control evaluations
b. Customer interface
c. Software self assessments and internal audits
8. Assure corrective action
a. Identify, document, report and follow-up on software process problems
b. Participate in process improvement teams
9. Assure software subcontract controls
a. Evaluate software subcontractors
b. Perform surveillance evaluations
c. Test and accept subcontractor software products
d. Review and approve software subcontract documentation
AVAILABLE SQA TRAINING COURSES:
- Introduction to SQA
- SQA Workshops that include the following modules:
- Assure software quality program planning
- Assure software process integrity
- Assure software configuration management
- Assure software acceptance testing integrity
- Assure software product integrity
- Assure software quality program implementation and reporting
- Assure corrective action
- Assure software subcontract controls
|