The Role of Software (SW) Assurance
SW Assurance consists of:
- Software Quality
- Software Quality Assurance
- Software Quality Control
- Software Quality Engineering
- Software Safety
- Software Reliability
- Software Verification and Validation (V&V)
- Independent Verification and Validation (IV&V).
Software Assurance is very likely and should be included as part of the Statement of Work (SOW). Software Assurance ensures that the system/subsystem will meet its requirements. SW Assurance activities change as the SW progresses through the project life-cycle. Software Assurance consists of the program itself, managing the program, developing software plans and procedures, providing Software Configuration Management (SCM), and providing all appropriate training.
Software Configuration Management
“Software configuration management (SCM) is the process whose objective is the identification of the configuration of software at discrete points in time and the systematic control of changes to the identified configuration for the purpose of maintaining software integrity and traceability throughout the software life cycle.”4SCM is based off of standard Configuration Management (CM) practice. “Software quality consists of a planned and systematic set of activities to assure quality is built into the software.”
Software safety works in conjunction with system safety works “to provide a systematic approach to identifying, analyzing, tracking, mitigating and controlling software hazards and hazardous functions (data and commands) to ensure safer software operation within a system.”
“Software reliability optimizes the software through emphasis on requiring and building in software error prevention, fault detection, isolation, recovery, and/or reduced functionality states.”
Software Verification & Validation
Software V&V ensures that software being developed or maintained satisfies all requirements that each phase of the development process yields the intended product.
Independent Verification & Validation
“IV&V is performed by an organization that is technically, managerially, and financially independent of the development organization.”