# Presentation: 442613

## Software Quality (SQ)

**Providing a set of tools for Software Assurance practitioners in the NASA community**

- Systems Assurance Manager (SAM) Role in SQ Program

- 07-22-04

## Course Objectives

- Provide an overview of Code 300’s Software Quality Program
- Highlight the role of the SAM in implementing a successful program
- Raise awareness of NASA Agency and Center software initiatives that impact our efforts

- 07-22-04

## Agenda 

- NASA Software Assurance
- NASA Software Process Initiative (SPI)
- NASA GSFC CMMI Initiative
- NASA Software Assurance Requirements
- OSSMA Code 300 Software Quality (SQ) Program
- Process Map for SQ Program
- Software Assurance Website
- SEI CMMI
- CMMI PPQA – Specific Goals and Practices
- CMMI – Generic Goals and Practices
- Mapping SQ Program to PPQA
- SAM’s Role
- Summary

- 07-22-04

## NASA Software Assurance

- NASA SPI Initiative
- NASA GSFC CMMI Initiative
- NASA Software Assurance Requirements

- 07-22-04

## NASA Software Process Improvement (SPI)

- The NASA Software Process Improvement (SPI) Initiative involves all NASA centers.  Each center is required to have an Engineering Process Group (EPG) and an SPI Plan
- The SPI Goal is to advance software engineering practices to effectively meet the scientific and technological objectives of NASA
- Improve cost and schedule predictability, safety, reliability, and quality of software
- SPI has four top-level strategies to meet the initiative goals:
- Implement a continuous software process and product improvement program across NASA and its contract community
- Improve safety, reliability, and quality of software through the integration of sound software engineering principles and standards
- Improve NASA’s software engineering practices through research
- Attract and retain software engineers and improve their knowledge and skills

- 07-22-04

## NASA SPI Plan requires each Center to select either:
SEI SW-CMM - Software Engineering Institute (SEI) Capability Maturity Model for Software      or 
SEI CMMI SE/SW/SS - Software Engineering Institute (SEI) Capability Maturity Model Integration
The Goddard Space Flight Center (GSFC) has selected CMMI-Systems Engineering/Software/ Supplier Sourcing (SE/SW/SS) – continuous representation

- SEI SW-CMM - Software Engineering Institute (SEI) Capability Maturity Model for Software      or
- SEI CMMI SE/SW/SS - Software Engineering Institute (SEI) Capability Maturity Model Integration
- The Goddard Space Flight Center (GSFC) has selected CMMI-Systems Engineering/Software/ Supplier Sourcing (SE/SW/SS) – continuous representation

- NASA Software Improvement Initiative (SPI)Continued

- So what does this mean to Code 300?

- 07-22-04

## NASA GSFC CMMI Initiative

- Code 300 is required to meet the requirements of the CMMI Process and Product Quality Assurance (PPQA) key process area
- Code 300 will work with Code 500 as they implement the new process model
- Code 300 will be pre-assessed  for PPQA (for JWST, SDO, and ST-5) the week of August 16, 2004, with target dates as follows for GSFC Software:
-  	CMMI Level 2 by the end of 2005 for FLT SW
-  	CMMI Level 3 by the end of 2006 for FLT SW
-     CMMI Level 2 by the end of 2006 for ISD and Code 400 Mission SW
-     CMMI Level 3 by the end of 2007  for ISD and Code 400 Mission SW

- So what does this mean to you as SAMs?

- 07-22-04

## What will this initiative entail?

Formal SQ Programs based on NASA Agency requirements & standards
New SQ procedures for Assessments, Reporting, Records, and Metrics
SQ Tools (e.g., forms, checklists, and templates)
Training (for the people performing or supporting the process)
Service Order updates to include:

SQA Plan (based on IEEE 730 STD) for each software system 
SQ Schedule of planned activities
SQ Reports for each assessment
Records of all assessments
SQ Metrics

- Formal SQ Programs based on NASA Agency requirements & standards
- New SQ procedures for Assessments, Reporting, Records, and Metrics
- SQ Tools (e.g., forms, checklists, and templates)
- Training (for the people performing or supporting the process)
- Service Order updates to include:
- SQA Plan (based on IEEE 730 STD) for each software system
- SQ Schedule of planned activities
- SQ Reports for each assessment
- Records of all assessments
- SQ Metrics

- NASA GSFC CMMI Initiative (cont.)

- 07-22-04

## NASA GSFC CMMI Initiative (cont.)

- What about Resource Commitment?
- SQEs regularly attend 1-hour meetings with the Software Assurance Lead to discuss the CMMI initiative and approach
- 1st SQ Training Module detailing the SQ Program/approach was conducted on April 6, 2004
- All SQEs have developed draft SQA Plans (using a standard template)
- SQ Schedules have been developed to coordinate process and product assessments for all projects
- To date, new SQ requirements have been met as part of OJT

