NIIS Begins X-Road Core Software Development

The X-Road was originally developed by the Estonian State Information Systems Department (at the Ministry of Economy and Communications) and the first version was launched in 2001. Estonia and Finland developed the X-Road core together from 2015 until June 2018 when the development was handed over to NIIS. The handover caused changes in the locations of source code repositories and the joint development model was updated as well.

Since June 2018 NIIS has been managing the X-Road core technology and finalizing the preparations regarding the beginning of the actual development activities. The development of the X-Road core was kicked off by NIIS on 7th August when sprint 1 officially started! Now it’s a good moment to take a step back and have a look what was required to get to this point.

Building the capabilities

Building the capabilities required for taking over the ownership of the X-Road core was started in February 2018. The task may sound trivial, but it’s good to remember that we’re talking about an information system that is the backbone of nationwide e-government infrastructure in multiple countries. Therefore, there was no room for error and the handover of the X-Road core had to be completed seamlessly.

First of all, NIIS needed technical capabilities for agile software development and expertise to do the actual development work too. NIIS’s strategy was to use outsourcing, and procurement processes for acquiring these capabilities were started in March 2018. Technical capabilities included development tools and environments for agile software development. As X-Road core had been developed for years by Estonia and Finland, the tools to be used were chosen based on the previously used tools and platforms to enable the reuse of already existing utilities and resources.

Development tools and process

Once the service provider for the development tools was selected through a procurement process the actual work for setting up and configuring the required tools was started. The tools were handed over to NIIS in May 2018 and the project for transferring X-Road core development and testing environments to NIIS was started immediately. However, some tasks needed to wait until NIIS had its own development team available. At the same time the procurement for the X-Road core software development resources was proceeding as planned and the original goal to be able to start the X-Road core development in summer 2018 was coming closer and closer all the time.

 Image 1. NIIS development tools.

Image 1. NIIS development tools.

During the previous years, Estonia and Finland had developed a well defined process for running the joint development. NIIS needed to be added to the picture which meant re-thinking the process and roles and responsibilities of different parties. A bilateral process had to be changed to multilateral so that the process wouldn’t have to be changed again in case new parties were to join in at some later point. The process was updated during spring 2018 and the new updated version was published at the same time when the X-Road core source code repositories were handed over to NIIS in June 2018.

Completing the preparations

The X-Road core software development procurement was finalized in June 2018 and Gofore Plc was selected as a cooperation partner to develop the X-Road core. Now NIIS had its own development team and development tools, but the tools still required some configuration and the transfer of the development environments needed to be finalized. The environments are hosted on Amazon Web Services (AWS) cloud platform and the process for setting them up is highly automated. However, also automation scripts and templates need to be cleaned up and refactored every now and then, so the transfer did not mean just moving all the existing environments as-is, but updating, optimizing and refactoring the environments too.

 Image 2. X-Road development, testing and distribution

Image 2. X-Road development, testing and distribution

Recent years of X-Road development have shown the importance of tooling and automation in the development and testing process which is why it was decided that sprint 0 (2th July - 6th August 2018) was dedicated for the setup of tools and environments. In this way, the development of new features could be started from sprint 1.

The work ahead

During the first half of 2018 NIIS built required capabilities for taking over the X-Road core software development. The first part of the year was extremely busy and most likely the second part will be even busier as the X-Road core development has now started.

The most important backlog items for the second half of the year are support for Ubuntu 18.04 LTS operating system and native support for consuming and producing REST services. In addition, smaller backlog items will be implemented in every sprint and the backlog will be constantly prioritized by the Working Group.

Anyone can access the backlog and development board, leave comments and submit enhancement requests through the X-Road Service Desk portal. Accessing the backlog, development board and service desk requires creating an account which can be done in few seconds using the signup form.