Comment:
Migration of unmigrated content due to installation of a new plugin
Tabsetup
1. The Requirement
1. The Requirement
1
2. Rationale
2
3. Guidance
3
4. Small Projects
4
5. Resources
5
6. Lessons Learned
Div
id
tabs-1
1. Requirements
3.5.1 The project shall document the software maintenance plans in a Software Maintenance Plan document.
1.1 Notes
The requirement for the content of a Software Maintenance Plan is defined in Chapter 5 [of NPR 7150.2, NASA Software Engineering Requirements, Section 5.1.4].
1.2 Applicability Across Classes
Class G is labeled with "P (Center)." This means that an approved Center-defined process which meets a non-empty subset of the full requirement can be used to achieve this requirement.
applicable
f
1
g
p
h
0
ansc
1
asc
1
bnsc
1
csc
1
bsc
1
esc
1
cnsc
1
dnsc
0
dsc
1
ensc
0
Div
id
tabs-2
2. Rationale
Per NPR 7150.2, "Planning for operations, maintenance, and retirement must be considered throughout the software life cycle. Operational concepts and scenarios are derived from customer requirements and validated in the operational or simulated environment. Software maintenance activities sustain the software product after the product is delivered to the customer until retirement...The Software Maintenance Plan provides insight into the method, approach, responsibility, and processes to be followed for maintenance of software and its associated documentation."
Div
id
tabs-3
3. Guidance
The software maintenance plan describes operations, maintenance, and retirement activities (see the guidance in this Handbook for SWE-075). The maintenance plan is typically a separate plan, but may be part of another project document such as the Software Management Plan (SMP). For existing processes that may be used during operations, maintenance, and retirement, the maintenance plan may simply reference existing project documents that describe those processes.
One key goal of the software maintenance plan is to document the plans for maintaining a piece of software, especially in the case that an organization assumes responsibility for maintaining a piece of software developed by another organization. The maintenance plan is not intended, however, to require updates to other planning documents from the software development life cycle, such as the software development plan. The maintenance plan becomes the planning document for the maintenance phase of the software life cycle.
The maintenance plan generally has minimal content at the beginning of a project and becomes more complete and mature as the software life-cycle proceeds. This handbook provides the recommended maturity of the maintenance plan at major milestone reviews (see 7.8 - Maturity of Life Cycle Products at Milestone Reviews).
See SWE-105 in this Handbook for guidance on required maintenance plan contents, but consider the following topics as well when developing the maintenance plan, as appropriate for the particular project:
Operations
Mission support procedures for troubleshooting software problems.
sweref
001
001
Test of ground displays and software during mission sequence tests or other end-to-end tests.
sweref
001
001
Software support as required by the operations support facility.
sweref
001
001
Software safety (if not addressed in the software safety plan).
sweref
271
271
Performance assessments, as applicable.
sweref
273
273
Training for replacement operators and maintainers.
sweref
273
273
Maintenance
Corrective maintenance for software defects.
sweref
001
001
Adaptive maintenance for "software changes necessitated by other changes, usually to the hardware."
sweref
001
001
Changing requirements maintenance.
sweref
001
001
Operational data maintenance to support system configuration changes needed to use the software.
sweref
001
001
Maintenance after new revisions of the software are released.
Software safety (if not addressed in the software safety plan).
sweref
271
271
Updates to operations and user manuals, traceability matrices.
sweref
276
276
User notification of updates.
sweref
209
209
Retirement
Archival of project software products.
sweref
001
001
Archival of project metrics data.
sweref
001
001
Software safety (if not addressed in the software safety plan).
sweref
271
271
User notification of retirement.
sweref
209
209
Decommissioning and disposal.
sweref
273
273
Capture of Lessons Learned.
sweref
273
273
Other
Disposition of Commercial Off the Shelf (COTS) components (source code, licenses, etc.).
sweref
072
072
Support, if required from a contracted developer (established via contract or other agreement).
Support tools required for operations, maintenance, retirement activities, including how to address obsolescence of any such tools over the operational life of the project.
Allocation of responsibilities for operations support, maintenance, retirement activities.
sweref
273
273
Once the maintenance plan is created, it is peer reviewed and reviewed at project milestone reviews such as the Mission Concept Review (MCR), Software Requirements Review (SwRR), Mission Definition Review (MDR), etc. (see Topic 7.8 - Maturity of Life Cycle Products at Milestone Reviews in this Handbook).
Note
Consult Center Process Asset Libraries (PALs) for Center-specific guidance related to documenting the maintenance plan.
Additionally, guidance related to maintenance plans may be found in the following related requirements in this handbook:
For projects with limited staff or budgets, consider adapting a maintenance plan from a similar project making sure to update the plan to reflect the current project's operations, maintenance, and retirement plans. The contents of a maintenance plan can also be addressed as sections in another project document and is not required to be in a separate document.
Div
id
tabs-5
5. Resources
refstable
Toolstable
Div
id
tabs-6
6. Lessons Learned
The NASA Lesson Learned database contains the following lessons learned related to maintenance planning:
Computer Hardware-Software/Software Development Tools/Maintenance. Lesson Number 1128: "NASA concurs with the finding that no program-wide plan exists addressing the maintenance of Commercial Off the Shelf (COTS) software development tools. A programmatic action has been assigned to develop the usage requirements for COTS/modified off-the-shelf software including the associated development tools. These guidelines will document maintenance and selection guidelines to be used by all of the applicable program elements."
sweref
540
540
International Space Station (ISS) Program/Computer Hardware-Software/International Partner Source Code (Maintenance Agreements.) Lesson Number 1153: The Recommendation states to "Solidify long-term source code maintenance and incident investigation agreements for all software being developed by the International Partners as quickly as possible, and develop contingency plans for all operations that cannot be adequately placed under NASA's control."