Taking off: Implementing “Agile” in aviation

4/29/2016, written by Amneet Jhiete

Categories: Agility, Aviation

In a high-risk aviation industry, we tackle the complex requirements in a project through agile practices, prioritizing tasks and blending technical as well as functional expertise.

German version below.

agilityEstimated at $556bni, the aviation industry is run by a vast ocean of products and services that work together seamlessly to make sure flights take-off and land on time, the passengers are safe and entertained, and the overall business is profitable. Multiple systems interact with each other and exchange data almost every second. With the number of airline passengers growing at a rate of approximately 6% per annumii, have the major players learned to adapt to the rapidly growing demands of their customers?

Finding solutions in Agile

Traditionally considered a stable industry, the aviation sector has well-established practices and highly experienced personnel to manage workflows around a complex web of information. However, with several years of experience of enabling high-end technology in this industry, we have seen that when it comes to technology up gradation, these established practices, and well-set ways can also pose challenges.

This is where agile provides solutions.

Typical challenges in aviation projects Agile solutions

Complicated requirements

Projects tend to have a complex web of information wherein a seemingly simple use case of viewing a flight list might involve integration to multiple systems at the back end. Here agile’s basic principle of breaking down complex work into small work streams or stories is critical as the team gets a chance to brainstorm the requirements and drill down the complexity.

Understanding integration points and breaking the requirement into simpler chunks brings more clarity to the use case.

Multi-location teams

Teams are usually distributed in separate locations and building trust among different stakeholders is critical to the project’s success. Agile helps in overcoming negative perceptions and building trust by keeping transparency in terms of the work, queries and responses.

Documenting and sharing user stories with everyone through agile boards, and clearly assigning tasks fosters trust amongst all stakeholders.

High-risk domain

Even a minor error or omission in the testing phase can prove to be catastrophic in this domain. For e.g. a change in the units of fuel ordered can lead to a mid-air fuel shortage. Agile helps in mitigating such risks by dispersing them into various work packets.

Testing at the end of each sprint ensures that the risk is eliminated one by one in small chunks. In the last ‘hardening’ sprint of the project, testing ensures everything is working coherently.

Lack of skilled personnel

Finding a blend of technical as well as aviation expertise in project personnel is always a challenge. Usually, aviation experts have been working in the sector for years and are often not exposed to the technical aspects of their day to day work. Since a project run in agile has a well-defined scope, each team member can adorn multiple hats and offer support to their colleagues. For e.g. a technical architect can sometimes aid the team in improving their functional know-how. Support from him can come in the form of information as well as taking up technical tasks from the unassigned pool of stories.

Having a defined project scope gives all team members a better view of additional areas of responsibility they can take up during the course of project implementation.

Agile approach: One “sprint” at a time

A good example of how agile works best in aviation is our work in the development of a flight planning system for a leading airline. The legacy application had been running for the past 20 years, with 60+ loyal customers, and a market share of approximately 35%. In Europe alone, more than 45% of the airlines consume the services of this flight planning and tracking system. Upgrading a system of this scale and complexity, all the while ensuring business continuity for existing customers requires a high degree of flexibility, co-ordination, speed, and accuracy.

We set about planning this project with the goal of maximizing asset utilization, improving customer experience and cost efficiency. Following the agile approach, the mammoth program was broken down into approximately 16 sub-projects or streams. The drivers that led to the final breakdown of the project into these streams are listed below.

  • - Business objectives: Each stream needed to fulfill a different business objective driven by customer needs. With the delivery of each stream, one objective (out of the overall list of objectives) was accomplished.

  • - Priority: The streams were prioritized according to business initiatives and strategic decisions. At the end of each sprint, a shippable product was to be delivered, thus enabling the customer to inch closer to their goal and measure every step. The priority of each stream was decided based on various other factors such as clarity in requirements, availability of personnel etc. Each project was being handled by a separate agile team. The value could be delivered iteratively, thus ensuring customer confidence. For instance, in order to bring about change, without impacting the current functioning, backend technical services were the first ones to be picked up for up-gradation.

  • - Plug-out and Plug-In: Each stream was easy to ‘plug out’ and ‘plug in’ since an independent workable solution was developed as part of each stream. Separate functionalities like crew briefing, flight planning, airport suitability check were taken as separate work streams. This enabled us to make changes to the existing application, by replacing existing modules iteratively. It also helped minimize the risk of application failure and made roll back easy. Changes were made in small releases instead of leapfrogging to change to the entire system at once.

Additionally, two other factors were considered essential while implementing agile in this project.

  • - Constant Inspection: Monitoring the progress of smaller chunks was easier than handling the metrics for a very large project. Constant inspection and adapting to situations where required, ensured that a quality product was being delivered.

  • - Controlled budget: Since budget is always one of the top concerns in an IT project, iterative development helped in keeping a check on the cost involved in the project. By tracking the expenditure, the budget for future projects could be better planned.

