На чем экономил Boeing? Фатальные последствия дешевого программного обеспечения

ВКонтакт Facebook Google Plus Одноклассники Twitter Яндекс Livejournal Liveinternet Mail.Ru
4 Июл 2019
Остается загадкой, что лежит в основе кризиса Boeing Co и 737 Max и как именитая компания, допустила катастрофические ошибки в программном обеспечении. Поговаривают, что причина может быть в стремлении Boeing передать работу подрядчикам, с более дешевой стоимостью услуг. Об этом сообщает агентство Bloomberg.
Аутсорсинг давно стал больным вопросом для некоторых инженеров Boeing, которые, помимо боязни потери работы, говорят, что это привело к фатальным последствиям.  

Программное обеспечение Boeing 737 MAX,  было разработано в то время, когда корпорация увольняла опытных инженеров и вынуждала поставщиков сокращать расходы. В авиакомпанию приглашали инженеров с недостаточными знаниями для работы в аэрокосмической отрасли.

Отмечается, что программное обеспечение, послужившее причиной гибели двух самолетов, а также нескольким внештатным ситуациям крайне опасным для жизни всех пассажиров и экипажа, было отдано на аутсорсинг в Индию. Местные программисты работали за 9 долларов в час, что в среднем в 4 раза дешевле аналогичной работы в США.  

По словам Марка Рабина, бывшего инженера по разработке программного обеспечения Boeing, работавшего в группе летных испытаний, которая поддерживала MAX, софт писали недавние выпускники колледжа, нанятые индийским разработчиком программного обеспечения HCL Technologies Ltd.

Недавние испытания на симуляторе, проведенные Федеральным управлением гражданской авиации США, показали, что проблемы с программным обеспечением самой продаваемой модели Boeing оказались еще глубже, чем предполагалось. После того, как регулятор выявил еще одну проблему с компьютерным чипом, связанную с задержкой реагирования на чрезвычайные ситуации, акции корпорации упали еще на несколько пунктов.  

Как это было  

Известный американский авиастроитель и его субподрядчики полагались на временных работников зарабатывающих всего 9 долларов в час за разработку и тестирование программного обеспечения.  

По словам Марка Рабина, в офисах Boeing Field в Сиэтле недавние выпускники колледжа, нанятые индийским разработчиком программного обеспечения HCL Technologies Ltd., занимали несколько рядов рабочих мест.  

Кодеры из HCL обычно проектировали в соответствии со спецификациями, установленными Boeing. Тем не менее, "это было спорно, потому что это было гораздо менее эффективным, чем код написанный  Boeing-инженерами", — говорит Рабин. Он вспоминает, что "требовалось много обходных маневров и доработок, потому что этот код был не корректен". Многие правила просто игнорировались дешевыми и не очень опытными работниками.  

Привлечение к работе над самолетом индийских компаний давало Boeing и другие дивиденды, кроме прямой экономии на зарплатах.  

В последние годы Boeing получил несколько заказов на изготовление военных и коммерческих самолетов для Индии, например, на 22 миллиарда долларов в январе 2017 года на поставку SpiceJet Ltd. Этот заказ включал 100 самолетов 737 Max 8 и представлял самый большой заказ Boeing за всю историю индийской авиакомпании, в стране, где доминирует Airbus.

Основываясь на резюме, размещенном в социальных сетях, инженеры HCL помогли разработать и протестировать программное обеспечение 737 Max для отображения полетов, а сотрудники другой индийской компании Cyient Ltd. занимались программным обеспечением оборудования для летных испытаний.  

В одном посте сотрудник HCL подытожил свои обязанности со ссылкой на печально известную модель, которая начала летные испытания в январе 2016 года: "Обеспечил быстрый обходной путь для решения проблемы, из-за которой были отложены летные испытания 737 Max".  

