[Перевод] Софт для Boeing-737 Max писался аутсорсерами, зарабатывающими $9 в час

image

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

Недостатки софта, возможно, оставят самолеты прикованными к земле еще на один месяц — на этой неделе американские регуляторы обнаружили дополнительные проблемы. Программное обеспечение для серии 737-Max было написано во времена, когда компания Боинг увольняла опытных инженеров и оказывала давление на поставщиков.

Более того, икона американского самолетостроения и ее субподрядчики, доверяли временным работникам, зарабатывающим всего лишь $9 в час, разрабатывать и тестировать свое программное обеспечение. Зачастую, это были работники были из стран с неразвитым самолетостроением, а именно из Индии.
«Вчерашние выпускники, нанятые на работу индийской софтверной компанией HCL Technologies Ltd, занимают несколько рядов столов в офисах Boeing Field в Сиэтле (официально King County International Airport, в этом аэропорту компания Боинг имеет свой ангар и проводит испытания самолётов — прим. перев.)», говорит Марк Рабин (Mark Rabin), бывший инженер Боинга, работавший в группе тестирования самолетов серии 737-Max.

Кодеры из HCL обычно разрабатывают, согласно спецификациям, присланным из Боинг. Но, по словам Рабина «это спорное решение, так как оно гораздо менее эффективно, чем просто дать писать код инженерам Боинга». Он вспоминает, что «зачастую требовалось переделывать всё по несколько раз, поскольку код был написан неверно».

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

Согласно выводам, опубликованным в соцсетях, инженеры из HCL участвовали в разработке и тестировании ПО для PFD (Primary flight display, основной пилотажный дисплей — прим. перев.), а сотрудники другой индийской компании, Cyient Ltd., занимались ПО для контрольно-измерительных приборов, предназначенных для лётных испытаний.

Дорогостоящая задержка


В одном из постов, сотрудник HCL охарактеризовал свои рабочие обязанности таким образом: «По-быстрому сделал костыль, чтобы решить проблему на продакшене и не задерживать лётные испытания 737-Max (задержка каждого полёта обходится компании Боинг в огромную сумму)».

Компания Боинг заявляет, что не доверяла инженерам из HCL and Cyient разработку системы MCAS (Maneuvering Characteristics Augmentation System), с который связывают катастрофы рейса JT-610 Lion Air возле Джакарты в октябре 2018 и рейса ET302 Ethiopian Airlines под Аддис-Абебой в марте 2019. Также, по словам Боинга, ни одна из этих компаний не связана с проблемой, обнаруженной после катастроф — неработающей у большинства покупателей сигнальной лампой в кабине.

«Боинг имеет многолетний опыт работы с поставщиками и партнёрами по всему миру», говорит официальный представитель компании. «Наша главная цель — всегда быть уверенными в том, что наши продукты безопасны, высочайшего качества и выполнены по всем правилам».

В свою очередь, компания HCL в официальном заявлении утверждает, что «имеет крепкие и давние деловые отношения с Боинг и гордится работой, которую компания проделала для своих клиентов. Тем не менее, HCL никак не комментирует, какая именно это была работа. HCL никоим образом не связана с текущими проблемами с 737 Max».

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

Инженеры, работавшие над 737 Max, жаловались на давление со стороны менеджеров, требовавших ограничить изменения, потенциально могущие привести к дополнительным издержкам.

«Боинг делал всё возможное, всё, что вы только можете себе представить, чтобы сократить издержки, включая перенос разработки из Puget Sound (регион в штате Вашингтон, в котором находятся производственные мощности компании Боинг — прим. перев.), потому, что это обходится слишком дорого», утверждает Рик Людтке (Rick Ludtke), бывший инженер по лётным испытаниям, уволенный в 2017 году. «Это можно понять, если взглянуть на ситуацию с точки зрения бизнеса. Постепенно, с течением времени, выяснилось, что это ослабило способности инженеров из Puget Sound к проектированию».

Рабин (Mark Rabin), бывший программист, уволенный в 2015 году, вспоминает, как один из менеджеров на всеобщем собрании заявил, что компания Боинг не нуждается в сеньорах, так как их продукты уже достаточно зрелые. «Я был шокирован, что в зале, заполненном парой сотен преимущественно сеньор-инженеров, нам на полном серьезе говорят, что мы не нужны…»

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

Начиная с запущенного в 2004 году 787 Dreamliner, компания Боинг стремилась увеличить прибыль, вместо чертежей предоставляя высокоуровневые спецификации, а затем предлагая поставщикам самостоятельно прорабатывать детали. Идея заключалась в «они — эксперты, понимаете, и они позаботятся об этих вещах за нас», говорит Фрэнк МакКормик (Frank McCormick), бывший инженер по лётным испытаниям, который позднее работал консультантом для регуляторов и производителей. «Это была просто глупость».

Дополнительной причиной переноса работы за границу являются продажи. Взамен на 11-ти миллиардный контракт с Air India, подписанный в 2005 году, Боинг обязался инвестировать 1.7 млрд долларов в индийские компании. Это, конечно же, было благом для HCL, Cyient и других компаний, чьи программисты широко использовались в компьютерной индустрии, но еще не были задействованы в самолётостроении.

Rockwell Collins, производящая электронику для кабин самолётов, была одной из первых самолётостроительных компаний, передавших значительную часть своей работы в Индию, где начиная с 2000 года HCL начала тестировать их программное обеспечение. К 2010 году в HCL работало более 400 человек, занятых разработкой и тестированием ПО для Rockwell Collins, в офисах располагающихся в Ченнаи и Бангалоре.

