Approaches for continuous delivery in regulated environments: the case of passenger-facing software in the aviation industry

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2021-10-18

Department

Major/Subject

Security and Cloud Computing

Mcode

SCI3084

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

60

Series

Abstract

This thesis investigates how continuous delivery practices have been achieved for passenger-facing software on airplanes. Previous studies have noted that the use of agile methods, in which continuous delivery is a sub-practice, is unconventional in the industry. Identifying a case of such practice, this thesis seeks to answer the following research questions: 1. How has continuous delivery been achieved for passenger-facing software on airplanes in industry projects? 2. How have certification requirements been fulfilled when implementing continuous delivery for passenger-facing software on airplanes in industry projects? A case study was conducted on two implementations of internet-connectivity portals where continuous delivery practices had been established. Data from these implementations was collected through semi-structured interviews with three key project members. The results suggest that there are two specific constraints for achieving continuous delivery in the context. The first constraint is manual acceptance testing requirements. This is addressed by reasoning about the execution context and moving code execution to less critical components. Code that cannot be moved is generalized to minimize the need to change it. The second constraint is unreliable availability of the production environments. This entails ensuring that all installations are reversible, performing canary releasing to a subset of production environments, and transmitting usage data to a reliably accessible environment for debugging. No formal certification requirements were found to be imposed on the investigated case of passenger-facing software on airplanes. Nevertheless, industry culture introduces manual acceptance testing requirements that resemble certification stages. Fulfilling these involve standard continuous delivery practices of implementing end-to- end tests to match these early in the project, but implementing such tests accurately was found to be challenging.

Detta diplomarbete undersöker hur kontinuerlig leverans av programvara för passagerare ombord flygplan har åstadkommits. Kontinuerlig leverans kan ses som ett delområde av agila utvecklingsmetoder och tidigare studier har visat att de sällan används inom flygindustrin. Som följd av detta söker detta diplomarbete svar på följande forskningsfrågor från fall där det åstadkommits: 1. Hur har kontinuerlig leverans av programvara för passagerare ombord flygplan åstadkommits i industriprojekt? 2. Hur har certifieringskrav uppfyllts för kontinuerlig leverans av programvara för passagerare ombord flygplan? En fallstudie genomfördes på två olika projekt där kontinuerlig leverans använts för internetanslutningsportaler. Data gällande projekten samlades in genom halvstrukturerade intervjuer med tre nyckelpersoner. Resultaten antyder att det finns två specifika faktorer som begränsar möjligheten av använda kontinuerlig leverans i den givna miljön. Den första är krav på manuella acceptanstest. För att minska deras inverkan analyserades exekveringsmiljön och kod flyttades bort till mindre kritiska komponenter i den mån det var möjligt. Kod som inte kunde flyttas generaliserades för att minimera behovet av att ändra den i framtiden. Den andra är oberäknelig tillgång till produktionsmiljöerna. Detta medförde krav på att alla installationer måste vara reversibla, bruk av driftsättningsstrategier där nya versioner först släpptes till ett fåtal produktionsmiljöer och system för att skicka bruksdata till ständigt tillgängliga miljöer för felsökning. Inga formella certifieringskrav omfattade den undersökta typen av programvara för passagerare ombord flygplan. Trots detta orsakar den allmänna industrikulturen krav på manuella acceptanstester som liknar certifieringssteg. För att preventivt uppfylla dessa test användes för kontinuerlig leverans typiska metoder som att tidigt implementera integrationstest som motsvarar de manuella testerna. I praktiken visade det sig emellertid besvärligt att utforma testen att exakt motsvara dem i den riktiga testmiljön.

Description

Supervisor

Fagerholm, Fabian

Thesis advisor

Kailanto, Jarkko

Keywords

continuous delivery, aviation, aerospace, do-178c, regulation

Other note

Citation