The Client

KLM was established on October 7th, 1919, making it the world’s oldest airline still operating under its original name. Operating out of its home base in Amsterdam, the KLM Group serves its global network with a fleet of 214 aircraft in 2019, employing 33,000 people. In May 2004, Air France and KLM joined forces and is today the largest European airline group: 1 group, 2 airlines, and 3 businesses. Each airline has retained its individual identity, trade name, and brand. The 3 core businesses are Passenger Business, Cargo, and Engineering & Maintenance.

In 2014, Pieter Elbers became the CEO of KLM. A new ambition was formulated: to become the most customer-centric, innovative, and efficient European network carrier. A number of programs were initiated to help realize that ambition, including Digital Transformation. The Digital Transformation department was born, which was rebranded to Digital Studio starting 2020. “The key focus areas for Digital Studio is to become a more professional Scrum organization. [...] The goal is to build awesome products and delight employees thus making their life at work easier” said Nana Abban, Agile Coach, Akaditi. Digital Studio has become an icon in the KLM and Amsterdam Airport Schiphol Landscape. KLM is undergoing some experimentation in areas including Virtual Reality Training for fighting fires, introducing new crew members, and more. They are also experimenting with blockchain, Augmented Reality, Artificial Intelligence, and introducing other new technologies as well. Scrum Studio helped to guide them in doing so and they plan to continue using this model.

The Project

Project MyRoster is an innovative and digital way of giving the KLM ground staff the ability to check their roster anywhere and anytime. With 5,000+ users, this hybrid app provides real-time data about their day-/night shifts. KLM employees are also able to share their rosters with each other. In this way, they can look faster for colleagues to swap shifts or find carpool buddies. Next to sharing, requesting paid leave is possible too. To request leave, the user submits a form which is already pre-filled with data like shift start- and end times, and the employee’s manager. The app can be accessed via the web, or installed on iOS devices from KLM’s internal app store.

The performance of the MyRoster iOS app, especially on older devices like iPad Mini’s, is very bad. The app is originally built using Ionic/Cordova which old devices cannot handle without lagging tremendously. The code quality is bad, with no (automated) tests written, and many intermittent bugs. This keeps the velocity low and delays releasing new features. The app requires a temporary security exception. The business wants to step away from this security exception, which means the authorization flow needs to be changed to be compliant with KLM guidelines. New functionality is required on a weekly basis by stakeholders. MyRoster is still in the experimental phase.

Technologies

  • TypeScript, JavaScript, GraphQL
  • Angular, Express
  • Jest, Karma/Jasmine
  • Atlassian Stack, SonarQube
  • Agile/Scrum

Many issues of the app could only be fixed by completely refactoring and rebuilding the app from scratch. To achieve this, a new architecture was designed by the development team complying with the KLM guidelines. Instead of building a hybrid Web/iOS app on the Ionic/Cordova platform, Sytac recommended developing a Progressive Web App (PWA). This had all of the advantages of the hybrid app, like caching and full-screen support, but also additional benefits like faster performance, easier deployments, and Bring Your Own Device support.

While rebuilding the app, Sytac chose to add another layer between frontend and backend: a dedicated Backend For Frontend (BFF). This layer consumed data from various back-end services and provided a GraphQL API to be consumed by the frontend. The BFF layer was built using TypeScript, NodeJS, Apollo Server, and had automated functional tests.

Results

Rik was on my team for a year but the amount of work he has done exceeds that year by far. He quickly picked up what was needed and above that improved on most, if not all, of the work he picked up. Rik is not only knowledgeable and meticulous but manages to improve methods and introduce tooling beneficial to the whole team. To top it off, Rik is a really nice person to work with and I can highly recommend him to be part of your team.

  • Grew to more than 5,000 active users within KLM using MyRoster
  • Usable by 15,000 Ground Staff of KLM (roughly ½ of all KLM employees)
  • Much better load times by refactoring the app (from 15 seconds down to 3 seconds)
  • Participated in KLM Demo Festival (& Demo Festival XL)
  • More than 1,000 reactions with feedback from a survey across users in March 2020
  • Over 750 personalized feature requests.
  • Nominated for the KLM Innovation Award together with two other teams