Our experience in the aviation industry has reinforced our belief that any project, however, large in scope or complex in its implementation, can be handled well when armed with the right set of agile tools and expertise. On its part, the aviation sector is increasingly adopting the agile way as it embraces new age technologies like mobile, beacons, and wearables. With almost one-third of the IT spend in aviation going towards innovationiii, there is no doubt that agile methodologies will very soon entrench themselves in the aviation world and become one its established practices.

German version

Taking off: Implementierung von “Agile” in der Luftfahrt

Die Luftfahrt Industrie macht einen geschätzten Umsatz von $ 556 Milliardeni und betreibt eine große Anzahl an Produkten und Dienstleistungen, die zusammenarbeiten, damit Flüge zur richtigen Zeit starten und landen, die Passagiere sich sicher fühlen können und unterhalten werden. Im Großen und Ganzen betrachtet, ist dies ein profitables Geschäft. Mehrere Systeme interagieren miteinander und tauschen fast im Sekundentakt Daten aus. Die Anzahl an Passagieren wächst pro Jahr um etwa 6%ii. Nun stellt sich die Frage, ob die Hauptakteure gelernt haben, sich an die steigenden Anforderungen ihrer Kunden anzupassen.

Finden von agilen Lösungen

Traditionell wird die Luftfahrt als eine stabile Industrie angesehen, die über gut etablierte Praktiken und sehr erfahrenes Personal verfügt, welches Arbeitsabläufe in einem komplexen Netzwerk von Informationen handhaben kann. Jedoch haben wir im Laufe unserer langjährigen Erfahrung bei der Bereitstellung von High-End Technologien in dieser Industrie gesehen, dass im Zuge der Technologiemodernisierung diese etablierten Praktiken und eingeübten Arbeitsweisen auch eine Herausforderung darstellen können.

Unsere Erfahrung mit der Entwicklung eines Flugplanungssystems für eine führende Luftfahrgesellschaft ist ein gutes Beispiel dafür. Deren Legacy Anwendung ist in den vergangenen 25 Jahren bei über 35% aller Fluggesellschaften und mit einem Marktanteil von etwa 35% im Einsatz. Allein in Europa setzen über 45% aller Fluglinien die Dienstleistungen dieses System zur Planung und zum Tracking von Flügen ein. Die Aufrüstung eines Systems, von einer derartigen Größe und Komplexität, unter Beibehaltung des kontinuierlichen Geschäftsbetriebs für die bestehende Kundschaft erfordert ein hohes Maß an Flexibilität, Koordination, Geschwindigkeit und Genauigkeit.

Hier bietet Agile die Lösungen.

Typische Anforderungen an ein Projekt in der Luftfahrt Agile Lösungen

Komplizierte Anforderungen

Die Projekte tendieren dazu, über ein komplexes Netzwerk an Informationen zu verfügen, in dem die scheinbar einfache Aufgabe, eine Liste von Flügen darzustellen, die Integration multipler Systeme im Backend erfordert. Hier ist das grundlegende Prinzip von Agile: „Komplexe Arbeiten in kleine Arbeitsflüsse oder „Stories“ aufzubrechen“ von kritischer Bedeutung. Damit wird es dem Team ermöglicht, Brainstormings in Bezug auf die Anforderungen und ein Drill-Down der Komplexität durchzuführen.

Das Erkennen und Verstehen von Integrationspunkten und das Aufbrechen der Anforderungen in kleinere Teile schafft mehr Klarheit bezüglich der Use Cases.

Teams an unterschiedlichen Standorten

Die Teams sind normalerweise auf verschiedene Standorte verteilt. Das Vertrauen zwischen den verschiedenen Stakeholdern ist für den Erfolg des Projekts entscheidend. Agile hilft dabei, negative Wahrnehmungen zu überwinden und Vertrauen durch Transparenz in Bezug auf die Arbeit, Anfragen und Antworten zu schaffen.

Die Dokumentation und das Teilen von User Stories durch agile Boards und eine klare Aufgabenzuteilung fördert das Vertrauen zwischen allen Stakeholdern.

High-Risk Domain

Selbst ein kleiner Fehler oder ein Versäumnis in der Testphase kann sich in dieser Domäne katastrophal auswirken. Zum Beispiel kann eine Änderung bei den Mengeneinheiten an bestelltem Treibstoff zur Knappheit während des Fluges führen. Agile hilft durch Verteilung in verschiedene Arbeitspakete dabei, solche Risiken zu minimieren.

Das Testen am Ende eines jeden Sprints stellt sicher, dass ein Risiko nach dem anderen in kleinen Einheiten eliminiert wird. Im letzten Sprint, dem sogenannten „Hardening Sprint“, wird sichergestellt, dass alle Teile schlüssig zusammenpassen.

Mangel an Fachpersonal

