bannera

Book A.
Introduction

Book B.
7150 Requirements Guidance

Book C.
Topics

Tools,
References, & Terms

SPAN
(NASA Only)

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Relink topic 7.2 in tab 2

...

idtabs-1

1. Purpose

Topic 7.1 addresses the history of the NASA software improvement efforts and provides a brief overview of the recent activities for software process improvement to provide a background and impetus for the development of this electronic Handbook.

1.1 Introduction

...

Image Removed

                                                                                    Figure 1. NASA Software Engineering Timeline, 1957-1997.

From these initial activities came the impetus for the NASA Software Engineering Initiative (NSEI) at the beginning of the new century. NSEI came into existence as one of three basic components of NASA's Engineering Excellence Initiative (EEI). (Systems Engineering and Project Engineering are the other two main components.) Results and related activities stemming from the NSEI are shown in figure 2, NASA Software Engineering Initiative Timeline, 2002-2010.

Image Removed

                                                                                      Figure 2. NASA Software Engineering Initiative Timeline, 2002-2010

...

Technology

Technology Provider

Technology Description

Customer Sites and Target Application

Outcome/Benefits

Perspective-based Inspections

Fraunhofer Maryland, SARP

Software Manual Inspection Technique

GSFC (Spacecraft FSW)
USA (ISS power analyzer)

Defects found in legacy code and that escaped previous inspections;
Adopted

Software Cost Reduction (SRC)

Naval Research Laboratory

Requirements Analysis Tools

ARC (ISS Payload)

Personnel trained,  Reqts validated

SpecTRM

Safeware Engineering Corp. & MIT

Requirements Capture and Analysis

JPL (Capture of Mission Design Rationale)

Personnel trained,  MIT student hired

Orthogonal-Defect Classification

JPL, SARP

Process Improvement Methodology

JPL (Ground SW)

SOA and project personnel trained

CodeSurfer/CodeSonar

Grammatech, Inc.

Reverse Engineering/Defect Detection

JSC (ISS, Shuttle),
IVVF (Spacecraft FSW)

Found defects that escaped previous inspections

C Global Surveyor (CGS)

ARC – Intelligent Systems Program

Software defect detection tool

ARC (ISS science payload)
MSFC (ISS payload)

Found defects.  Good feedback to provider

Coverity SWAT/Prevent

Coverity, Inc.

Software defect detection tool

MSFC (ISS, Shuttle FSW)

Found defects that escaped testing; Will be adopted.

                                                                                          Table 1.  NASA Research Infusion Initiative Completed Projects

...

Center/Organization

