Прохладная история про погодный зонд, НАСА и невнимательных менеджеров

Прохладная история про погодный зонд, НАСА и невнимательных менеджеров

Золотой фонд менеджерских косяков

Помните историю о том, как из-за одной переменной космическая ракета взорвалась в воздухе после старта? На этот раз ошибки в коде не было, но результат получился тот же самый: навсегда утрачен зонд с научным оборудованием на сумму 125 миллионов долларов.

Что произошло

История начинается в 1996 году, когда в США запускали ракету-носитель Ariane-5. Она пролетела 40 секунд, у неё случился программный сбой, и ракета взорвалась в воздухе. С тех пор в НАСА стали более тщательно проверять код и тестировать его в различных условиях. 

Два года спустя НАСА запустило научный космический зонд Mars Climate Orbiter — он должен был изучать климат Марса, а заодно работать вспомогательным маяком для навигации других научных зондов. 

В течение 9 месяцев полёта всё было отлично — «Орбитер» летел к Марсу по расчётной траектории. Но при заходе на орбиту связь с зондом была потеряна, а сам он распался на куски в атмосфере и упал на планету.

Прохладная история про погодный зонд, НАСА и невнимательных менеджеров
Зонд Mars Climate Orbiter на орбите Марса, фото из Википедии. На самом деле это коллаж, хотя выглядит красиво

В чём причина

Расследование комиссии показало, что зонд должен был начать торможение перед заходом на орбиту на высоте 110 километров от поверхности Марса, но он начал тормозить только на 57 километрах. Из-за этого зонд вошёл в атмосферу планеты со слишком высокой скоростью и разрушился от перегрузок. 

Когда комиссия стала искать причины, которые вызвали такое позднее торможение, то сначала все подумали про ошибки в коде — после инцидента с Ariane-5 это была очевидная мысль. Но в коде всё было идеально — ни один модуль управления не выдал ошибку после сотни тестов.

Оказалось, что дело не в коде, а в разных системах измерения. Команда-подрядчик, которая писала софт для модуля управления, использовала в формулах и расчётах метрическую систему, а командный центр в НАСА — английскую (там где футы, дюймы, мили, фунты). Когда настало время корректировки скорости и высоты для выхода на орбиту, зонд ожидал данные в метрах и ньютонах, а получил в футах и фунт-силах. Программисты и менеджеры не согласовали с НАСА стандарты разработки и не проверили, какие именно данные и в каком виде будет получать конкретный модуль. 

В итоге вместо 110 000 метров зонд получил от НАСА 360 892 фута. Бортовой компьютер подумал, что лететь ещё долго, и не стал снижать скорость. В итоге зонд снизился на критическую высоту и не выдержал перегрузок. 

Сейчас в мире используются две основные системы измерения: международная и английская.

Международной (метрической) системой СИ пользуются почти все страны мира, в том числе и мы с вами. Это значит, что мы измеряем вес в килограммах, силу — в ньютонах, расстояние — в метрах и так далее. Она была разработана как раз для того, чтобы учёные и инженеры из разных стран могли общаться на одном языке, читать и понимать научную документацию друг друга и делиться опытом.

Английская (она же британская имперская) система мер используется только в Великобритании, США, Либерии, Мьянме и немного в Канаде. Вместо метров и сантиметров там футы и дюймы, вместо килограмма — фунты, унции и граны, а вместо литров — галлоны. И так во всём, от измерения давления до температуры. Английская система не лучше и не хуже международной, она просто другая.

Что в итоге

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

В итоге с 2007 года НАСА использует метрическую систему измерений. Вот так невнимательность менеджеров и программистов поменяла стандарт в космической отрасли целой страны.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Любите математику? Это для вас
Попробуйте бесплатный тренажер «Основы математики для цифровых профессий». Это все необходимые знания, чтобы закрыть пробелы в математике для айтишника.
Попробовать бесплатно
Любите математику? Это для вас Любите математику? Это для вас Любите математику? Это для вас Любите математику? Это для вас
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Магический квадрат, который знает о вас больше, чем нужно
Магический квадрат, который знает о вас больше, чем нужно

Даже числа, которые вы выбираете сами

medium
Давид Ян
Давид Ян о системе, которая предскажет ваше увольнение

Большой разговор в подкасте «Запуск завтра».

medium
Как устроена сотовая связь
Как устроена сотовая связь

Конспект подкаста «Запуск завтра»

easy
Оптимизация кода
Оптимизация кода

Какая бывает и зачем нужна.

easy
JavaScript для новичков: чем опасны нестрогие типы данных
JavaScript для новичков: чем опасны нестрогие типы данных

В JavaScript есть удобная штука, которая может сильно вам навредить.

medium
Мальчик заливает на FTP, мужчина поднимает Git

Зачем нужен контроль версий и что делать, если ваши друзья его используют.

hard
Как работает бесконтактная оплата картой
Как работает бесконтактная оплата картой

Сложнее, чем кажется

easy
Facebook хранил наши пароли в виде текста. Что это значит?
Facebook хранил наши пароли в виде текста. Что это значит?

Тут такое!

easy
Как стать фронтенд-разработчиком
116 тысяч рублей в месяц — средняя зарплата для фронтенда. Как им стать

Простая инструкция для начинающих.

easy
Что такое менеджер пакетов в программировании
Что такое менеджер пакетов в программировании

Система, которая наводит порядок в ваших библиотеках

easy
easy