Page History
...
id | tabs-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
...
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.
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) | Defects found in legacy code and that escaped previous inspections; |
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), | Found defects that escaped previous inspections |
C Global Surveyor (CGS) | ARC – Intelligent Systems Program | Software defect detection tool | ARC (ISS science 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 | 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:
...
id | tabs-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 | |
---|---|
|
...
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 | ||
---|---|---|
| ||
3. ConclusionEnsuring 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 | ||
---|---|---|
| ||
4. Resources
4.1 Tools
|
...
id | tabs-5 |
---|
5. Lessons Learned
A documented lesson from the NASA Lessons Learned database notes the following:
...