Rating (SCAMPI A by Certified Appraiser

Date

# Projects

Type

Organizational Size

Software Classes Assessed

LaRC-ASDC

PP (CL3), CM (CL1)

Nov-06

1

Data Center Support

85

Class C

MSFC

ML3

Apr-07

3

Development

63

Class A, B, and C

JPL

ML3

Sep-07

7

Dev & Maintenance

1000

Class A, B, and C

GSFC

ML2 + RSKM(2)

May-08

4

Dev & Maintenance

600

Class A, B, and C

LaRC+FSSB

ML2 + CL3

Oct-08

3

Services

5

Class B and C

LaRC+SDAB

PP(CL3), REQM(CL3), CM(CL3) MA(CL3)

Mar-09

4

Development

21

Class B and C

JSC

ML2

Apr-09

4

Development

90

Class A, B, C, and D

KSC

ML2

Sep-09

1

Development

225

Class A, B, and C

MSFC-SIL

ML2 + CL3

May-2010

1

Development

50

Class C

ARC-ISD
(Codes TI & QS

ML2

May-2010

6

Development

50

Class C

GRC-Flt SW

ML2

Aug-2010

2

Development

22

Class C and D

MSFC-Flt SW

ML3

Aug-2010

1

Development

75

Class A

JLP-Mission SW

ML3

Sept-2010

9

Development & Maintenance

950

Class B and C

                                                                                  Table 2.  Completed SW Engineering Appraisals from FY07 - FY10

...

Floatbox

NPR 7150.2 is written in "shall" statement format with supplemental information in the form of accompanying notes and appendices. While these were included to help explain the meaning of each requirement, it was recognized that additional detail on the scope and the applicability of each SWE would increase the speed of cultural change and adoption of these software requirements. This Handbook, NASA-HDBK-2203,was established in wiki format to help achieve the above goals.

Numerous other components and related tasks have been developed and executed under OCE sponsorship. Some of these include the development of a software engineering curriculum (see the discussion on the DACUM below), the development and tracking of the Top Ten Software Issues list, the inventory of the software development activities (see the Software Inventory Management System (SIMS) tool discussion below), and the implementation of the OCE surveys. Others include:

...

idtabs-2

2. NASA Software Engineering Initiative

...

The following key principles guide NASA's software improvement activities:

  • Software engineering is a core capability and a key enabling technology for NASA's missions and supporting infrastructure.

...

  • NPR 7150.2 provides a minimal set of requirements established by the Agency for software acquisition, development, maintenance, retirement, operations, and management.
  • NPR 7150.2 is intended to help NASA programs and projects accomplish their planned goals, e.g., mission success, safety, schedule, and budget, while satisfying their specified requirements.

2.1 NSEI Scope

This initiative covers software process improvement, as well as items related to software research: software safety, reliability, and quality; attraction and retention of software engineers, and improvement of NASA's software engineering knowledge and skills. It applies to both mission-critical and non-mission-critical software.

  • What is NSEI?
    • A NASA-wide comprehensive approach for improving software engineering processes and technology.
  • Why are we doing NSEI?
    • To meet the challenges facing NASA in software engineering (schedule, cost, project commitments, ensuring the use of best practices...).
  • Who is deploying NSEI?
    • OCE, in collaboration with each Center.
    • NASA Software Working Group (NSWG).
    • Center Management Steering Groups (MSGs) and Software Engineering Process Groups (SEPGs).
  • What are the elements of the OCE's approach?
    • Component plans from each Center.
    • The use of the Software Engineering Institute's Capability Maturity Model Integration as a benchmark for assessments.
    • Increasing the availability of software engineering tools.
    • Software metrics.
    • The integration of sound software engineering principles and standards.
    • The enhancement of software engineers' knowledge and skills through training based on an agreed-upon curriculum.
    • Development of a Software Engineering Electronic Handbook.
    • Benchmarking of industry, government agencies, and academic institutions to learn about and share best practices.
    • Consolidation of Agency processes and practices.
    • Benchmarking and consolidation of best practices associated with cost estimation.
    • Small project implementation of requirements.

2.2 NSEI Elements

...

  • Implement a continuous software process and product improvement program across NASA and its contract community.
  • Improve safety, reliability, and quality of software through the establishment and integration of sound software engineering principles and standards.
  • Improve NASA's software engineering practices through research.
  • Improve software engineers' knowledge and skills and attract and retain software engineers.

The baseline NSEIIP was approved in 2002 (see SWE-002). As part of the NSEIIP, each Center developed its own improvement plan for advancing the in-house software engineering capability (see SWE-003).

Center plans: The OCE allowed the individual Centers some latitude in implementing the NSEI to take into account the mission of their Center's activities. While the implementation varies across research and flight Centers, certain basic features can be found to be common to all Centers.

To address the key NSEI components, each Center uses one or more of the following to meet its objectives for the initiative:

...

Tools: A key part of the NSEIIP to increase software developer skills and knowledge is the development of a set of tools useable in software development. Center and Agency repositories catalogue many of the tools used around the Agency. In addition, several tools have been developed to assist in achieving the above implementation elements:

...

The PAL provides for viewing of the Agency-level process assets. This library may contain information in many forms, including but not limited to processes, templates, web links, design principles, books, periodicals, presentations, tools, examples of documents, and conference descriptions.

NASA utilizes the SIMS tool to develop and maintain an inventory of software (see SWE-006 ) across the Agency for the purpose of facilitating strategic decisions with actual data. The analysis of the inventory results also directly supports NASA's Chief OSMA Officer and the IV&V Board of Advisors (IBA) in the selection of projects to receive IV&V services. (See SWE-131.)

Each SWE entry in this Handbook may include references to tools that have specific or related applicability to the SWE statement. The Resources section within each SWE description includes information as shown in the example panel below. The Handbook format allows users to suggest additional tools, as indicated in the second paragraph in the example panel. (Editor's note: the Tools sub-section in the Resources section normally is numbered as '5.1', which is shown in the panel.)

Panel
toolstable

...

The PAL also includes support materials for projects to set up software measurement collection, as well as templates to analyze metrics to determine accurately the status of software development.

...

The use of the Agency PAL (see SWE-098) is another mechanism being employed for the distribution of the best-in-class processes around the Agency. This repository allows the efficient collection and storage of useful and best-in-class documents that are easily available through the NEN. The Headquarters, Center, and Facility representatives to the NSWG currently manage population of the PAL.

...

Div
idtabs-3

3. Conclusion

Ensuring the quality, safety, and reliability of NASA software is of paramount importance in achieving mission success for the Agency's programs and projects. The NASA Software Process Improvement Initiative brings together an integrated spectrum of software engineering professionals, researchers, trained practitioners, improved processes, ratings and appraisal systems, accredited tools, and numerous engineering productivity tools to promote software improvement and overall excellence.

Div
idtabs-4

4. Resources

refstable-topic

4.1 Tools

toolstable-topic

...

idtabs-5

5. Lessons Learned

A documented lesson from the NASA Lessons Learned database notes the following: 

...