Projektpersonal mit technischem Fachwissen und Erfahrung in der Luftfahrtindustrie zu finden, ist immer eine Herausforderung. Normalerweise arbeiten Luftfahrt-Experten seit Jahren in dieser Branche , ohne den technischen Aspekten ihrer täglichen Arbeit ausgesetzt zu werden. Da ein agiles Projekt einen klar definierten Umfang hat, kann jedes Teammitglied verschiedene Rollen einnehmen und seine Kollegen unterstützen. So kann beispielsweise ein Technical Architect das funktionale Know-how des Projektteams ergänzen. Seine Unterstützung kann in Form von Information oder durch die Übernahme einer noch nicht zugeteilten technischen Aufgabe geleistet werden.

Ein definiertes Projektziel bietet allen Teammitgliedern einen besseren Überblick über ihre Verantwortungsbereiche, im Laufe der Implementierung eines Projekts.

Die agile Vorgehensweise: Ein Sprint nach dem anderen

Basierend auf unseren Erfahrungen in der Luftfahrtindustrie, setzten wir uns das Ziel, die Nutzung von Ressourcen und die Kundenerfahrung zu optimieren und einen effizienten Kostenumgang zu garantieren.

Dem agilen Ansatz folgend, haben wir das Projekt in ungefähr 16 Unterprojekte (Streams) aufgeteilt. Die entscheidenden Gesichtspunkte für die endgültige Aufteilung des Projekts in diese Streams werden nachfolgend aufgelistet.

  • - Geschäftliche Ziele: Jeder Stream verfolgt ein Geschäftsziel zur Erfüllung von Kundenanforderungen und erfüllt eines von einer Liste an Gesamtzielen. Zum Beispiel, erstellt ein Stream eine Liste aller für diesen Flug geeigneten Flughäfen, während ein anderer Stream sicherstellt, dass die Crew alle benötigten Daten vor dem Flug zur Verfügung hat.

  • - Priorität: Die Streams wurden nach Geschäftsinitiativen und strategischen Entscheidungen priorisiert. Am Ende eines jeden Sprints wurde ein lieferfähiges Produkt bereitgestellt, welches es dem Kunden ermöglicht, näher an das Ziel heranzurücken und jeden Schritt zu bewerten. Die Priorisierung jedes Streams basierte auf verschiedenen Faktoren, wie z.B. der Verständlichkeit der Anforderungen, der Personalverfügbarkeit usw. Jedes Projekt wurde durch ein separates agiles Team abgewickelt. Die Leistung wurde iterativ geliefert, um Kundenvertrauen zu gewährleisten. Um beispielsweise Veränderungen durchzuführen, ohne die bestehende Funktionalität zu beeinträchtigen, wurden die technischen Backend Systemdienste zuerst aufgewertet.

  • - Plug-out und Plug-In: Jeder Stream konnte leicht aktiviert und deaktiviert werden, da für jeden Stream eine unabhängige funktionelle Lösung entwickelt wurde. Separate Funktionalitäten, wie z.B. Crew Briefing, Flugplanung, Eignungsüberprüfung von Flughäfen wurden als separate Streams abgewickelt. Dies ermöglichte es uns, Änderungen an der bestehenden Anwendung durch den schrittweisen Ersatz bestehender Module vorzunehmen. Die leichte Rückführbarkeit im Fall einer fehlerhaften Anwendung führte außerdem zu Risikominimierung. Veränderungen erfolgten in kleinen Schritten, anstelle von großen Änderungen im Gesamtsystem.

Darüber hinaus waren zwei weitere Faktoren bei der agilen Implementierung dieses Projekts entscheidend.

  • - Konstante Überprüfung: Die Kontrolle des erzielten Fortschritts ist bei kleinen Unterprojekten einfacher, als der Umgang mit Metriken eines sehr großen Projekts. Konstante Überprüfungen und die dadurch notwendigen Anpassungen stellten sicher, dass ein Qualitätsprodukt bereitgestellt wurde.

  • - Budgetkontrolle: Da das Budget in IT-Projekten immer von herausragender Bedeutung ist, half die schrittweise Entwicklung dabei, die Kosten für das Projekt unter Kontrolle zu halten. Durch die Verfolgung der Ausgaben konnten die Budgets für nachfolgende Projekte besser geplant werden.

Unsere Erfahrung in der Luftfahrtindustrie hat uns in unserer Überzeugung bestärkt, dass jedes Projekt, unabhängig von dessen Leistungsumfang oder Implementierungskomplexität, erfolgreich abgewickelt werden kann, solang die geeigneten agilen Werkzeuge und das notwendige Fachwissen zum Einsatz kommen. Der Luftfahrtsektor seinerseits verwendet zunehmend agile Vorgehensweisen beim Einsatz neuerster Technologien, wie Mobile, Beacons und Wearables. Da fast ein Drittel der IT-Ausgaben in der Luftfahrtindustrie für Innovationen aufgewendet wirdiii, besteht kein Zweifel daran, dass agile Methoden schon sehr bald zu den etablierten Praktiken im Bereich der Luftfahrt zählen werden.




Success Story

Success Story