Non-Developmental Software (NDS) is any software that is not legacy software for the program, or is not developed as part of the effort being accomplished by the developer team. NDS includes: 
- Commercial off the Self (COTS) software
- Government Furnished Software (GFS)
- Open Source Software (OSS)
- Software being reused from another program
NDS can provide significant benefits including faster delivery of capabilities, reduced costs, and faster technology upgrades. NDS can also introduce numerous risks to the program that can have contractual and long-term sustainment implications. Robust Systems Engineering is essential for developing a system using NDS. 
When contemplating the use of NDS software, consider the following: 
- Ensure decisions to use NDS are based on and are traceable to validated system architecture and design requirements.
- Include appropriate NDS activities in the program Integrated Master Plan (IMP) / Integrated Master Schedule (IMS).
- Evaluate all proposed NDS to the extent possible at the start of the development
- Establish configuration control procedures to address NDS integration, upgrades, and changes throughout the system life cycle.
- Assess suitability and manage technical risk inherent in NDS during the system development phase.
- Develop and implement an appropriate test and evaluation strategy for NDS.
- Implement the necessary contractual clauses to address NDS issues such as licensing, data rights, and warranty/support.
- Address security/assurance concerns with Commercial off-The Shelf (COTS) software
- Plan, during system development, for NDS technology refresh and Post Deployment Software Support (PDSS). Planning should address responsibilities, milestones, projected update phases and cycles, budgets and schedules, and managing emergency updates.
AcqLinks and References:
-  Defense Acquisition Guidebook (DAG) – Chapter 4
-  USAF Weapons System Software Management Guide – Section 3.9