Весь мир облетела новость про то, что британцы «потеряли» какое-то (точно неизвестное, но не меньше 15 000) количество заразившихся коронавирусом из-за глюка в Excel. В течение нескольких дней правительство регистрировало значительно меньше зараженных, чем на самом деле было, из-за того, что их собирали в табличку в Excel и их количество превысило максимально возможное число столбцов в этой прекрасной электронной таблице.
Поверхностное погружение в дебри ИТ-инфраструктуры британского аналога наших «оперштабов» позволяет понять, что эксель-таблица была передаточным элементом, который знаком многим нашим эйчарам, у которых разные процессы автоматизированы с помощью разных систем, между которые данные передаются путем так называемой «файловой интеграции» - то есть, выгрузили эксельку из одной системы и загрузили ее в другую.
Данные в этот файл загружались автоматически с помощью то ли макроса, то ли скрипта, который, судя по путаным объяснениям разных источников, генерировал их на основе большого количества CSV-файлов, присланных из лабораторий разных городов и весей, после чего результаты из этой самой эксельки выводились на красивый официальный дашборд, предоставляемый всем вплоть до премьер-министра, на основе которого принимались стратегические решения по вопросам потенциальнго локдауна (вот у кого из читателей сейчас не екнуло сердечко, тот никогда не занимался в России HR-аналитикой или хотя бы консолидацией отчетов из дочерних компаний).
Дальше история разнится. Русскоязычные источники пишут, что все дело в конечно (16384) количестве столбцов в Excel, Daily Mail – что дело в конечном (чуть больше миллиона) количестве строк в Excel, а BBC вообще утверждает, что умники из государственного агентства Public Health England, которое этим занималось, использовали старый экселевский формат XLS, в котором максимальное количество строк и вовсе чуть больше 100 тысяч. И этот самый скрипт отсекал все поступающие записи после достижения этого максимального количества.
Технические детали, конечно, важны, но гораздо важнее результат. А результат такой: количество «потерянных» зараженных удалось установить и добавить в дашборд, но оказались потерянными данные о контактах этих заболевших – и аналог нашей службы эпидрасследования, которая отслеживает контакты зараженных и раздает им предписания о карантине, заявила о десятках тысяч потенциальных неучтенных зараженных, а стало быть, учитывая процент смертности, и о нескольких десятках жизней, которые можно было бы спасти. Отдуваться за все пришлось аж целому премьер-министру Борису Джонсону.
Как говорится, всем любителям корпоративных дэшбордов в экселях посвящается. Кажется, нельзя придумать более иллюстративный случай несоответствия масштаба проблемы и используемого инструмента. Дело, конечно не в экселе как таковом, в том, что если с помощью собранной на коленке из разных кусочков «системы» попытаться решить жизненно важную для большой организации задачу, то иногда это может привести и к риску для человеческих жизней.
А сколько человеческих карьер было сломано или не состоялось просто потому, что нужные данные, затерявшись в длинной очереди табличек, не дошли до адресата – один бог знает.