В том же самом году, Боинг, совместно с HCL, открыл так называемый «центр передового опыта» в Ченнаи, заявив, что компании будут сотрудничать «с целью создания критически важного ПО для лётных испытаний». В 2011 Boeing добавил Cyient (в то время известный как Infotech) в список своих «поставщиков года» за проектирование, проведение испытаний и разработку ПО для моделей 787 и 747–8, осуществлёнными в другом центре в Хайдарабаде.

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

Московские ошибки


Боинг также расширил центр проектирования в Москве. В 2008 году, во время встречи с главным инженером, ответственным за Boeing-787, один из сотрудников пожаловался, что 18 раз отправил чертежи команде в Россию, прежде чем они поняли, что детекторы дыма должны быть подключены к электрической системе, рассказала Синтия Коул (Cynthia Cole), бывший инженер Боинга, возглавлявшая профсоюз инженеров с 2006 по 2010 год.

«Проектирование стало превращаться в дешевый товар», добавляет Вэнс Хильдерман (Vance Hilderman), соучредитель компании TekSci, предоставлявшей услуги инженеров-контракторов и начавшей терять заказы из-за зарубежных конкурентов в 2000-е годы.

По словам Хильдермана, инженера по безопасности с тридцатилетним опытом, в число недавних клиентов которого входят основные поставщики Боинга, американские компании, занимающиеся авионикой, за последние несколько лет перенесли более 30% разработки своего ПО за границу, в сравнении с всего лишь 10% европейских компаний.

Сильный доллар был залогом привлекательности данной модели. Инженеры в Индии зарабатывали около $5 в час, сейчас это $9 или $10, в сравнении с $35–40 для тех, кто находится в США по визе H1B, добавляет Хильдерман. Но он объясняет своим клиентам, что в реальности, дешевая цена за час равняется примерно $80, из-за необходимости контроля, и говорит, что его фирма частично возвращает заказчиков, которым нужно исправлять баги.

HCL, ранее известная как Hindustan Computers, была основана в 1976 году миллиардером Шивом Надаром (Shiv Nadar) и имеет годовой объем продаж более 8,6 миллиардов долларов. По словам вице-президента компании Сукамала Банерджи (Sukamal Banerjee), HCL — это глобальная компания с 18000 сотрудниками в США и 15000 в Европе, она имеет огромный опыт в области вычислительной техники. И выиграла заказ от Боинга именно поэтому, а вовсе не из-за цены. Он прямо утверждает: «У нас большой опыт в R&D (Research & Development, научно-исследовательские и опытно-конструкторские работы — прим. перев.)».

Тем не менее, при работе над 787, HCL выставил Боингу замечательную цену — бесплатно, согласно словам Сэма Сваро (Sam Swaro), помощника вице-президента, который предлагал услуги HCL на конференции в Сан-Диего, организованной журналом Avionics International в июне. Он сказал, что компания не брала авансовых платежей за 787 и начала выставлять счета только на основе продаж через несколько лет — «инновационная бизнес-модель», которую он предложил распространить на другие компании в отрасли.

Модель Boeing-787 была введена в эксплуатацию с опозданием на три года в 2011 и превысила бюджет на миллиарды долларов, отчасти из-за путаницы, вызванной стратегией аутсорсинга. Под руководством Денниса Муйленбурга (Dennis Muilenburg), давнего инженера Боинг, который стал генеральным директором в 2015 году, компания заявила, что планирует вернуть в свои руки большую часть работы над новейшими самолетами.

Инженерное болото


Boeing-737 Max стал лидером продаж вскоре после того, как его анонсировали в 2011 году. Но для амбициозных инженеров это было что-то вроде «болота», говорит Питер Лемм (Peter Lemme), спроектировавший автопилот для Boeing-767, ныне являющийся консультантом. Boeing-737 Max был обновлением конструкции 50-летней давности, и изменения должны были быть достаточно ограниченными, чтобы Боинг мог штамповать новые самолёты как горячие пирожки, с небольшими изменениями для сборочных линий или авиакомпаний. «Для инженера, это не самая лучшая работа», добавил Лемм.

Rockwell Collins, в настоящее время являющаяся подразделением United Technologies Corp, выиграла контракт на поставку кабинных дисплеев для 737 Max и в своей работе опиралась на инженеров HCL, работающих в Индии, в штате Айова и в Сиэтле. Пресс-секретарь United Technologies отказался прокомментировать данную ситуацию.

Инженеры-контракторы из Cyient помогали с оборудованием для лётных испытаний. Чарльз Лавджой (Charles LoveJoy), бывший сотрудник Боинга, сказал, что инженеры из США вынуждены были каждое утро в 7:30 перепроверять чертежи, сделанные в Индии ночью. «У нас были проблемы с индийской командой. Они выполняли требования, но мы могли бы сделать лучше».

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

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

Боинг также сообщил, что вскоре после начала поставок 737-Max в 2017 году, они обнаружили, что сигнальная лампа, которая могла бы предупредить экипаж о проблеме с датчиком, была неправильно настроена в ПО полётного дисплея. В майском заявлении компании Боинг, объясняющем, почему компания вовремя не проинформировала об этом регуляторов, говорится, что инженеры решили, что это не является проблемой безопасности.

«Генеральное руководство компании», — говорится в заявлении, — «не участвовало в данной проверке».

От переводчика: после прочтения статьи я перестал удивляться ситуации в своей отрасли (e-commerece). Если в промышленных гигантах, ответственных за человеческие жизни, такая неразбериха с процессами, то о чем говорить в более мелких конторах. Ну и добавлю, что Блумберг конечно передергивает (сложилось такое впечатление), так как их задача — хайп и просмотры, поэтому написанное нужно делить на два.
Сообщения об ошибках, опечатках и прочих проблемах приветствуются.

© Habrahabr.ru