This topic discusses guidance for projects implementing those requirements in NPR 7150.2, NASA Software Engineering Requirements, that address software acquisition. This guidance is intended for all persons responsible for the software acquisition process, from the planning stages through contract closeout. Acquisition may involve procedures and regulations external to the software community, including variations by contract type; therefore, it is important to consult Center guidance and coordinate acquisition activities among the proper stakeholders, including, but not limited to, software engineering, procurement, finance, and contracts. Role Responsibility Project Manager Approve procurement plan. Software Lead Engineer Prepare procurement plan; prepare statement of work (SOW) software requirements and software data requirements for the contract; monitor execution of contract; conduct trade studies, engineering analyses. System Engineer Conduct trade studies, engineering analyses. Contracting Officer (CO) Prepare acquisition approach, prepare solicitation, guide proposal evaluation, prepare contracts, prepare modifications to contracts. Contracting Officer's Technical Representative (COTR) Work with CO to plan acquisition approach, prepare SOW, evaluate proposals, determine the technical adequacy of proposed approach, monitor technical implementation. Software Technical Authority Before contract release, verify that the SOW includes the complete flowdown of the Agency and Center software requirements [recommended practice]. Before software acquisition can be carried out, a need must be identified for which a solution is required. During the planning stage, various options to address the identified need are evaluated. The following are possible options: If the solution to the need will involve software, NPR 7150.2 applies, and the acquisition planning guidance below supports project success: *Class A software acquisition guidance – When a project seeks to acquire a system that includes Class A software, the project's acquisition team is required to have support from personnel in an organization that has been rated at a Capability Maturity Model Integration (CMMI) Level 3 or higher. Evidence that a CMMI-DEV Level 3 rated organization has participated in the acquisition activities could include direct support on the acquisition team and/or review and approval of the acquisition products by the CMMI-DEV rated organization. The extent of the CMMI-DEV Level 3 rated organization's support required for a Class A acquisition should be determined by the Center's Engineering Technical Authority responsible for the project. Identification of the appropriate personnel from a organization that has been rated at a CMMI-DEV Level 3 or higher to support the project acquisition team is the responsibility of the designated Center Engineering Technical Authority and Center management. Class B software acquisition guidance - In the case of the project's acquiring a system that includes Class B software, the project's acquisition team is required to have support from organizations that have been rated at CMMI-DEV Level 2 (via a continuous or staged approach), including the process area Supplier Agreement Management. Evidence that a CMMI-DEV Level 2 rated organization has participated in the acquisition activities could include direct support on the acquisition team and/or review and approval of the acquisition products by the CMMI-DEV rated organization. The Center Engineering Technical Authority responsible for the project determines the extent of the CMMI-DEV Level 2 rated organization's support required for a Class B acquisition. Identification of the appropriate personnel from a organization that has been rated at a CMMI-DEV Level 2 or higher to support the project acquisition team is the responsibility of the designated Center Engineering Technical Authority and Center management. Classes A and B general guidance - The Center Engineering Technical Authority has the responsibilities for ensuring that the appropriate and required NASA software engineering requirements are included in an acquisition. For those cases in which a Center or project desires a general exclusion from the NASA software engineering requirement(s) in this NPR or desires to generically apply specific alternate requirements that do not meet or exceed the requirements of this NPR, the requester shall submit a waiver for those exclusions or alternate requirements for approval by the NASA Headquarters' Chief Engineer with appropriate justification. (See SWE-120.) Once the planning activities for software acquisition have been completed and the decision has been made to acquire the software or software development services, a selection process needs to be followed to choose the best provider for the project. This process typically begins with development of a Statement of Work (SOW). The following recommendations should be considered as part of this process. Additionally, a SOW checklist reference is included in the
Useful Practices tab of this guidance document. 1. Develop solicitation, including Statement of Work (SOW): *Acquisition should not simply levy NPR 7150.2 as a whole on a potential supplier, as it contains some NASA institutional requirements. If a project is acquiring software development services for Classes A through H software, the project should only levy the applicable minimal set of supplier requirements, plus additions that address specific risk concerns. Requirements that are the responsibility of the Agency, Center, or Headquarters should not be levied on a contractor, as they will cause confusion and unnecessary expense. If the class of software and the safety-critical designation are known when the SOW is written, the project can levy, via a compliance matrix, the project-/system-specific set of NPR 7150.2 requirements to be satisfied by the contractor. If the class and/or safety-critical designation are not yet known, the SOW should list applicable requirements for each class and safety-critical designation with instructions to comply accordingly when a class and safety-critical designation are determined. In the case of requirements marked P (Center), the responsible NASA Center and project supply the applicable elements of these requirements for inclusion in the SOW. The full list of project-related requirements can be found in the compliance matrices found in the Software Engineering Community of Practice Document Repository on the NASA Engineering Network (NEN). 2. Ensure proper review of SOW before delivery to procurement/contracts official: 3. Identify potential suppliers. 4. Distribute solicitation package. 5. Evaluate proposals (typically an evaluation team), based on selection criteria established during the acquisition planning phase, including: 6. Select supplier/contractor, and document basis for selection. 7. Negotiate, finalize, and document contract: Once the provider has been chosen, the acquisition process moves into a technical monitoring role. The following guidance should be included when establishing the process for provider monitoring and quality assurance: In addition to monitoring the selection provider's progress and quality, contract administration activities are also carried out for the project. The following guidance should be included when establishing the process for contract administration: Once the provider is ready to deliver the software product, the acquirer should have a process in place for review and acceptance of the product. The following guidance should be included when establishing the process for product acceptance: The final acquisition step is to close out the contract. The following guidance should be included when establishing the process for contract closeout: The documents below are tools collected from various Centers that have been deemed good practices or practices that work well and produce good results. They are included here as aides for carrying out the software acquisition process. If a project wants to procure the development of Classes A, B or C software, the project must levy the associated requirements for which the project has responsibility and also clearly specify that the contractor meet CMMI maturity level requirements associated with the class. Below are examples of wording that could be used in a statement of work to describe the CMMI maturity level requirements: For Class A software: The contractor responsible for the acquisition, development, or maintenance of Class A software shall have a non-expired Capability Maturity Model Integration for Development (CMMI-DEV) rating, as measured by a Software Engineering Institute (SEI) authorized or certified lead appraiser, of CMMI-DEV Maturity Level 3 rating or higher for software, or CMMI-DEV Capability Level 3 rating or higher in all CMMI-DEV Maturity Levels 2 and 3 process areas for software. For Class B software: The contractor responsible for the acquisition, development, or maintenance of Class B software shall have a non-expired CMMI-DEV rating, as measured by an SEI authorized or certified lead appraiser, of CMMI-DEV Maturity Level 2 rating or higher for software or CMMI-DEV Capability Level 2 rating or higher for software in the following process areas: For Class C software: The project can minimally choose to pass down this requirement in accordance with the Center's procedures related to Class C, as long as the project provides some action that determines the contractor's capability to develop software in a "meets or exceeds" manner. As many NASA contractors are already at CMMI Maturity Level 2 or higher, the project may alternatively choose to simply require Maturity Level 2 in the RFP for Class C software. If a contractor chooses to subcontract the development of Classes A, B, or C software, then the subcontractor(s) is also required to have a CMMI Maturity Level 2 (for Class B), Maturity Level 3 (for class A), or Center-specified (for Class C) rating. The contractor and its subcontractors' organizations associated with software development responsibilities shall be at SEI Software CMMI-DEV Maturity Level 3 (Staged Representation) or higher, before the Preliminary Design Review. Example 1: IT Management For IT applications other than mission-specific flight and non-flight software, the contractor shall use commercial off-the-shelf and existing government off-the-shelf products where cost effective to NASA. All IT applications, other than mission-specific flight and non-mission flight software, shall comply with NASA requirements as outlined in NPR 7150.2 for the appropriate software classes, limited to Classes E, F, and G, and as applicable for the project, MPR 2800.4, Marshall Operational Readiness Review (MORR) for Center Applications and Web Sites, and NPR 2830.1, NASA Enterprise Architecture (EA) Procedures. Example 2: IT Management For IT applications, other than mission-specific software, the contractor shall: Example 1: Embedded Software (Firmware) The contractor shall develop and maintain software in accordance with NPR 7150.2 for the appropriate software classes and as applicable for the project and NASA-STD-8739.8 278, NASA Software Assurance Standard (chapters 6 and 7). Example 2: Software Engineering a. The contractor shall define, design, develop, test, qualify, integrate, verify, validate, deliver, and maintain all software. The plans for accomplishing this work shall be documented in DRD, Software Development Plan. b. The contractor shall justify the reuse of existing software, modification of existing software, and the development of new software in DRD, Software Development Plan. c. The contractor shall, under project direction, participate in coordinating with the NASA IV&V Facility in accordance with NASA-STD-8739.8 (chapters 6 and 7) to plan for the participation of the NASA IV&V Facility in the software development life-cycle activities. d. The contractor and its subcontractors' organizations associated with software development responsibilities shall be at SEI Software CMMI-DEV Maturity Level 3 (Staged Representation) or higher, before the Preliminary Design Review. This requirement does not apply to commercial off-the-shelf software procured for the project. e. The contractor shall develop, update, and maintain all software and software development tools under configuration management in accordance with the DRD, Software Configuration Management Plan. f. The contractor shall develop and maintain electronic Software Development Folders for all flight, ground, and test software in accordance with DRD, Software Development Folder. g. The contractor shall use the following guidance document for the development of all software document deliverables: h. The contractor shall use the following Standards for designing, developing, and testing all software: Example 3: The contractor shall define, design, code, test, integrate, and qualify the software. The contractor shall treat the software component of firmware, which consists of computer programs and data loaded into a class of memory that cannot be dynamically modified by the computer during processing, as software for the purposes of this SOW. The scope of this activity applies to the reuse of existing software, modification of existing software, and/or development of new software. The contractor shall provide information and access to products under development to provide the Government with insight into software development and test activities, including monitoring integration and verification adequacy, auditing the software development process, and participation in all software and system reviews. The contractor shall support the implementation of the overall risk management process, as well as program status and progress reviews for the software development process. The contractor shall support software Technical Interchange Meetings and other status meetings, as required, to facilitate Government insight into the software development. The Government insight may include Government civil servant insight, Government support contractor insight, and independent verification and validation review. The contractor shall perform peer reviews on Software Requirements Specifications, Software Test Plans, and on selected design and code items and provide results to the Government via Software Inspection/Peer Review Reports. The contractor shall maintain software metrics and provide Software Metrics Reports in accordance with DRD. The contractor shall provide the Government web-based electronic access (with access control) to intermediate and final software products (including code) and software process tracking information, including software development and management metrics. The software development shall comply with NPR 7150.2 as applicable for the project by NASA software classification. Example 1: EGSE Software a. The contractor shall perform the design, code, verification, validation, and delivery of all EGSE code and executables in response to EGSE Subsystem Requirements Document. b. The contractor shall develop and maintain software in accordance with NPR 7150.2 for the appropriate software classes and as applicable for the project and NASA-STD-8739.8 (chapters 6 and 7). Areas to consider for software engineering technical review consist of the following: Langley Research Center LMS-CP-5523, Rev. B, Statement of Work (SOW) Review Procedures 341, contains a useful SOW checklist. See the NASA Agency Process Asset Library (PAL) for the latest version of this checklist. The following NASA DIDs are listed as sample documentation templates that can be called for during the solicitation portion of the software acquisition process. Center PALs are to be consulted for DIDs and DRDs relevant to a specific NASA Center. The NASA software engineering documentation requirements are provided in NPR 7150.2, chapter 5, and their applicability to specific classes is described in Appendix D of that document. Included are descriptions for: The following DIDs and DRDs are samples available from Center PALs. Consult your own Center PAL for templates relevant to work performed for your Center. Goddard Space Flight Center Templates 363 SWEs and Topics related to this Handbook topic: Cost Estimation Software Life Cycle Use of Commercial, Government, and Legacy Software CMMI Levels for Class A, B, and C Software Acquisition vs. Development Assessment Acceptance Criteria Software Milestones Acquisition Planning Access to Software Products Open Source Software Notification Source Code Electronic Access Track Change Request Supplier Metric Data Project Participation in Audits Supplier Software Schedule Traceability Data Solicitation Software Peer Reviews and Inspections for Requirements, Test Plans, Design, and Code SW Development-Management Plan 7.04 - Flowdown of NPR Requirements on Contracts and to Other Centers in Multi-Center Projects Flowdown of NPR Requirements and Contracts Tools to aid in compliance with this Topic, if any, may be found in the Tools Library in the NASA Engineering Network (NEN). NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN. The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider.
See edit history of this section
Post feedback on this section
1. Purpose
1.1 Roles
2. Planning
3. Solicitation, Selection, and Award
4. Technical Monitoring and Quality Assurance
5. Contract Administration
6. Product Acceptance and Control
7. Contract Closeout
8. Useful Practices, Activities and Templates
8.1 CMMI Rating Language for Request for Proposal (RFP)
8.1.1 General Example
8.1.2 Examples for RFP Information Technology (IT) Management Section
8.1.3 Examples for RFP Software Section
8.1.4 Example for RFP EGSE Software Section
8.2 Recommended Technical Review Activities List
8.3 Statement of Work Checklist
8.4 Example Templates
8.4.1 Software Documentation Requirements
8.4.2 Center DIDs and DRDs
Marshall Space Flight Center Templates 248
Available from the "Templates" section of the Marshall Space Flight Center Software Process Improvement website and the individual Project Asset sections of the Marshall Space Flight Center Process Asset Library (PAL):.9. Resources
9.1 Tools
7.03 - Acquisition Guidance
Web Resources
View this section on the websiteUnknown macro: {page-info}