- Going forward, SQEs will be required to broaden their assessment
- scope for in-house software efforts!!

- 07-22-04

## NASA Software Assurance (SA) Requirements

- SA Standard [NASA-STD-8739.8 Draft 03/26/04]
- SA Guidebook [TBD]
- Software Safety Standard [NASA-STD-8719.13]
- Software Safety Guidebook [NASA-GB-8719.13]
- NASA Software Engineering Requirements [NPR-7150.x Draft 6/4/04]

- NASA HQ with the help of the Software Working Group is in the process of revising all standards and guidebooks that relate to software.  Both the Software Assurance and Software Safety Standards are in final review. The Software Safety Guidebook has been released and the Software Assurance Guidebook is scheduled for updates in FY05.

- 07-22-04

## OSSMA Software Quality Program

- Software Quality Pyramid
- Software Quality Process Map
- Software Assurance Web Site

- 07-22-04

## OSSMA – Code 300Software Quality ProgramPyramid

- OSSMA’s SQ Program is based on updated NASA Standards and Policies and documented using the GDMS and GSFC Software Assurance Web Site

- 07-22-04

## Process Map for Software Quality Program

- Develop SQA Plan

-  MAR/SOW- Surveillance Plan-303-WI-7120.2.3 - SQAP Template- Project Doc’s

-  SQ Schedule- Approved SQA Plan- Assessment Plan (optional)

- SQ Start

**Inputs**

**Outputs**

- ConductAssessments

-  Work Instructions- Checklists - Product/Process Items- Standards

- Write Assessment Reports

- - Completed Checklist- Findings/Observations/Risks

-  Report Template- Findings- Observations - Risks- Recommendations

- - Assessment Report- Reporting Form- Status: Weekly/Mthly/Qtrly

- Repository and Records

- - Findings repository - Assessment Rpt- Checklists- Reporting Form

- 07-22-04

## SW-Assurance Web Site

- The Software Assurance web site was developed as a tool for Practitioners (i.e., software assurance personnel)  **http://sw-assurance.gsfc.nasa.gov**** **
- This site has been designed to be a one stop resource that provides the latest tools or assets required to perform software assurance activities and tasks
- The site is currently available to NASA GSFC only -- with plans to open it up to all NASA centers after all of the disciplines (quality, reliability, safety, V&V, and IV&V) are populated    **Target date of 08/09/04**
- Use the site’s Feedback Form to provide comments or recommendations

- 07-22-04

**Notes:**
Introduction
Software Assurance is an umbrella risk mitigation strategy for safety and mission assurance of all NASA's software.  Software Assurance practices and programs are to be applied and maintained throughout the life of the software (i.e., from project conception, through operations and maintenance, until retired).  When applied effectively, software assurance assures the quality of the current software processes and products and enables improvement of future software products and services. 
Over the past few years, NASA Software Assurance has experienced increased visibility, including tremendous scrutiny, and a rejuvenation of applicable standards, procedures, and guidelines. The NASA Software Assurance policy, standards, and guidelines have been recently updated to reflect new and updated software assurance requirements for use by NASA projects, programs, facilities, and activities. 
At GSFC, we're working to strengthen the disciplines of Software Assurance and to raise awareness levels among software engineering practitioners, software assurance personnel, as well as program/project managers.  To accomplish this goal, we're providing procedures, tools and training materials to assist those who develop, implement, and manage Software Assurance programs. 
Summary of Disciplines
Software Assurance is the planned and systematic set of activities that ensure that software life cycle processes and products conform to requirements, standards, and procedures [IEEE 610.12].  For NASA, this includes the disciplines of Software Quality, Software Safety, Software Reliability, Software Verification and Validation (V&V), and Independent Verification and Validation (IV&V).  See NASA-STD-8739.8 for the latest Software Assurance Standard and specific requirements. 
Software Assurance covers several disciplines, including: 
         Software Quality 
·         Software Reliability 
·         Software Safety 
·         Software Verification and Validation 
·         Software Independent Verification and Validation 

## SEI CMMI

- CMMI PPQA Specific Goals and Practices
- CMMI Generic Goals and Practices
- Mapping SQ Program to CMMI PPQA

- What does the model look like?

- 07-22-04

## CMMI PPQA Specific Goals and Practices

-  SG 1 Objectively Evaluate Processes and Work Products
- SP 1.1-1 Objective Evaluate Processes
- SP 1.2-1 Objectively Evaluate Work Products and Services
- SG 2 Provide Objective Insight
- SP 2.1-1 Communicate and Ensure Resolution of Noncompliance Issues
- SP 2.2-1 Establish Records

- Purpose:  Provide staff and management with
- objective insight into the processes and work products

- 07-22-04

## CMMI Generic Goals and Practices

- GG 1 Achieve Specific Goals
- GP 1.1 Perform Base Practices
- GG 2 Institutionalize a Manage Process
- GP 2.1 Establish an Organizational Policy
- GP 2.2 Plan the Process
- GP 2.3 Provide Resources
- GP 2.4 Assign Responsibility
- GP 2.5 Train the people performing or supporting the process
- GP 2.6 Manage Configuration
- GP 2.7 Identify and Involve Relevant Stakeholders
- GP 2.8 Monitor and Control the Process
- GP 2.9 Objectively Evaluate Adherence
- GP 2.10 Review Status with Higher Level Management
- GG 3 Institutionalize a Defined Process
- GP 3.1 Establish a Defined Process
- GP 3.2 Collect Improvement Information

- 07-22-04

## Mapping SQ Program to PPQA

| Procedure for Developing and Implementing Software Quality Programs | (GG 2, GG 3 & GP 3.1) |
| --- | --- |
| Software Quality Assessment Process | (SG 1, SP 1.1 and SP 1.2) |
| Software Quality Reporting Process | (SG 2, SP 2.1, & SP 2.2) |
| Software Quality Reporting Form and Findings Tracking Repository  | (GP 3.2) |
| Software Quality Assurance (SQA) Plan Template and Service Order | (GP 2.2, 2.3, 2.4) |
| SQ Training Modules | (GP 2.5) |

- 07-22-04

## Mapping SQ Program to PPQA

| SQ Website | (GP 2.6) |
| --- | --- |
| SQ Cross Functional Team | (GP 2.7) |
| Independent Evaluation | (GP 2.8) |
| Work Instructions and Checklist | (GP 2.9)
 |
| SAM Weekly and Quarterly | (GP 2.10) |
| NPD 2820.1, NASA Software Policies | (GP 2.1) |

- 07-22-04

## SAM’s Role

- Read and understand the new NASA requirements
- Read and understand the Software Quality PG requirements
- 303-PG-7120.2.1, Procedure for Developing and Implementing Software Quality Programs (GDMS)
- Know what records will be maintained and what metrics will be collected
- 303-WI-7120.2.3, Software Quality Assessment Process (GDMS)
- 303-WI-7120.2.2, Software Quality Reporting Process (GDMS)
- 303-FRM1_RPT, Software Quality Reporting Form (Web Site)
- Update Service Orders to reflect new software quality requirements
- Know what deliverables to expect!

- 07-22-04

## SAM’s Role (cont.)

- Baseline and Release SQA Plans
- Use the SQA Plans and schedules to gauge the necessary resources required to provide SQ support
- Understand how SQ personnel add value to projects
- Reference the Software Quality Activity Matrix (Web Site)
- Review Work instructions and Checklists (Web Site)
- Complete Software Assurance (quality, reliability, safety, V&V, and IV&V) training
- Report Software Quality issues to Code 300 Senior Management, as well as the Software Assurance Lead
- Be a Champion for Software Assurance and Software Quality!!

- 07-22-04

## Summary

- NASA’s CMMI Initiative will increase the visibility of Software Assurance across GSFC and our software providers
- The timeliness of this initiative will help to strengthen our Software Quality Program and our value to Center projects
- The new Software Quality Approach meets the goals of CMMI, while providing consistent SQ support to current and future projects
- SQEs are committed to your projects and enthusiastic about the improvements to our Software Quality Program

- 07-22-04

## Backup 

**Contact Information:**
-      Susan Sekira	   Software Assurance Lead		x 6160
-      Saul Harris	   Software Quality Engineer 		x 7379
-      Sandra Toalston	   MASC Software Quality Engineer 	x 0096

- 07-22-04

## Additional Training Modules

- Available on web site:
- http://sw-assurance.gsfc.nasa.gov

- 07-22-04

## Module 1  SQ Processes, Reporting, and Records Overview* 

- Quality Processes and Process Map
- Assessment Reporting
- Records
- Work Product Tools
- Software Assurance Web Site

- *available now on http://sw-assurance.gsfc.nasa.gov

- 07-22-04

## Module 3 Preview* CMMI - Process and Product QA for SQ Personnel

- SEI CMMI Model and GSFC Initiative
- PPQA Process Area (GG, GP, SP, & SG)
- Mapping SQ processes and records to PPQA
- Goals for PPQA pre-assessment 4Q 2004
- Role of SQ Personnel in PPQA

- *coming soon to http://sw-assurance.gsfc.nasa.gov

- 07-22-04

## Acronym List

- CMMI – Capability Maturity Model Integration
- GDMS – Goddard Directives Management System
- GG – Generic Goals
- GP – Generic Practices by Goal
- IEEE – Institute of Electrical and Electronic Engineers
- IV&V – Independent Verification and Validation
- OSSMA – Office of Systems Safety and Mission Assurance
- PPQA – Process and Product Quality Assurance
- SEI – Software Engineering Institute
- SG – Specific Goals
- SP – Specific Practices by Goal
- SQA – Software Quality Assurance
- SQ – Software Quality
- SW - Software
- V&V – Verification and Validation

- 07-22-04