R equirement: Support NIRIS Development
Location: Remote, with occasional on-site work at NCIA The Hague (NETHERLANDS)
Cost Not to Exceed: €39,060
Period of Performance: 15 July 2026 - 31 December 2026
Required Security Clearance: NATO Secret
Please do NOT apply for any NATO contract positions unless you meet ALL the following criteria:
- Current National or NATO SECRET clearance
- Nationality of one of the NATO member countries
- Current work visa for the specific location if applying for an in-country position
Introduction
- The NATO Information and Communication Agency (NCIA) located in The Hague, The Netherlands, is the Interoperability Assurance Authority for NATO.
- In light of this responsibility, the C2 Service Centre is looking for a service contract which can provide NCIA with supporting the continued development, maintenance, and evolution of the Networked Interoperable Real-Time Information Services (NIRIS) software.
The list below defines the overarching objectives of the engagement and establishes the intended outcomes that the Contractor is expected to achieve through the delivery of the different work packages described in this document. These objectives serve as the guiding principles against which all deliverables shall be measured. The Contractor is expected to align their approach, methodology, and resource planning with these objectives throughout the duration of the engagement.
Under the direction and guidance of the Solution Architect, Service Delivery Manager, Test Manager, and Project Manager, the services to be provided are related to the development, update, maintenance, and testing of NIRIS software modules. It is envisioned that these services shall be provided by one experienced software developer.
- Develop, update, and maintain NIRIS software modules in accordance with agreed requirements, priorities, technical direction, and project planning.
- Develop and update Java software components supporting the continued evolution and sustainment of the NIRIS software baseline.
- Support the full software development lifecycle of NIRIS, including analysis, design, implementation, integration, testing, defect resolution, and documentation.
- Develop and conduct unit testing and automated testing of software components to support software quality, maintainability, and regression testing.
- Support integration and verification activities to ensure that developed or updated software components operate correctly within the wider NIRIS system.
- Analyse, investigate, and resolve software defects, technical issues, and implementation gaps identified during development, testing, integration, or operational support activities.
- Develop, update, and maintain software documentation, including technical documentation, design information, test-related documentation, and other project deliverables as required.
- Contribute to virtual and in-person meetings, reviews, planning sessions, technical discussions, and coordination activities with NCIA stakeholders and project team members.
- Ensure that all developed, updated, and maintained software components and associated deliverables comply with applicable NCIA development standards, quality requirements, configuration management practices, and agreed project procedures.
- Update and expand the produced software components and documentation as necessary to accommodate new, revised, or emerging requirements throughout the duration of the engagement.
The Contractor shall provide the following deliverables classified per service:
- Service: NIRIS baseline software development, maintenance, release preparation, and Java technology uplift
Output: Updated, maintained, improved, and release-prepared NIRIS software modules delivered in accordance with agreed requirements, assigned work items, technical guidance, project priorities, release planning, and supported Java Long-Term Support (LTS) runtime requirements. This includes software development, defect correction, stabilization, integration into the relevant NIRIS baseline or release branch, and Java module updates, refactoring, or uplift where required to maintain compatibility with the agreed Java LTS version used by NIRIS.
The deliverable also includes the implementation or integration of agreed functional enhancements within the NIRIS baseline, including CESMO integration and historic track data capabilities, where included in the agreed release scope. For the historic track data capability, this includes enabling users to receive a potentially filtered set of tracks read and processed from storage where NIRIS recordings have previously been saved. The existing RTS subscription mechanism and corresponding user interface shall be enhanced, where required, to support these data sources and to allow filtering based on agreed parameters such as source name, time interval, geolocation, and track number.
Outcome: The NIRIS software baseline remains functional, maintainable, secure, stable, and aligned with the agreed NIRIS roadmap and planned releases, including NIRIS 4.7 and NIRIS 4.8. The deliverable strengthens NIRIS interoperability and operational utility by enabling agreed enhancements such as CESMO integration and historic track data access. This supports both real-time and post-event operational analysis, improves the ability to exchange and consume relevant track information, and increases the value of NIRIS as a data-centric interoperability service. The baseline is prepared for integration, testing, acceptance, and release, while reducing technology obsolescence risk through continued alignment with supported Java runtime versions.
Acceptance criteria:
- Assigned software development, maintenance, uplift, defect correction, and release-related tasks are completed in accordance with agreed requirements, priorities, sprint planning, release scope, or work package timeframe.
- Updated software modules are implemented in line with the agreed technical design, coding standards, configuration management practices, and project guidance.
- Software changes are committed, reviewed, and made available in the agreed configuration management environment.
- Delivered software changes are integrated, or made suitable for integration, into the relevant NIRIS development, baseline, or release branch.
- Implemented changes support the functional and technical objectives of the planned NIRIS baseline or release.
- NIRIS Java modules are reviewed and updated where required for compatibility with the agreed Java LTS version.
- Deprecated, obsolete, or incompatible Java constructs are identified and addressed where applicable.
- Updated modules compile, build, and execute successfully in the agreed development and test environments.
- Implemented changes do not introduce known critical or high-severity defects.
- Development support is provided for defect correction, stabilization, integration, and release preparation activities.
- Release-related technical inputs are provided when required.
- Changes take into account the expected support timelines of both the NIRIS baseline and the Java runtime.
Service: Unit testing, automated testing, and software verification support
Deliverable: NIRIS unit and automated test updates.
Output: Unit tests and automated tests developed, updated, or maintained to verify implemented software changes and support regression testing of NIRIS software components.
Outcome: Improved software quality and maintainability through repeatable testing, early defect detection, and strengthened regression test coverage.
Acceptance criteria:
- Unit tests are developed or updated for newly implemented or modified software components where applicable.
- Automated tests are developed or updated to support regression testing of relevant NIRIS functionality.
- Tests are executable in the agreed development, build, or test environment.
- Test results are documented or made available through the agreed tooling.
- Failed tests are analysed and corrected or documented for follow-up.
- Service: NIRIS logging and troubleshooting improvements
Output: Updated and enhanced NIRIS logging functionality delivered in accordance with agreed requirements, assigned work items, technical guidance, and project priorities. This includes improvements to logging configuration, logging visibility, filtering, endpoint-specific logging, stack trace handling, log compression, logging framework migration where required, and related software corrections or enhancements. The deliverable shall support improved logging per port, endpoint, interface, or relevant NIRIS component, where technically applicable, and shall provide improved mechanisms for filtering, viewing, managing, and analysing NIRIS logs during development, testing, troubleshooting, and operational support activities.
Outcome: NIRIS maintainability, troubleshooting capability, operational support, and runtime behaviour analysis are improved. The enhanced logging capability enables developers, testers, administrators, and support personnel to identify issues more efficiently, isolate failures more accurately, and reduce the time required to investigate defects, interface issues, runtime errors, and operational incidents. The deliverable contributes to improved serviceability of the NIRIS baseline and supports more efficient defect correction, stabilization, integration, testing, and release preparation activities.
Acceptance criteria:
- Assigned logging-related development, maintenance, correction, and enhancement tasks are completed in accordance with agreed requirements, priorities, sprint planning, release scope, or work package timeframe.
- Updated logging functionality is implemented in line with the agreed technical design, coding standards, configuration management practices, and project guidance.
- Software changes are committed, reviewed, and made available in the agreed configuration management environment.
- Logging improvements are integrated, or made suitable for integration, into the relevant NIRIS development, baseline, or release branch.
- Logging can be configured or applied at the agreed level of granularity, such as port, endpoint, interface, component, or service, where technically applicable.
- Logging filters are implemented or improved to allow more efficient identification and analysis of relevant log entries.
- Stack traces are handled in a more user-friendly and operationally manageable way, including collapse, grouping, or improved display where included in the agreed scope.
- Updated modules compile, build, and execute successfully in the agreed development and test environments.
- Relevant technical or operational documentation is updated where the logging functionality, configuration, or behaviour has changed.
Requirements
Qualififcations
Each contractor personnel must meet the following requirements
- At least 5 years of professional experience in software development, with a focus on full-stack systems.
- Proven ability to communicate effectively in English, both orally and in writing, in a clear, structured, and professional manner.
- Demonstrated experience in working within Agile/Scrum environments, including participation in sprint planning, execution, and review activities.
- At least 3 years of professional experience in Java-based software development, including experience with modern frameworks and backend service development.
- At least 2 years of experience working with web technologies, including TypeScript and/or Angular-based front-end development.
- At least 2 years of experience working with software integration, including RESTful services, messaging systems, or data exchange interfaces.
- At least 2 years of experience working with near real-time or data-intensive systems, including data processing, filtering, and dissemination.
- At least 1 year of professional experience working with containerization technologies (e.g. Docker), including building, packaging, and deploying Linux-based containers.
- At least 3 years of experience with DevOps and CI/CD practices, including use of tools such as GitLab, automated pipelines, and artifact repositories.
- Demonstrable experience in software testing practices, including unit testing, integration testing, and, where applicable, automated testing.
- Experience in defining acceptance criteria, test scenarios, or validation approaches for software deliverables.
- Demonstrable knowledge or experience in interoperability and data exchange standards, particularly within defence or similar domains (knowledge of Tactical Data Links is highly desirable).
- Experience working with distributed systems and multi-component architectures, including integration of multiple data sources.
- Familiarity with secure software development practices and working within controlled or regulated environments.
- The contractor personnel must be a national of a NATO member nation.
- Must hold a valid NATO SECRET security clearance as from the start date of the contract.


