Avinor AS owns and operates 44 Norwegian airports and has 2,400 employees. Avinor Flysikring AS (Avinor Air Navigation Services) is a wholly owned subsidiary of Avinor AS, and provides aerodrome control and approach control services at airports, air traffic services in Norwegian airspace, and maintenance and operation of the technical infrastructure for air navigation. Avinor ANS had an ambitious goal of creating a software tool (“Horizon”) that would enable their employees to collaboratively manage and schedule resources. Before Happy Cog started helping, Avinor ANS had developed a prototype platform, but the project had been completely paused.
We were tasked with jumpstarting the project again and building inertia towards a launch with a focus on team and tech strategy. A thorough review of the codebase was done to get the status of the existing code, and determine whether or not it was a suitable base to build on top of. Once our evaluation was complete, we were tasked with getting the codebase in a place where other developers could join the project and become effective immediately. This included documentation, bug fixing, finishing incomplete features, and setting up an entire developer operations flow for deployments and releases. Our technology stack on this project includes significant Node.js and Angular work, setting up a Kubernetes-based infrastructure orchestration system, and creating a test/wildcard nginx-based environment pipeline connected directly to the version control branch deployment process.
Enable Better Internal Collaboration
Due to several iterations of rapid prototyping over a long period of time, the Horizon platform had become a complicated and poorly documented codebase. The project had also been paused for internal reasons. There was little to no internal knowledge on the technology stack or the structure of the codebase. Happy Cog was brought in as experts to quickly get up-to-speed on the codebase and move it from an incomplete state, to a place where other developers could quickly understand how to be effective.
Move to a Comprehensive Web Application
The goal of the project was to deliver a working Node.js/Angular-based resource management tool that could allow for frequent iterative releases. There were certain internal constraints on the hosting platform, security, and how the platform should be deployed. We were able to lead on containerizing the application so it could fit into all provided security constraints and be deployed and released on a frequent basis. This was an internal tool, so the goal was to release this tool early and often for internal testing before it could be distributed across the entire company.
A Complete Development Overhaul
The Happy Cog team led on a number of fronts. First, with the initial restart of the project and providing the groundwork for other developers to build on. We helped scope out feature sets and provided detailed estimates for desired features. We developed an initial deployment setup to allow for rapid deployments as well as for dedicated on-demand feature environments. We then helped replatform the deployment process to fit with internal security requirements to a more complicated and robust development operations workflow — working closely with our Product team to prototype ideas, flesh out features, and iterate over the platform. As part of this process, we containerized the infrastructure and added orchestration through Kubernetes. We also integrated the version control branching pipeline with a custom nginx-based test/wildcard system, to dynamically create test environments for developers when they push new code. And, finally, we led and trained all developers on the project’s new workflow so that everyone could remain effective in the project.
A Successful Launch & Internal Buy-In
This ongoing project was able to successfully allow for an initial launch and has received multiple rounds of renewed internal funding for additions. We continue to work on the project and provide our expertise on the platform.
We had a great experience working together with Happy Cog on this project. Happy Cog provided the assistance we needed with a high degree of professionalism and care. We would also like to highlight the effort put in by Happy Cog employee Khaliq Gant, who went above and beyond in making sure the project would be delivered to our satisfaction through his attentive communication and focus on quality.Jan Hallvard Larsen, Head of IT & Digitalisation, Avinor ANS