Indonesiassa lokakuussa vuonna 2018 ja Etiopiassa maaliskuussa 2019 sattuneissa Boeing 737 MAX -lentokoneiden maahansyöksyissä kuoli yhteensä 346 ihmistä. Onnettomuuksien jälkeen kaikki kyseisen konetyypin koneet joutuivat käyttökieltoon ja useat valtiot kielsivät koneella lentämisen omassa ilmatilassaan.
Tässä kirjoituksessa paneudutaan Boeing 737 MAX -koneen tapaukseen ja pohditaan, mitä lento-onnettomuuksien syiden selvityksistä voidaan oppia. En tarkemmin ruodi lentämiseen vaikuttavia teknisiä yksityiskohtia, koska en ole mikään lentämisen ja lentokoneiden asiantuntija. Tiedot on koottu erinäisistä avoimista lähteistä.
737 on vanha lentokonemalli, jonka ensimmäinen versio esiteltiin jo vuonna 1967. Se on kaikkien aikojen myydyin kaupalliseen käyttöön tarkoitettu lentokone. On väitetty, että 737-malleja olisi koko ajan ilmassa ympäri maapallon yli 1000 konetta. Mallista on tehty neljä sukupolvea, joista viimeisin on MAX.
Yhden anturin varassa
Konetyyppiin asennettu MCAS-järjestelmä tarkkailee anturin avulla lentokoneen kohtauskulmaa (AoA), eli siiven ja ilmavirran suunnan välistä suhdetta. MCAS pyrkii raja-arvon ylittyessä laskemaan koneen nokkaa muuttamalla korkeusvakaajan asentoa. MCAS-järjestelmä luotiin, koska tässä mallissa on aiempaa tehokkaammat ja fyysisesti suuremmat moottorit, jotka sijoitettiin aiempaa edemmäksi. Tämän takia koneen ominaisuudet muuttuivat. Boeing ei liittänyt tietoa MCAS-ominaisuudesta koneen käsikirjaan, koska sen piti olla täysin huomaamaton.
MCAS-järjestelmä sai tietoa vain yhdestä anturista, vaikka koneessa on niitä kaksi kappaletta. Tämä on tietenkin vastoin ilmailualan hyviä käytäntöjä, koska jos vain yksi anturi on käytössä ja se on vikaantunut, niin järjestelmä saa koko ajan virheellistä tietoa, josta seuraa virheellisiä tulkintoja ja päätöksiä. Boeing 737 MAX-mallin kehityksen aikana päätettiin, että MCAS-järjestelmä ei ole turvallisuuskriittinen.
Aiemmissa 737-malleissa kaikkien elektronisten järjestelmien ohjaus katkesi, kun lentäjä tarttui ohjaimiin ja veti ne taakse, eli nosti koneen nokkaa ylös. MAX-mallissa MCAS ohitti pilotin ohjausyritykset. Järjestelmän määrittelyissä oli kirjattu, että kohtaamiskulman (AoA) varoituksen pitäisi toimia kiistatilanteissa, mutta tämä määritelty toiminta ei ohjelmistovirheen takia toiminut. Tämä ongelma oli havaittu ja tiedostettu, mutta päätetiin korjata vasta seuraavassa ohjelmistopäivityksessä, koska MCAS ei ollut turvallisuuskriittinen.
Viranomaisvalvonta petti omavalvonnan ohella
Boeing ei halunnut tehdä 737 MAX -konetyypille uudelleenhyväksyntää, koska se olisi tarkoittanut lisää kustannuksia lentoyhtiöille ja vaikeuttaisi kilpailua Airbusia vastaan. Tarkoituksena siis oli, että 737 MAX säilyttää yhteisen tyyppikelpuutuksen muiden 737-mallien kanssa, jotta samat miehistöt voivat lyhyen koulutuksen jälkeen lentää eri malleja tarpeen mukaan.
Ilmailuviranomainen FAA ei puuttunut tähän ajoissa, vaan luotti sokeasti Boeingin omaan valvontaan. Vastaavasti Boeingin johto panosti tekemään konetyypin lentoturvallisuuteen liittyvät testit ja arvioinnit mahdollisimman nopeasti ja pienin kustannuksin.
Tutkijat ovat tulleet tulokseen, että koneen yhden anturin antaman tiedon avulla toimiva MCAS-järjestelmä aiheutti Etiopian ja Indonesian onnettomuudet ja 346 ihmisen kuoleman. Koneiden putoamisten arvellaan johtuneen koneen syöksymisestä, kun järjestelmä sai ainoalta olemassa olevalta anturilta väärää tietoa ja lentäjät eivät saaneet konetta enää haltuunsa.
Alihankintaa ja halvempia hintoja laadun kustannuksella
Boeing aloitti isomman ohjelmiston alihankinnan 787 Dreamliner -mallin kehityksen aikana. Kannattavuutta koitettiin parantaa sillä, että alihankkijoille tarjottiin vain korkean tason määrittelyt ja loput jätettiin alihankkijoiden pääteltäväksi ja suunniteltavaksi. Yhdysvaltalaiset lentokonevalmistajat ovat siirtäneet nopeaan tahtiin alihankintaan yli 30% koko ohjelmistokehityksestään. Eurooppalaisilla lentokonevalmistajilla vastaava luku on 10%.
Konetyypin kehityksen aikana Boeing irtisanoi Yhdysvalloissa kokeneita asiantuntijoitaan ja pakotti toimittajiaan laskemaan hintojaan. MAX-mallin ongelmien selvittelyssä kävi ilmi, että ohjelmistokehitystä tehtiin yhä enenevissä määrin Intiassa. Ohjelmistokehitys intialaisen toimittajan ja Boeingin välillä oli eräänlainen spiraalimalli: intialaiset kirjoittivat koodia Boeingin korkean tason määrittelyiden mukaisesti ja lähettivät koodin Yhdysvaltoihin, josta saatiin kommentteja ja sitten taas korjattiin sekä kehitettiin lisää.
Erään konsultin mukaan Intian halpa tuntihinta ei tarkoittanut halpaa loppuhintaa, laadusta puhumattakaan. Kaikki USA:ssa tapahtuva valvonta ja tuki mukaanluettuna työtunnin oikeaksi hinnaksi taisi muodostua 80 dollaria, kun intialaisen ohjelmistosuunnittelijan palkka oli 9 dollaria tunnilta. Lisäksi intialaisille oli tärkeää tehdä työtä määrittelyiden mukaisesti, mutta ei mitään muuta ylimääräistä työtä ei tehty, mikä vaikutti varmasti testauksen ja virheidenkäsittelyn tasoon.
Lopulta 787 myöhästyi suunnitellusta julkaisusta kolme vuotta ja kustannukset nousivat tuhansia miljoonia dollareita yli budjetoidun.
Lentokiellon alkaessa Boeingilla oli yli 4500 toimittamatonta tilausta, mutta lentokiellon jälkeen ei ole tullut uusia tilauksia moneen kuukauteen. Yhden MAX-koneen hinta on noin 120 miljoonaa dollaria, eli kyseessä ovat isot rahat. Boeing teki huhti–kesäkuussa noin kolmen miljardin dollarin nettotappion.
Lentoyhtiöillä, joiden koneet nyt seisovat toimettomina, on vireillä 4900 miljoonan dollarin korvausvaatimus. Yksi venäläisyhtiö haluaa perua 35 koneen tilauksensa ja haluaa takaisin maksamansa käsirahan sekä vahingonkorvauksia menetetystä tulosta yhteensä 115 miljoonaa dollaria. Lisäksi Boeing on perustanut rahaston lentoturmien uhrien omaisille.
Mitä voimme ottaa opiksi?
Ohjelmistokehitys (määrittely, suunnittelu, toteutus, laadunvarmistus ja testaus) ei ole helppoa millään toimialalla. Kiusaus oikoa prosessia, ohjeita, määräyksiä ja hyviä käytäntöjä kasvaa, jos yrityksen johto painostaa tekemään asioita nopeammin ja halvemmalla suurempien voittomarginaalien toivossa. Lopputulos voi olla hinnankin suhteen päinvastainen ja pahimmassa tapauksessa edessä on tilanne, jossa suuronnettomuuden esteenä on vain yksi vaivainen anturi. Toki Boeingin tapauksessa edellä mainittujen ongelmien lisäksi myös viranomaisvalvonta petti.
Autoissa olevat ohjelmistoratkaisut ovat lisääntyneet huimasti ja tulevaisuuden visiona ovat kulkuneuvot, joissa ei lainkaan tarvita ihmiskuljettajaa. AlixPartners:n mukaan autojen elektroniikassa ja ohjelmistoissa havaitut virheet ovat kuitenkin kasvaneet 30% vuosittain vuosien 2012 ja 2016 välillä. Eli kirjoitetun koodin ja erilaisten uusien tietoteknisten ominaisuuksien määrän kasvaessa myös virhemarginaali on kasvanut. Vaikka vauhti halutaan pitää kovana, turvallisuuskriittisten kohtien kanssa tulisi kuitenkin olla tarkkana, koska lopputulos voi olla pahimmillaan kaamea.