Trygg Tunnel — tunnel management for Statens Vegvesen
Two road authorities, one shared process, and the first system giving anyone a view of the status of every tunnel in Norway.
Statens Vegvesen and Vegdirektoratet both work on tunnels and had no shared system or process for managing them. Trygg Tunnel was built to give them one — and produced something along the way that had never existed before: a single view of the status of every tunnel in the country.
Context
March 2020 to April 2022, through Sopra Steria.
Statens Vegvesen plans, builds and maintains Norway’s national and county roads. Vegdirektoratet and Statens Vegvesen work together often, and needed a common system and process for managing tunnels. The web application covers the full tunnel lifecycle — planning, carrying out safety inspections, following up faults, and maintenance.
The effect was to digitise, standardise, centralise and modernise work that had not previously been supported by a shared system. Access is role-based: a user’s roles determine the views they reach and the actions available to them.
I joined after the project was established and roughly six months into development.
Veg- og trafikkjuridisk saksbehandling
From October 2021 to April 2022, running alongside the tunnel work, a second system for the same customer: a case management application for the department handling Norwegian traffic law — appeal cases, laws, regulations and hearings under veglova and vegtrafikkloven.
The goal was to digitise and improve the department’s work. The application gave that work a defined workflow, an overview, and statistics for cases of that kind. I built it from scratch and took it through commissioning of the first deployment, verifying it from development through to production, alongside new features and bugfixes.
My role
Full-stack developer across multiple parts of the application, and responsible for its testing at every level — unit, integration, and end to end.
The end-to-end layer was my call. Working with the test lead, I built it for the business logic users depended on being able to rely on at any time. These tests exercise real user interactions, which means the frontend and backend dependencies are verified together rather than each in isolation — the failure mode being a system whose parts all pass their own tests and do not work when connected.
Unit and integration tests tell you the pieces are right. They cannot tell you the assembled thing does the job.
Between mid-August and November 2021, following a colleague’s paternity leave and the project’s move into maintenance mode, I was the only developer on it.
The team: technical project lead, in-house project lead, in-house product owner, test lead, two web designers, three developers.
Tradeoffs
End-to-end tests cost you. They can turn into a lot of work, and a lot of adjustment, if you introduce them too early — the application is still moving underneath them, and every change to it is a change to the tests.
Outcome
The work processes this replaced had not been supported by a shared system, and the two organisations had no common way of running them. Afterwards they did, in one place, with the tunnel lifecycle handled end to end.
The part with no precedent is the view it opened up. Until this existed, nobody could see the status of every tunnel in Norway at once.
Java · Spring Boot · Hibernate · TypeScript · React.js · Oracle Database · MySQL · H2 · Jenkins · CI/CD · Unit Testing · Ubuntu
Java · Spring Boot · Hibernate · TypeScript · React.js · Oracle Database · MySQL · H2 · Jenkins · CI/CD · Unit Testing · Ubuntu