Инженеры, которые работали на разработке 737 Max, который Boeing торопился выпустить, чтобы соответствовать конкурирующему самолету Airbus SE, жаловались на давление со стороны менеджеров, которые, при проектировании новой модели, ограничивали изменения, которые могли привести к дополнительным  затратам.    

"Boeing делал все возможное, все, что вы можете себе представить, чтобы снизить расходы, в том числе переезд из Puget Sound, потому что мы стали здесь очень дорогими", — сказал Рик Людтке, бывший инженер по управлению полетом Boeing, уволенный в 2017 году. "Все это понятно, если вы думаете только с точки зрения бизнеса".  

Рабин, бывший инженер-программист, вспоминал одного менеджера, который на общем собрании сказал, что Boeing не нужны ведущие инженеры. "Я был шокирован тем, что в комнате, где было несколько сотен, в основном, ведущих инженеров, нам говорили, что мы не нужны", — сказал Рабин, уволенный в 2015 году.  

Аутсорсинг и инжениринг

Типичный лайнер имеет миллионы деталей — и миллионы строк кода — и Boeing уже давно передал большую часть работы поставщикам, которые следуют его детальным проектам.  

Начиная с модели 787 Dreamliner, выпущенной в 2004 году, Boeing стремилась увеличить прибыль, предлагая поставщикам самостоятельно разрабатывать больше деталей. Мысль заключалась в том, что "они эксперты, понимаете, и они позаботятся обо всем этом для нас", — сказал Фрэнк МакКормик, бывший инженер-программист Boeing, который позже работал консультантом для регуляторных органов и производителей. "Это была просто чепуха".  

В обмен на заказ компании Air India в 2005 году на 11 миллиардов долларов Boeing пообещал инвестировать 1,7 миллиарда долларов в индийские компании. Это было благом для HCL и других разработчиков программного обеспечения из Индии, таких как Cyient, чьи инженеры широко использовались в индустрии компьютерных услуг.  

Rockwell Collins, которая производит электронику кабины, была одной из первых аэрокосмических компаний, которая начала значительную работу в Индии в 2000 году, когда HCL начала тестировать там программное обеспечение для компании Cedar Rapids, расположенной в штате Айова. К 2010 году в HCL работало более 400 человек в центрах проектирования, разработки и проверки для Rockwell Collins.    

В том же году Boeing открыл "центр передового опыта" с HCL, заявив, что компании будут сотрудничать "в создании программного обеспечения, необходимого для летных испытаний". В 2011 году Boeing назвал Cyient, тогда известный как Infotech, в списке своих "поставщиков года" для проектирования, анализа напряжений и разработки программного обеспечения на 787 и 747-8.  
"Инжиниринг начал становиться товаром", — сказал Вэнс Хильдерман, соучредитель компании TekSci, которая поставляла инженеров по аэрокосмическим контрактам и начала терять работу зарубежных конкурентов в начале 2000-х годов.  

Американские компании, занимающиеся авиационным радиоэлектронным оборудованием, особенно активно продвигались, перенося более 30% своих разработок программного обеспечения в оффшоры.  

Инженеры в Индии зарабатывали около 5 долларов в час; сейчас  — 9 или 10 долларов по сравнению с 35-40 долларами для тех, кто находится в США по визе H1B.  

"У нас были проблемы с командой Индии"  

HCL, когда-то известная как Hindustan Computers, была основана в 1976 году миллиардером Шивом Надаром и имеет годовой объем продаж более 8,6 миллиардов долларов. По словам Сукамала Банерджи (Sukamal Banerjee), вице-президента Sukamal Banerjee, имеющего 18 000 сотрудников в США и 15 000 в Европе, глобальная компания имеет большой опыт работы в области вычислительной техники.  

737 Max стал лидером продаж вскоре после того, как его презентовали в 2011 году. Но для амбициозных инженеров  его разработка напоминала "болото", сказал Питер Лемм, который разработал автоматизированное управление полетом 767 и теперь является консультантом. Max был обновлением 50-летней конструкции, и изменения должны были быть достаточно ограниченными, чтобы Boeing мог выпускать новые самолеты, такие как формочки для печенья, с небольшими изменениями для сборочной линии или авиакомпаний. "Для инженера это не самая лучшая работа", — говорит он.    

Контрактные инженеры из Cyient помогли протестировать оборудование для летных испытаний. Чарльз Лавджой, бывший инженер-конструктор контрольно-измерительных приборов в компании, сказал, что инженеры в США проверяли  чертежи, сделанные ночью в Индии каждое утро в 7:30. "У нас были проблемы с командой Индии", — говорит он. "Чертежи  соответствовали требованиям сами по себе, но мы могли бы сделать это лучше".  

Многочисленные расследования, в том числе расследование уголовного дела Министерством юстиции, пытаются выяснить, как и когда были приняты критические решения относительно программного обеспечения. По словам следователей, во время крушений самолетов Lion Air и Ethiopian Airlines, в результате которых погибли 346 человек, система MCAS подтолкнула самолеты к неконтролируемым погружениям из-за плохих данных с одного датчика.  

По словам Лемма, такая конструкция нарушала базовые принципы избыточности для нескольких поколений инженеров Boeing, и компания, по-видимому, никогда не проверяла, как реагирует программное обеспечение. "Это потрясающий провал", — сказал он.  

Boeing также сообщил, что вскоре после того, как в 2017 году начались поставки Max, он узнал, что сигнальная лампочка, которая могла предупредить экипажи о проблеме с датчиком, была неправильно установлена в программном обеспечении для отображения полета. В заявлении Boeing в мае, объясняющем, почему компания не проинформировала регуляторов в то время, говорится, что инженеры решили, что это не проблема безопасности. "Старшее руководство компании, — говорится в заявлении, — не участвовало в проверке".

Есть мнение...  

Перед менеджментом  Boeing возникла дилемма: создать новый самолёт этого класса или же ещё раз обновить легендарный 737. Создание полностью новой машины — это сложно, дорого и рискованно в части сроков (особенно, когда проект конкурента уже вырвался вперёд). Но и поставить новые двигатели на 737-й тоже не так просто: они банально не помещаются под крылом, ведь, как мы помним, чем больше диаметр, тем большей степени двухконтурности можно добиться, а вместе с ней и большей экономичности, и меньшей шумности.    

В итоге, было принято решение не рисковать, а заказать версию двигателя с чуть уменьшенным диаметром, приподнять переднюю стойку шасси, а сам двигатель вынести немного вперёд. Но у такого решения обнаружились побочные эффекты. Важнейший из них — изменение аэродинамики самолёта. Компенсировать эти изменения было решено программным способом. Добавив ту самую систему MCAS.  

Система получает показания с единственного датчика и его поломка может привести к тому, что она будет отклонять самолёт даже в ситуациях, в которых это не нужно. Пилоты не были проинформированы о наличии MCAS и были уверены, что управляют всё тем же, хорошо известным 737-ым. Это привело к двум похожим катастрофам, которые начались с поломки датчика и активации MCAS.

Для многих, виноватыми в случившемся оказались программисты. Стали  постить ссылки на страницы вакансий программистов Boeing в Индии. Как, мол, доверили написание критически важного кода людям, которые верят в реинкарнацию?  

Но ПО во всех случаях работало в точности так, как было задумано конструктором. Готовящееся обновление не исправляет "ошибки программистов", а меняет параметры работы системы MCAS.   Урок этой трагедии в том, что никакие программные продукты не способны компенсировать отсутствие компетенций и системного мышления. Они могут лишь повысить эффективность, но не быть заменой. Неважно, о чём речь — управлении самолётом, сетью оператора связи или государством — всегда есть соблазн сказать "Во всём виноваты программисты".

Роман Барский

Источник: "Наука и техника".

Вернуться к списку


Комментарии

Ваше имя:
Защита от автоматических сообщений:
Защита от автоматических сообщений Символы на картинке: