General guidance for Interoperability includes:

• A good working definition of interoperability is: ensuring that components are capable of operating reciprocally (the standards, protocols, technologies, and mechanisms that allow data to flow between diverse systems with minimal human intervention).

• One major purpose of pursuing interoperability is to avoid unintentional “blue-on-blue effects.”

• In the SW-ICD, you’ll address interoperability a little differently than you would in a basic ICD. There are five major areas you must address in terms of the interoperability of your software:

1. Governance: This sub-section should cover the expected governance process (the players and the processes) that will oversee the instantiation of your software into the greater, existing digital ecosystem. Who will decide how your software will interface with the various networks? With other software? And what other software, as it may not be intended to work with everything?

2. Data: Discuss how both data generated internally (by users and computations) and received from external sources will be stored and handled. Also address your initial intent (that can be expanded or contracted over time) to make the data available externally, to individual users or other software.

3. Digital Engineering: Identify any data standards, up to and including any relevant model-based systems engineering or similar frameworks, used by your organization to facilitate the organization and sharing of data across the digital ecosystem.

4. Net Ready: Describe, if applicable, how the software will enable other systems to become Net Ready—or how it may enhance the Net Readiness of an existing system. This requirement is most readily applicable to software embedded in tactical devices (such as weapon systems, “dumb” devices, etc.). Use table B-6 to describe these considerations.