annex b revision no. 1 · terms of reference june 2019 page 1 of 23 annex b terms of reference...
Post on 19-Apr-2020
3 Views
Preview:
TRANSCRIPT
Terms of Reference June 2019 Page 1 of 23
ANNEX B
TERMS OF REFERENCE
REVISION NO. 1
JUNE 2019
FOR THE PROVISION OF SOFTWARE ENGINEERING
SERVICES SUPPORT
FOR SEISMIC / HYDROACOUSTIC / INFRASOUND (SHI)
RE-ENGINEERING ON A CALL-OFF BASIS
Terms of Reference June 2019 Page 2 of 23
I. INTRODUCTION .......................................................................................................... 4
II. SCOPE OF WORK ........................................................................................................ 6
II.1 Tasks 1, 2, and 3: Design, develop and integrate new software modules ............................... 7
II.2 Task 4: Design, implement and support continuous delivery and deployment ...................... 8
II.3 Tasks 4 and 5: Support the testing of newly developed and integrated software modules ..... 9
II.4 Task 1: Evaluate the results of newly developed and integrated software modules ............... 9
II.5 Tasks 1, 2, and 3: Second level support and maintenance for integrated software modules 10
III. PROVISION OF SOFTWARE ENGINEERING SERVICES ................................ 11
III.1 Task 1: Digital Signal Processing Software Engineering Support ........................................ 11
III.1.1 Requirements ................................................................................................................. 11
III.1.2 Work Specifications....................................................................................................... 11
III.1.3 Deliverables .................................................................................................................. 11
III.2 Task 2: Back-End Software Engineering Support ................................................................ 11
III.2.1 Requirements for the Software Team ............................................................................ 12
III.2.2 Work Specifications....................................................................................................... 12
III.2.3 Deliverables .................................................................................................................. 12
III.3 Task 3: Front-End Software Engineering Support ................................................................ 13
III.3.1 Requirements ................................................................................................................. 13
III.3.2 Work Specifications....................................................................................................... 13
III.3.3 Deliverables .................................................................................................................. 13
III.4 Task 4: DevOps Software Engineering Services .................................................................. 14
III.4.1 Requirements for the Software Team ............................................................................ 14
III.4.2 Work Specifications....................................................................................................... 14
III.4.3 Deliverables .................................................................................................................. 14
III.5 Task 5: Software Testing Support ......................................................................................... 14
III.5.1 Requirements for the Software Team ............................................................................ 14
III.5.2 Work Specifications....................................................................................................... 15
III.5.3 Deliverables .................................................................................................................. 15
IV. LOCATION OF PERFORMANCE ........................................................................... 16
V. REQUIREMENTS FOR THE CONTRACTOR ...................................................... 17
V.1 General requirements ............................................................................................................ 17
V.2 Team Roster .......................................................................................................................... 17
V.2.1 Constitution of the Team Roster .................................................................................... 17
V.2.2 Maintenance of the Team Roster, conditions of amendment ........................................ 18
Terms of Reference June 2019 Page 3 of 23
V.2.3 Software Team .............................................................................................................. 18
V.2.4 Requirements for each staff on the Team Roster .......................................................... 19
VI. ORGANIZATION OF WORK ................................................................................... 20
VI.1 FRD Call-off ......................................................................................................................... 20
VI.1.1 Initiating Work .............................................................................................................. 20
VI.1.2 Completion and Acceptance .......................................................................................... 20
VI.1.3 Invoicing and Payment .................................................................................................. 21
VII. METHODOLOGY, STANDARDS, AND TECHNOLOGY .................................... 22
VII.1 Work environment ............................................................................................................ 22
VIII. MONTHLY REPORT ................................................................................................. 23
Terms of Reference June 2019 Page 4 of 23
I. INTRODUCTION
The Preparatory Commission for the Comprehensive Nuclear-Test-Ban Treaty Organization (the
Commission/CTBTO) operates software to process time-series data from seismic, hydro-acoustic, and
infrasound (SHI) sensors from around the world. The data are transmitted to the International Data
Centre (IDC) in Vienna in near-real-time (within 5 min).
The data are processed to locate events that may be nuclear test explosions. Thus the processing
system is required to be very sensitive to small events in unusual locations.
The software infrastructure used for processing of the data has been developed mainly in the 90s,
based on C source code mixed with FORTRAN 77 and FORTRAN 95, as well as parts written in
C++, Scheme, Perl and Python. While new scientific modules have been integrated and efforts have
been made to port the software to open source platforms, the Commission is currently, in cooperation
with National Data Centres (NDCs), working on a re-implementation of the back-end and front-end
infrastructures as well as an updated data model. The re-engineered system will be based on modern
principles and design approaches such as micro-service architecture, REST and GraphQL APIs,
component-based backend services and interactive applications based on web technology.
This project is planned as a multi-year project with a duration of five years. For the first years the
system will be deployed on an evaluation platform, specifically designed for the needs of the
reengineered system, and will be run in parallel to the production system. The overall effort is
expected to be more than 60 person years, which includes commission staff as well as contracted
staff.
In its project planning the Commission has identified five areas of skill sets which will be contracted
to outside companies. Specifically, the Commission is looking for companies providing:
Digital Signal Processing Software Engineering Services;
Back-End Java Software Engineering Services;
Front-End JavaScript Software Engineering Services;
DevOps Engineering Services; and
Software Testing Support.
Companies are invited to bid on each of these tasks individually. Companies can bid for one task only,
or for more tasks, as long as they have the capacity to execute them synchronously, in parallel.
Except for coordination and management tasks, the company shall not assign the same person to
multiple tasks offered. The Commission will evaluate the offers for each task individually and select
the best offer per task.
For the interactive front-end applications, web-based technologies will be used. It will be based on the
React view layer as well as the GoldenLayout window manager, developed in Typescript and
prepared for deployment using NodeJS and NPM.
For the backend services, Java will be used as the programming language. The data will be stored in a
combination of database service (Oracle and/or PostgreSQL) and optimized time-series storage. The
Terms of Reference June 2019 Page 5 of 23
backend services will be modular, with services communicating via Remote Procedure Calls based on
REST and GraphQL.
For the deployment of the system, container technology (Docker) will be used, supported by a suitable
orchestration mechanism (e.g. Kubernetes).
The existing Continuous Automated Test System (CATS), which has been developed for the
Commission, will be used and enhanced for the purpose of the project, including continuous
integration, testing and delivery. It is based on Jenkins and Robot Framework.
The software is designed to run on the open-source 64bit Linux operating environment (currently
RHEL 7).
Details of the technologies and components used are subject to change due to the multi-year nature of
the project.
The Commission seeks to establish new Contracts for the supply of software engineering services for
the IDC SHI reengineering project in accordance with these Terms of Reference.
Terms of Reference June 2019 Page 6 of 23
II. SCOPE OF WORK
The Commission seeks to establish one or more contracts for a period of five (5) years, subject to one
optional extension of two (2) years. These Terms of Reference (hereinafter referred to as “ToR”) form
the technical framework for the supply of on-site and off-site software engineering services for work
on the re-engineering SHI data processing software (hereinafter referred to as “Services”).
The Contractor and the services it provides shall meet the requirements specified in these ToR.
Task 1: Digital Signal Processing:
The volume of work under the Initial Call-off Period is expected to be about two hundred fifty (250)
person-days per year throughout 2020 and 2021, about four hundred fifty (450) person-days in 2022
and 2023, and about fifty (50) person-days for subsequent years. This volume is just an indication and
the Commission reserves the right, at its sole discretion, to call-off more, less or no person-days at all.
The Contractor will be required to:
Design, develop and integrate new software modules
Support the testing of newly developed and integrated software modules
Evaluate the results of newly developed and integrated scientific software modules
Second level support and maintenance for integrated software modules
Task 2: Backend Java:
The volume of work under the Initial Call-off Period is expected to be about three hundred fifty (350)
person-days per year throughout 2020 and 2021, about eleven hundred (1100) person-days in 2022
and 2023, and about one hundred fifty (150) person-days for subsequent years. This volume is just an
indication and the Commission reserves the right, at its sole discretion, to call-off more, less or no
person-days at all.
The Contractor will be required to:
Design, develop and integrate new software modules
Support the testing of newly developed and integrated software modules
Second level support and maintenance for integrated software modules
Task 3: Front-End JavaScript:
The volume of work under the Initial Call-off Period is expected to be about one hundred (100)
person-days per year throughout 2020 and 2021, about three hundred fifty (350) person-days in 2022
and 2023, and about fifty (50) person-days for subsequent years. This volume is just an indication and
the Commission reserves the right, at its sole discretion, to call-off more, less or no person-days at all.
The Contractor will be required to:
Design, develop and integrate new software modules
Terms of Reference June 2019 Page 7 of 23
Support the testing of newly developed and integrated software modules
Task 4: Dev-Ops Support:
The task is planned to start in Q4/2019, with a volume of work expected to be about sixty (60) person-
days for the months October-December 2019.
The volume of work under the Initial Call-off Period is expected to be about six hundred (600)
person-days per year throughout 2020 and 2021, about eight hundred fifty (850) person-days in 2022
and 2023, and about one hundred fifty (150) person-days for subsequent years. This volume is just an
indication and the Commission reserves the right, at its sole discretion, to call-off more, less or no
person-days at all.
The Contractor will be required to:
Design, implement and support continuous delivery and deployment
Support the testing of newly developed and integrated software modules
Task 5: Software Testing:
The volume of work under the Initial Call-off Period is expected to be about two hundred (200)
person-days per year throughout 2020 and 2021, about three hundred fifty (350) person-days in 2022
and 2023, and about fifty (50) person-days for subsequent years. This volume is just an indication and
the Commission reserves the right, at its sole discretion, to call-off more, less or no person-days at all.
The Contractor will be required to:
Support the testing of newly developed and integrated software modules
II.1 Tasks 1, 2, and 3: Design, develop and integrate new software modules
Development of new and integration of existing software modules generally involves the execution of
the software design and implementation phases, and the support of the deployment of these modules
through the established change management and release processes of the IDC. The Contractor is also
expected to be involved in requirements definition for these systems.
In particular, the work involves the following main activities:
Defining requirements in accordance with IDC requirements engineering practices, or reviewing and refining existing requirements specifications. The outcome of this step would be a requirements document forming the basis for further planning the work;
Scheduling of the deliverables and estimating the effort to execute the work;
Analysing, designing, coding and testing;
Developing acceptance test plans;
Supporting the delivery, acceptance and implementation of each deliverable;
Terms of Reference June 2019 Page 8 of 23
Writing the documentation agreed for each project, typically consisting of Software Design Description, Software User Manual, Software Installation Manual, Software Administration Manual.
Liaising with both the testers and evaluators through the change management system.
It should be noted that the above activities will be executed in an iterative fashion in accordance to
Agile software development methodologies. The Contractor staff are expected to work together with
staff from the Commission and other contractors in one Scrum team.
Examples of software projects that the Contractor may be requested to work on are:
Integration of software modules contributed by external parties in subsequent phases of the IDC reengineering project. This may require designing and implementing interfaces that allow the contributed software to work with components of the current operational code base;
Adjustment and integration of major components of the current SHI operational pipeline, such as the data acquisition for waveform data, to be compatible with the reengineered code base;
Redesign and implementation of major components of the current SHI operational pipeline, such as the data access layer used by automatic processing software for waveform data and by interactive analysis software for waveform data, to be compatible with the reengineered infrastructure.
II.2 Task 4: Design, implement and support continuous delivery and
deployment
For the reengineered software, the IDC will utilize best practices on Continuous Delivery /
Deployment, based on DevOps principles. Design and implementation of continuous delivery and
deployment generally involves support in the setup of Continuous Integration / Continuous Delivery
(CI/CD) pipelines, scripting of automatic deployment, roll-back support in case of issues with newly
integrated software, and design of updated processes. It also includes design, configuration and
implementation of container-based deployment and orchestration, based on industry best practices.
The Contractor is also expected to support in the development and integration of complex, automated
end-to-end and full-system tests.
In particular, the work involves the following main activities:
Support the design, adaptation and implementation of a CI/CD platform for the reengineered software;
Support the adjustment of existing change management and software delivery processes, to align with DevOps best practices;
Support the design, configuration and implementation of container-based deployment and orchestration, aligned with industry best practices;
Support developers in the design and implementation of automated tests, including end-to-end and full-system tests.
It should be noted that the above activities will be executed in an iterative fashion in accordance to
Agile software development methodologies. The Contractor staffs are expected to work together with
staff from the Commission and other contractors in one Scrum team.
Examples of software projects that the Contractor may be requested to work on are:
Terms of Reference June 2019 Page 9 of 23
Setting up of a CI/CD platform, integrated with git-based source code management, for the IDC reengineering project. This includes requirement analysis to support the specific needs of the Commission for continuous delivery and deployment;
Adjustment and integration of complex test scripts for end-to-end testing and full-system tests. This includes support of the development of these test scripts in various environments, like Java-based micro-services and React-based front-end code;
Design and implementation of a container-based deployment system and container orchestration, integrated with the CI/CD platform, and compatible with the security requirements of the Commission.
II.3 Tasks 4 and 5: Support the testing of newly developed and integrated
software modules
For the reengineered software, some of the algorithms and scientific methods will be re-implemented
or significantly adjusted to be compatible with the new code base. These new modules will require
extensive testing, some of which might be manual testing and some of which will be automated
testing (unit, integration and system tests). Supporting the testing of newly developed and integrated
software modules generally involves data manipulation, filtering, comparing with results from other
methods, and scripting of all these for automatic tests. In addition, the contractor will work on
bundling “ground-truth” datasets for integration into the CI/CD platform and automatic test execution.
The reengineered software has extensive documentation of requirements. The contractor shall derive
executable test specifications from these requirements.
In particular, the work involves the following main activities:
Planning support of tests to cover all essential parts of newly developed and integrated software modules;
Extraction, conversion and filtering of data between different implementations of software modules for allowing comparison;
Acceptance criteria development for system-wide tests when comparing results with “ground-truth” of established datasets;
Implementation support and adjustment of CI/CD pipelines with system- and integration-level tests;
Support for developers in the design and implementation of automated tests, including end-to-end and full-system tests.
Liaison with both the developers and evaluators through the change management system.
It should be noted that the above activities will be executed in an iterative fashion in accordance with
Agile software development methodologies. The Contractor staffs are expected to work together with
staff from the Commission and other contractors in one Scrum team.
II.4 Task 1: Evaluate the results of newly developed and integrated software
modules
Newly developed and integrated software modules will often lead to different results when compared
with the original implementation when running in the current IDC environment. Some of the
modifications will be aiming at improving accuracy of the implementation to achieve better results
Terms of Reference June 2019 Page 10 of 23
than existing modules. These new results have to be validated, which requires a geoscientific
background to compare and assess the outcome with previous software.
In particular, the work involves the following main activities:
Analysing results and comparing them with results achieved by other methods or established ground-truth databases;
Compiling “ground-truth” data sets for automated tests.
Liaising with both the developers and testers through the change management system.
It should be noted that the above activities will be executed in an iterative fashion in accordance with
Agile software development methodologies. The Contractor staff will work together with staff from
the Commission and from other contractors in one Scrum team.
II.5 Tasks 1, 2, and 3: Second level support and maintenance for integrated
software modules
Provision of second-level support and maintenance for integrated software modules generally
involves the review and execution of the software transition and operation phases through the
provision of support and maintenance services, mainly for custom software systems.
In particular, the work may involve the following steps:
Perform troubleshooting;
Provide proactive and/or reactive support services;
Analyze the current functionality of a software system;
Implement software patches and updates;
Perform migrations for major releases of software;
Implement deployment and release policies;
Provide installation and usability assistance;
Provide training or other services associated with operating the software.
Terms of Reference June 2019 Page 11 of 23
III. PROVISION OF SOFTWARE ENGINEERING SERVICES
This section breaks down the description of the work into the tasks to be provided.
III.1 Task 1: Digital Signal Processing Software Engineering Support
III.1.1 Requirements
In addition to requirements listed under section V, the Contractor shall ensure when selecting the
Software Team that the following mandatory requirements are met by all members that are to provide
Digital Signal Processing Software Engineering Support:
Five (5) years of experience in the last ten (10) years as a system analyst, designer and software developer in the area of digital signal processing;
Three (3) years of experience in the last ten (10) years in developing software to automatically process data in near-real-time, preferably in the area of environmental or operational monitoring;
Knowledge of geophysical concepts from involvement in past projects in the area of geophysical processing software;
Experience in array signal processing and applying signal processing to environmental monitoring applications.
The Commission reserves the right to consider additional requirements for the selection of Software Team members at the start of new projects (in its written request prior to FRD issuance, as described in Section VI.1.1).
III.1.2 Work Specifications
The work may involve the following tasks:
Perform system analysis and translate software requirements into architecture and design using Agile software development methodologies;
Prototype signal processing code to be integrated into work of other developers, and design and develop signal processing code that satisfy users’ needs;
Unit-test, black-box and performance testing for the systems being developed/maintained;
Support the deployment of the software under development in accordance to IDC change management processes;
Audit Software Code in preparation for upgrades/enhancements
The detailed scope of the services shall be defined at the time the work is called-off (see Section VI).
III.1.3 Deliverables
The deliverables shall be defined at the time the work is called-off (see Section VI). The Commission
may request deliverables deemed relevant to the project.
III.2 Task 2: Back-End Software Engineering Support
Terms of Reference June 2019 Page 12 of 23
III.2.1 Requirements for the Software Team
In addition to requirements listed under section V, the Contractor shall ensure when selecting the
Software Team, that the following mandatory requirements are met by all members that are to provide
Back-End Software Engineering Support:
Three (3) years of experience in the last ten (10) years as a system analyst, designer and software developer in data analysis and processing systems, preferably in the area of environmental monitoring;
Two (2) years of experience in the last five (5) years implementing web services integration such as JAX-RS, JAX-WS and/or similar technologies;
Two (2) years of experience in the last five (5) years in Java development using Spring framework or Wildfly, Weblogic, Websphere, JBoss EAP or similar technologies;
Two (2) years of experience in the last five (5) years of developing data centric web applications using one or more Java-based Object Relational Frameworks such as Spring Data, Hibernate, EclipseLink, iBatis or similar technology;
Two (2) years of experience in the last five (5) years working with SQL and database programming, experience designing data access layers and data models for an application;
Recent experience with PostgreSQL is an asset;
One (1) year of experience in the last five (5) years with NoSQL databases, designing data access layers and data models for an application;
Recent experience with MongoDB and/or Apache Cassandra is an asset;
Basic understanding of digital signal processing concepts;
Experience in array signal processing and applying signal processing to environmental monitoring applications is an advantage;
Basic knowledge of geophysical concepts from involvement in past projects in the area of geophysical processing software.
The Commission reserves the right to consider additional requirements for the selection of Software Team members at the start of new projects (in its written request prior to FRD issuance, as described in Sections VI.1.1).
III.2.2 Work Specifications
The work may involve the following tasks:
Perform system analysis and translate into software requirements, architecture and design using Agile software development methodologies;
Prototype back-ends for processing and APIs to be integrated into work of other developers, and design and develop processing and API back-ends that satisfy users’ needs;
Unit-test, black-box and performance testing for the systems being developed/maintained;
Support the deployment of the software under development in accordance to IDC change management processes;
Audit Software Code in preparation for upgrades/enhancements.
The detailed scope of the services shall be defined at the time the work is called-off (see Section VI).
III.2.3 Deliverables
Terms of Reference June 2019 Page 13 of 23
The deliverables shall be defined at the time the work is called-off (see Section VI). The Commission
may request deliverables deemed relevant to the project.
III.3 Task 3: Front-End Software Engineering Support
III.3.1 Requirements
In addition to requirements listed under section V, the Contractor shall ensure when selecting the
Software Team, that the following mandatory requirements are met by all members that are to provide
Front-End Software Engineering Support:
Two (2) years of experience within the last five (5) years in developing web-based applications;
Experience with TypeScript is an asset;
One (1) year of extensive experience with the React JavaScript framework together with the Redux state manager;
One (1) year of extensive experience with NodeJS and the Node Package Manager;
Experience with D3.js, Leaflet, OpenLayers and/or in developing web-based maps is an asset;
Experience with GoldenLayout is an asset;
Basic understanding of digital signal processing concepts;
Experience in array signal processing and applying signal processing to environmental monitoring applications is an advantage;
Basic knowledge of geophysical concepts from involvement in past projects in the area of geophysical processing software is an advantage.
The Commission reserves the right to consider additional requirements for the selection of Software Team members at the start of new projects (in its written request prior to FRD issuance, as described in Sections VI.1.1).
III.3.2 Work Specifications
The work may involve the following tasks:
Perform system analysis and translate software requirements into architecture and design using Agile software development methodologies;
Prototype web-based front-ends with end users, and design and develop web-based front-ends that satisfy users’ needs;
Unit-test, black-box and performance testing for the systems being developed/maintained;
Support the deployment of the software under development in accordance to IDC change management processes;
Audit Software Code in preparation for upgrades/enhancements.
The detailed scope of the services shall be defined at the time the work is called-off (see Section VI).
III.3.3 Deliverables
The deliverables shall be defined at the time when work is called-off (see Section VI). The
Commission may request deliverables deemed relevant to the project.
Terms of Reference June 2019 Page 14 of 23
III.4 Task 4: DevOps Software Engineering Services
III.4.1 Requirements for the Software Team
In addition to requirements listed under section V, the Contractor shall ensure when selecting the
Software Team, that the following mandatory requirements are met by all members that are to provide
DevOps Software Engineering Services:
One (1) year of experience using Docker containers for the purpose of software operations;
One (1) year of experience architecting micro-services based software systems;
Two (2) years of experience within the last ten (10) years using a disciplined approach for continuous integration;
Experience with Jenkins and/or GitLab CI is an advantage;
Experience with scripting techniques for automated integration and deployment.
The Commission reserves the right to consider additional requirements for the selection of Software Team members at the start of new projects (in its written request prior to FRD issuance, as described in Sections VI.1.1).
III.4.2 Work Specifications
The work may involve the following tasks:
Design and implement computing infrastructure for running and evaluating the reengineered IDC software;
Adjust operating system settings, Docker runtime, and container orchestration parametrisation;
Maintain computing infrastructure for the reengineered project;
Define and support the implementation of release and deployment policies;
Mentor other Software Team members in DevOps methodologies;
Support developers in testing and running the reengineered IDC software on development machines;
Support scripting of automated deployment (and rollback) of releases.
The detailed scope of the services shall be defined at the time the work is called-off (see Section VI).
III.4.3 Deliverables
The deliverables shall be defined at the time when work is called-off (see Section VI). The
Commission may request deliverables deemed relevant to the project.
III.5 Task 5: Software Testing Support
III.5.1 Requirements for the Software Team
In addition to requirements listed under section V, the Contractor shall ensure when selecting the
Software Team, that the following mandatory requirements are met by all members that are to provide
Software Testing Support:
Terms of Reference June 2019 Page 15 of 23
Four (4) years of experience within the last ten (10) years using a disciplined approach for planning, designing, executing and reporting on software testing;
Two (2) years of experience in the last ten (10) years using, configuring and customizing Continuous Integration Servers;
Experience with Jenkins and/or GitLab CI is an advantage;
Experience with scripting techniques for automated testing.
The Commission reserves the right to consider additional requirements for the selection of Software Team members at the start of new projects (in its written request prior to FRD issuance, as described in Sections VI.1.1).
III.5.2 Work Specifications
The work may involve the following tasks:
Enhance the Continuous Automatic Testing System (CATS) for the needs of the reengineered project;
Develop, maintain and integrate tests into CATS;
Audit code coverage;
Mentor other Software Team members in software testing methodologies;
Work from software specifications to identify test data requirements and generate required test data;
Report software defects and support developers in troubleshooting problems in the CATS environment.
The detailed scope of the services shall be defined at the time the work is called-off (see Section VI).
III.5.3 Deliverables
The deliverables shall be defined at the time when work is called-off (see Section VI). The
Commission may request deliverables deemed relevant to the project.
Terms of Reference June 2019 Page 16 of 23
IV. Location of Performance
For all tasks, Contractor’s staff will be expected to work off-site the premises of the Commission in
Vienna, Austria. Only for the purpose of meetings, on-site installation, or other activities as required,
contractors might be required to work for limited periods on the premises of the Commission.
The on-site days shall be agreed with the Commission prior to the issuance of the FRD (see section
VI.1.1).
The Contractor shall make all the travel arrangement (visas, hotels, etc.) for their staff. Airline tickets
may be purchased by the Commission, should it be deemed appropriate at the time when work is
called off, Daily Subsidiary Allowance (DSA) shall be calculated based on the values provided by the
International Civil Service Commission (ICSC).
Terms of Reference June 2019 Page 17 of 23
V. Requirements for the contractor
V.1 General requirements
The Contractor shall satisfy the following mandatory requirements:
To be a company established for at least three (3) years;
A minimum of three (3) years of experience in providing software development services using an Agile methodology, preferably Scrum;
Experience working with a modern issues tracking and ticket management systems, preferably Jira;
All written and oral communication with the Commission shall be in English;
The company has successfully executed projects in the area of digital signal processing, environmental monitoring and scientific visualization in the past.
Warranty period of one (1) year after the completion of the user acceptance testing. Terms and conditions of post-warranty support and bug fixes should be available and clearly specified.
Documented evidence that the Contractor will be able to adjust the working hours of staff assigned to the Software Team, to overlap at least two hours with the Commission’s working hours (9am to 5pm CET), as deemed necessary by the Commission.
For on-site work performed at the PTS headquarters in Vienna, Austria, the Commission will provide at its premises a suitable work environment (office, room for meetings, presentations and trainings, stationary, Internet connection, fax service) for the Contractor’s personnel to perform the services under the Contract, as required. The Commission will also make reasonable efforts to cooperate with the Contractor in connection with its performance under the Contract, including, but not limited to, reasonable and timely access to Commission’s personnel, documentation, and databases and other necessary identified sources of information.
For off-site work, the Contractor shall provide its own infrastructure, hardware and software environment necessary for the completion of its work under the Contract. The Commission will provide VPN access to the relevant services for the purpose of the project. The Contractor shall communicate with the Commission by telephone, or electronic mail, as appropriate. All costs incurred by the Contractor as a result of such communication with the Commission for the performance of work under the Contract, shall be borne by the Contractor.
V.2 Team Roster
V.2.1 Constitution of the Team Roster
In its Proposal, the Contractor shall provide details of staff that are expected to be involved in the
performance of work on-site and/or off-site for the Commission. At a minimum, the following
information shall be provided for each of these staff:
Name
Role
Employed since
Terms of Reference June 2019 Page 18 of 23
Task from Section III in which the staff will be involved
Curriculum Vitae detailing past experience relevant to the Task
Each member of the Team Roster shall be appropriately skilled and experienced to carry out the role
and service(s) listed in the Team Roster.
The Contractor shall demonstrate:
The capacity of the suggested Team Roster to tackle all Services described in Section III for the Tasks they are bidding for;
The compliance of the suggested Team Roster with requirements set out in Section V.2.4;
The capability and capacity of the suggested Team Roster to provide Software Services in the environment described in Section II.
V.2.2 Maintenance of the Team Roster, conditions of amendment
The Contractor shall maintain an up-to-date version of the Team Roster for the duration of the
Contract. The Contractor shall be responsible to inform the Commission when staff is to be removed
or added to the Team Roster, and if the details of a staff are modified.
If the Commission estimates that the Team Roster lacks capacity or capability to perform a specific work within the specified timeframe or quality, the Contractor shall provide, within five (5) working days after a request is made by the Commission, the details of skilled and experienced staff to be added to the Team Roster for consideration by the Commission. The Commission shall be entitled to confirm whether or not the proposed Team Roster amendment is
acceptable.
As described in Section II, the Commission estimates a fluctuating volume of services to be provided
throughout the years. It is therefore acceptable that some or all staff on the Team Roster are available
to the extent of only 50% of a Full-time equivalent (FTE) during the first year. The bidder must
nevertheless propose a Team Roster with sufficient expertise to cover all required services for the
Task(s) they bid for, as described in Section III. No team member shall be simultaneously assigned to
two or more tasks at the same time.
V.2.3 Software Team
Prior to the issuance of a FRD, as described in section VI.1, the Contractor is requested to propose to
the Commission a list of staff (Software Team) that will be working under this FRD. This Software
Team shall be selected from the Team Roster.
The Contractor shall ensure that each staff of the Software Team:
is dedicated to the project and one specific task of the project during the development period (unless otherwise agreed); and
is not re-assigned from the project without the prior written consent of the Commission.
The Contractor shall satisfy the following mandatory requirements:
An established pre-screening process to identify suitable staff;
Provide reasonable evidence that the proposed Software Team is appropriately skilled and experienced to carry out the work plan;
Terms of Reference June 2019 Page 19 of 23
Replacement of poor performing Software Team members or provision of specific training to address a gap in knowledge identified after a Software Team member has started his or her assignment, at no cost for the Commission, upon request by the Commission;
Establishment of an induction program to help new members of the Software Team become productive within a predefined period after the start of their assignment for the Commission. The duration of the period will be from one to three months depending on the type of service.
The Commission shall be entitled to confirm whether or not the proposed Software Team is
acceptable.
The Commission reserves the right to seek an immediate replacement for any Software Team
member, who is found unsuitable for the assigned tasks as determined by the Commission. In such
cases, the Commission will request a replacement Contractor staff, with equal or better qualifications
and experience, to complete the tasks. If no suitable replacement consultant can be agreed upon, the
Commission reserves the right to terminate the assignment of the unsuitable Software Team member
with immediate effect. Continuity of staff is an important consideration. The Contractor shall
therefore take necessary measures to ensure a seamless transition when taking over the services and
keep changes to staff being assigned to the Commission to a minimum throughout the duration of the
contract.
V.2.4 Requirements for each staff on the Team Roster
Each of the Contractor’s staff on the Team Roster must have at least the following qualifications:
A university degree in Computer Science, Mathematics, Physics, Electrical Engineering or a related scientific/technical/engineering field; alternatively, a minimum of ten (10) years of relevant professional experience would be recognized in lieu of a university degree;
At least three (3) years of experience in object oriented development and using design patterns, in depth experience with at least two of the following programming languages: C/C++, FORTRAN, Scheme, Java, JavaScript or Python;
Experience in providing services for the development of UNIX and/or Linux-based client/server systems is an asset;
Recent experience with PostgreSQL is an asset;
Recent experience with MongoDB and/or Apache Cassandra is an asset;
Direct experience with one or more Agile frameworks, preferably Scrum;
Scrum certification (e.g. certified Scrum Master or Scrum Developer) is an asset;
Familiarity with the software development lifecycle, including eliciting requirements, quality management plans, user acceptance testing, and end-user training;
Excellent business presentation and facilitation skills;
Proficiency in written and spoken English.
Terms of Reference June 2019 Page 20 of 23
VI. ORGANIZATION OF WORK
The Commission may ask for services according to the Tasks as described in section III. The Work
will be called-off directly through the issuance by the Commission of a Formal Request for Delivery
(FRD) to the Contractor.
VI.1 FRD Call-off
The Services will be initiated by the Commission in writing through a FRD.
VI.1.1 Initiating Work
Before the issuance of a FRD to the Contractor and upon receipt of a written request from the
Commission, containing elaborations and definitions as to the nature of the particular Service(s), the
Contractor shall provide, at a minimum, within one (1) week of receiving the written request, the
following information in the form of a work plan for each Service identified in the written request:
A list of staff (Software Team) who will be working under this FRD. These staff shall be a subset of the Team Roster, as described in Section V.2;
Work plan and key schedule to accomplish the Service;
Number of person-days to be allocated to the Service;
Where applicable, the cost of travel to the site based on the most economical and direct option. The Commission reserves the right, based on the information provided by the Contractor, to approve the type of airfare or to purchase a ticket as outlined in Section IV above. The DSA shall be paid in accordance with Section IV;
Place of work (on-site/off-site);
Commencement date and completion date of the Service.
After review of the work plan for each of the Service identified in the written request, and only after
acceptance by the Commission, the FRD shall be issued to the Contractor.
Each FRD shall be based on one (1) of the Tasks described in this ToR under section III and on the
approved work plan for each of the Service to be completed. The Commission will forward FRDs to
the Contractor with adequate advanced notice and containing all necessary details, expected
deliverables, and minimum requirements for satisfactory performance.
The Commission shall not be held liable for the performance of any particular Service(s) which have
been performed before the formal issuance of a FRD to the Contractor.
VI.1.2 Completion and Acceptance
At the end of a particular Service under the FRD, the Contractor shall submit to the Commission the
deliverable as stated in the respective FRD. The work will be reviewed by the Commission staff and
by the Commission management against requirements and the Commission internal working practices
and standards.
If requested by the Commission in a FRD, upon completion of the Service(s) under the FRD, the
Terms of Reference June 2019 Page 21 of 23
Contractor may be required to provide an oral presentation (including slides/handouts as required) to
the Commission at its Headquarters in Vienna.
VI.1.3 Invoicing and Payment
The work and deliverables, after being evaluated under reasonable performance criteria and accepted
as satisfactory by the Commission, will form the basis for invoicing and payment of a particular
Service performed under a FRD.
Terms of Reference June 2019 Page 22 of 23
VII. Methodology, Standards, and Technology
The Contractor shall deliver software through incremental releases according to the Agile software
development methodology (specifically Scrum). In particular, the Contractor shall follow the “Release
Early, Release Often” (RERO) software development philosophy which emphasizes the importance of
early and frequent releases in creating a tight feedback loop between developers, testers and users.
Each new delivery shall include a description of what changes were made relative to the previous
release, along with a list of files that were modified by each change.
Generally, the Commission favours the use of a small number of technologies centred around the
programming languages Java and JavaScript. The Contractor should use the same technologies unless
otherwise agreed with the Commission in the course of performing work under this Contract.
All software developed under this contract shall follow the IDC Coding Standards (which includes
recommended coding style, the required implementation of unit tests, and use of open standards and
open-source libraries where possible) and shall compile and run under the Linux operating system
family (RHEL/CentOS 7.x, or compatible). The IDC guidelines for requirements engineering shall
form the basis for eliciting and documenting requirements.
The software that the Contractor shall be working on is being maintained in the Git/GitHub version
control system and all software releases shall be delivered via this version control system.
The Commission has a change management process in place that covers reporting and tracking
software problems, as well as releasing software updates in its production environments. An
Integrated Ticketing System based on the JIRA software is used to support this change management
process. For the purpose of the project, a simplified and streamlined process will be used with
minimal overhead, as long as the reengineered software is not yet replacing part or all of the existing
production system. The Contractor personnel shall familiarize themselves with this process and follow
it when releasing software upgrades.
The Contractor shall update the respective documentation to reflect changes caused by any upgrade to
the software. All documentation shall adhere to the IDC Documentation Standards. Both standards
mentioned above will be made available to the Contractor upon request after the entry into force of
the Contract.
VII.1 Work environment
If needed, remote access to the relevant infrastructure in the PTS network should be given to the
Contractor. «Infrastructure» comprises, but is not limited to software, servers, VLANs and databases.
For on-site Services provided at the PTS headquarters in Vienna, Austria; the working language is
English, and the normal weekly working hours are forty (40), Monday to Friday. Exceptionally, there
may be a need to work overtime or on Saturdays and Sundays. The working period in a given day will
be defined on the basis of actual needs even though the usual working hours Mondays to Fridays are
between 08:00am and 06:00pm.
Terms of Reference June 2019 Page 23 of 23
VIII. Monthly Report
The Contractor shall submit a Monthly Report to the Commission, electronically via email and within
the first five (5) working days of each calendar month, describing all the activities performed during
the preceding month, including but not limited to:
Summary of technical support activities done;
Status of active technical support issues;
Status of tickets, bug reports and possible fixes;
Status and updated plan for all active development tasks.
top related