2.5.5 The project shall determine which software processes, activities, and tasks are required for the project.
NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.
1.2 Applicability Across Classes
Class F is labeled with "X (not OTS)." This means that this requirement does not apply to off-the-shelf software for these classes.
Class D and not Safety Critical and Class G are 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.
Projects evaluate the environment (e.g., organization, funding, size, personnel) in which they plan to develop software. From this evaluation, they choose an appropriate set of processes, tasks and activities to develop software which meets their needs. The Center Process Asset Library (PAL) may contain processes tailored to different development environments. The planning down to the activity and task levels will assure that only the appropriate processes are selected from the ones available to the project. A further evaluation of these processes will determine the level of software resources that the project team needs to include in the planning documentation and funding requests.
The formulation phase in the life cycle (see SWE-019) includes the selection and execution of planning activities that are necessary for the successful initiation of a project. During this phase of the project the project team defines customer needs, system level requirements, make-versus-buy strategies, overall project and software management plans, a work breakdown structure (WBS), software safety assessments, and primary project deliverables and work products.
The project develops planning documents to account for the above and for use in managing the software development efforts. The core set of software plans includes a Software Development or Management Plan (see SWE-102), Configuration Management Plan (see SWE-103), Test Plan (see SWE-104), Maintenance Plan (see SWE-105), and Assurance Plan (see SWE-106). The planning may be recorded in a single document or in standalone documents, depending on project size and requirements.
The selections of the processes to support and execute the above planning and definition activities typically are based on an analysis of the desired software work products and their characteristics, and on a determination of which activities and tasks are needed to produce these work products. The selected processes must meet the requirements of the NPR 7150.2 that are applicable to the project.
Projects may find it helpful to review the following sources of listed processes when planning their project implementation:
The processes that are selected and/or tailored to be applicable to the project will be accomplished through the execution of the activities and tasks that compose the process. Specifically, NPR 7123.1A, NASA Systems Engineering Processes and Requirements, describes an activity as a set of tasks that describe the technical effort needed to accomplish a process and to help generate the expected outcomes. Software processes are generally reviewed during the software development life cycle, and revised and modified as needed. The appropriate planning and scheduling of these tasks and activities enable the successful execution of the planned processes. The successful placement of the applicable and tailored processes, activities, and tasks on the project development schedule will complete the determination process.
Additional guidance related to Software Process Determination may be found in the following related requirements in this Handbook:
Software Life Cycle
Use of Commercial, Government, and Legacy Software (COTS, GOTS, MOTS)
Software Development/Management Plan
Software Configuration Management Plan
Software Test Plan
Software Maintenance Plan
Software Assurance Plan
Develop A Software Safety Plan
4. Small Projects
Small projects may want to use a standard set of processes that have been tailored for their development environment, and type of project. These processes may have been developed by people in the same organization that may have done similar developments.
6. Lessons Learned
A documented lesson from the NASA Lessons Learned database notes the following: