Это « Изогнутая пирамида » — 4600-летний памятник инженерным сбоям.
От основания стороны отклоняются от пугающе крутого наклона в 54 градуса, прежде чем резко переключиться на более плавный наклон в 43 градуса примерно на полпути вверх.
Считается, что проект был изменен во время строительства после катастрофического крушения пирамиды Мейдума — еще одной крутой пирамиды — примерно в 60 километрах к югу.
Конечно, сложно обвинять строителей древних пирамид. Они эффективно изобретали инженерию столько, сколько они изучали ее.
С того времени ничего не изменилось: когда инженеры-строители путаются, люди получают травмы. Мы не можем знать наверняка, но кажется маловероятным, что коллапс Мейдума мог произойти без человеческих затрат.
Для сравнения, «инженер-программист» может показаться пушистой разновидностью технических наук. Ошибка может помешать пользователю получить доступ к своей учетной записи или ввести информацию, но это, безусловно, не угрожает жизни?
Никто не пострадает, верно?
Или это то, что мы думаем .
Правда заключается в том, что с каждым годом наши системы — от электроснабжения, транспорта, сельского хозяйства до служб экстренной помощи — становятся все более зависимыми от нас, создающих высококачественное программное обеспечение для их поддержки.
И когда мы терпим неудачу — как те древние египтяне — люди могут действительно пострадать.
Удивительно, но, как показывает печальный случай с Therac-25 , это даже не проблема 21-го века.
Программное обеспечение может убить
К концу 1970-х годов компания «Атомная энергия Канады Лимитед» (AECL) заслужила хорошую репутацию за создание аппаратов для лучевой терапии.
Эти машины использовали целевые электронные лучи для атаки опухолей у пациентов. Не заблуждайтесь, эти лучи являются высокоинтенсивными и потенциально смертельными.
Ранее AECL пользовались большим успехом в своих моделях Therac-6 и Therac-20. Эти устройства должны были управляться вручную обученным оператором и использовать механические переключатели и проводные цепи для обеспечения высокого уровня безопасности.
Therac-25 должен был стать их «машиной мечты».
Меньшая и более дешевая, но более эффективная, чем ее предшественники, новая машина включала в себя две разные технологии пучков — рентгеновское излучение и электрон высокой энергии. Различные лучи позволили операторам нацеливаться на опухоли на разных глубинах, не повреждая близлежащие здоровые ткани.
Therac-25 был и амбициозным, и сложным, и впервые все это оборудование контролировалось программным уровнем.
К сожалению, хотя намерения AECL были хорошими, их дизайн программного обеспечения был трагически плохим, включая ряд ужасных недостатков дизайна.
Более поздние исследования тщательно задокументировали эти недостатки, и сегодня они все еще читают.
В одном случае во время лечения одна машина постоянно выключалась, каждый раз сообщая о загадочных ошибках « Н-наклон » и « отсутствие дозы ». Озадаченный оператор пытался провести лечение шесть раз, прежде чем сдаться.
Только позже было установлено, что машина действительно доставляла полную дозу каждый раз — катастрофическая передозировка.
С момента его запуска в 1982 году до его отмены в 1986 году шесть пациентов получили смертельные травмы в результате лечения Therac-25. Это особенно ужасно, если учесть, что эти бедные люди уже болели.
Сегодня AECL существует не как компания, а как трагический пример для всех нас, как плохо разработанное и непроверенное программное обеспечение может повлиять на жизнь. На сегодняшний день трагедия Therac-25 до сих пор дает нам много идей о разработке систем и тестировании безопасности.
Даже если вы дизайнер внешнего интерфейса и не считаете себя «серьезным инженером», у Therac-25 есть важные уроки. Хотя некоторые недостатки были вызваны плохо закодированными процессами, по крайней мере, такой же ущерб был вызван неадекватной документацией, бесполезной обратной связью и непонятными сообщениями об ошибках. Это те области, на которые должны влиять все — дизайнеры, программисты, менеджеры, UX-специалисты и тестировщики.
Оглядываясь назад на этих древних египтян, становится ясно, что они извлекли уроки из своих ранних ошибок и продолжили строить самые захватывающие дух структуры, которые когда-либо существовали.
Разработка программного обеспечения — все еще сравнительно молодая область — будем надеяться, что мы уже построили наши изогнутые пирамиды.
Первоначально опубликовано в выпуске SitePoint Design Newsletter от 29 января . Подпишитесь здесь ,