Финансы BinaryDistrict Russia
2 065

Ошибка на миллионы: как компании теряли деньги на недочетах в ПО

Высокие фразы про то, что «один недочет обойдется в круглую сумму» на самом деле очень даже приземленные. На курсе Project Management in IT мы рассказываем, как обеспечивать качество проекта.

В закладки

Одна ошибка в коде или невнимательность при тестировании может привести к провалу продукта и потере денег — иногда огромных. О том, во сколько обходились ошибки компаниям, — в сегодняшней подборке.

Баг, ты просто космос

1962 год. Разгар космической гонки. НАСА жаждет отправить корабль Маринер-1 к Венере раньше своего соперника. Но все помнят известную поговорку про спешку. Стремление запустить аппарат как можно раньше и сложность исполняемых кодов привели к ошибке в ПО и взрыву ракеты на 293 секунде после запуска.

Существует несколько версий того, почему это произошло, но все варианты сводятся к одному — в исходном коде не было нужного символа. Долго позицию лидера держал пропущенный дефис, который New York Times назвала «самым дорогим дефисом в истории». Другие считают, что при написании программы бортового компьютера перепутали точку и запятую.

Цена ошибки: 135 млн долларов

ПО тоже может ошибаться

В 1994 году произошел другой курьез. Процессоры Pentium компании Intel не могли правильно поделить числа с плавающей запятой. Например, деление 4195835,0/3145727,0 выдавало 1,33374 вместо 1,33382. Обычным пользователям такая проблема непонятна, но для тех, кто делает сложные расчеты, это критично. Ошибка в таблице поиска приводила к пропуску примерно пяти из каждой тысячи показателей.

В Intel об этом знали, но из-за небольшого количества пользователей, которым это могло навредить, они решили умолчать о проблеме. Новости разносятся быстро — в компанию стали поступать звонки с жалобами. Тогда Intel предложила бесплатно заменить процессор, если пользователь сможет доказать, что функция деления чисел с плавающей запятой ему действительно необходима, но в итоге пришлось заменять чипы во всех процессорах.

Цена ошибки: 475 млн долларов

Как потратить миллион

Как мастерски потратить большую сумму денег, знает брокерская компания Knight Capital. В 2012 году она ошибочно начала скупать акции Нью-Йоркской фондовой биржи на сумму больше своей выручки. А информация об ошибке привела к падению акций компании.

Проблема крылась в установке программы биржевых торгов Knight. Это привело к запуску ошибочных сделок — программа отображала некорректные цены на акции 150 компаний. На протяжении двух дней незапланированные операции «расползлись» по NYSE. Но клиенты Knight Capital не пострадали: весь удар принял на себя бюджет компании.

Цена ошибки: 440 млн долларов

Зомби-эстафета

В 2005 году зомби захватили World of Warcraft компании Blizzard. В народе это прозвали «кровавым вирусом». Разработчики представили нового героя — Хаккара, который атаковал игроков мощным заклинанием «Зараженная кровь». Эффект заклинания распространялся как вирус и превращал персонажей в зомби. А как работает история с зомби, знакомо многим: заразился сам — зарази соседа. Предполагалось, что эффект будет действовать на ограниченной территории. Но разработчики не учли, что инфицированные персонажи смогут разнести вирус за пределы локации.

Игроки разделились на два лагеря: кому-то эта забава нравилась, так как управлять героем-зомби было весело. Но новичкам повезло меньше — их герои быстро гибли. Вымирали целые игровые города. Участие в игре платное, а это потеря денег пользователя. В итоге разработчикам Blizzard пришлось устранять «кровавый вирус».

Цена ошибки: размер финансового ущерба и количество «погибших игроков» компания не раскрыла

Call me, maybe?

У вас произошло важное событие: повышение, запуск продукта. Первым делом рука тянется к телефону — поделиться новостями с родными, которые живут на другом конце страны. Но не тут-то было: связи нет. Такое случилось в США в 1990 году с крупнейшей в мире телекоммуникационной компанией AT&T. Обновленное ПО должно было увеличить скорость обмена данными, но в строчке кода была ошибка.

На одной из АТС был поврежден переключатель, который вызвал отключение всей станции. Когда проблему устранили и АТС снова вошла в строй, она автоматически отправила сигнал другой станции. Из-за ошибки в коде вместо того, чтобы взять если на себя нагрузку первой, вторая АТС тоже отключилась. Началась цепная реакция: одна за одной станции AT&T начали выходить из строя. В итоге связь на дальние расстояния пропала на девять часов.

Цена ошибки: 60 млн долларов

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "BinaryDistrict Russia", "author_type": "self", "tags": [], "comments": 0, "likes": 18, "favorites": 13, "is_advertisement": false, "subsite_label": "finance", "id": 58670, "is_wide": false, "is_ugc": true, "date": "Fri, 15 Feb 2019 17:15:20 +0300" }
{ "id": 58670, "author_id": 128754, "diff_limit": 1000, "urls": {"diff":"\/comments\/58670\/get","add":"\/comments\/58670\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/58670"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199119 }

Комментариев нет 0 комм.

Популярные

По порядку

0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Хакеры смогли обойти двухфакторную
авторизацию с помощью уговоров
Подписаться на push-уведомления
{ "page_type": "default" }