Термином «технический долг» обычно называют сокращённые или субоптимальные подходы в процессе разработки ПО. Проявляется он в виде неудачно спроектированного кода, устаревших компонентов и отсутствия документации. В то время, как правильно написанные код и документация служат бессрочно, компоненты и используемые подходы – нет. Программное обеспечение и его составляющие со временем могут становиться техническим долгом. Расцвет индустрии ПО пришёлся на далёкие 80-е годы, поэтому то, что мы сегодня начинаем сталкиваться с полностью устаревшими концепциями, процессами и системами, является относительно новым явлением.
Техническим долгом могут выступать небольшие компоненты ПО, библиотеки, код или алгоритмы, на смену которых пришли более современные знания, сделав их устаревшими. Помимо кода или компонентов, это также может относиться к целым структурам систем и архитектурам. По факту в современном мире существует множество случаев, когда целые индустрии опираются на процессы, технологии, протоколы коммуникации и прочие компоненты, которые можно отнести к техническому долгу. На планете нет такой индустрии, которая бы не страдала от технического долга, устаревших процессов и систем. Устаревание системы означает не то, что программное обеспечение достигло конца своей жизни, а то, что в ней устарели процессы и алгоритмы.
▍ Финансовые сервисы: платежи и инвестирование
Вы думаете, что бесконтактные платежи являются недавней технологией? Подумайте дважды. Да, технология NFC относительно нова, но внутри неё лежат всё те же старые протоколы: ISO 8583 и аналогичные. Ваши устройства iPhone и Android по-прежнему «эмулируют» кредитную карту, способную взаимодействовать с сетевыми протоколами, уходящими аж в 1987 год. Система EMV, или платежи смарт-картами, появилась ещё раньше – в конце 60-х. Бесконтактные платежи через NFC в некоторой степени привнесли расширение (ISO 14443) в существующие стандарты.
За последние 20+ лет карточные платёжные системы не особо изменились
Карточные платежи, пожалуй, во многом движут экономику, при этом для них есть очень мало альтернатив. Вход в бизнес по выпуску карт или обслуживанию платежей также долго являлся очень сложной затеей, подлежащей строгому регулированию. Только с появлением Stripe, Adyen, PayPal и других финансово-технологических компаний стало чуть проще самостоятельно проводить платежи по картам и выпускать их. Если спросить разработчиков в платёжных и финансовых компаниях, то они все согласятся, что в финансовой индустрии по-прежнему сильно доминируют легаси-системы, откуда и происходит технический долг.
То же касается инвестирования в биржевой сектор. И хотя инвестиционные банки определённо располагают достаточным бюджетом для модернизации систем, произошедшие с GameStop, Robinhood и Citadel события выявили ряд серьёзных проблем, которые возникают из-за так называемых необрокеров и используемых ими легаси-систем. Процессы в этих системах были придуманы не для того, чтобы некий Том, Дик и Гарри покупали/продавали свои доли акций через iPhone.
Если вы живёте в США, то наверняка переводите средства с помощью ACH (Automated Clearing House, палата автоматизированных расчётов). В Европе же для этого используются переводы по системе SEPA (Single Euro Payments Area, единая зона платежей в евро). Притом что SEPA заработала в 2008 году, около 15 лет назад, ACH появилась намного раньше – в 1974. В итоге SEPA позволяет переводить евро со счёта испанского банка на счёт в немецкий банк за 15 минут, а через ACH перевод из Нью-Йорка в Сиэтл может занять несколько дней. Куда хуже ситуация, если вы хотите перевести деньги между США и Евросоюзом. Такие компании, как Wise, пытаются упростить этот процесс, минуя схему взаимосвязи между этими банковскими системами.
Перевод денег от А к В, особенно между континентами, по-прежнему является длительным и непростым процессом
Большинство финтех-компаний вроде Stripe, PayPal, Adyen или Wise в действительности не изобретают финансовые инструменты заново. Они просто исправляют нарушенные легаси-процессы и устраняют или обходят технический долг, скопившийся во всей индустрии. Не верите? Взгляните на количество кода COBOL, до сих пор находящегося в продакшене финансовой сферы: How COBOL is still used today.
▍ Авиация: регистрация и посадка пассажиров
У финансовой и авиационной индустрий есть кое-что общее: они обе являются высоко стандартизированными и строго регулируемыми. А поскольку регуляторы не особо быстро подстраиваются под изменения, мы по-прежнему в обеих этих индустриях имеем устаревшие системы и процессы. Идеальным примером таких систем является посадочный талон, который вам выдают при регистрации на авиарейс. Такие талоны и багажные бирки использовались ещё в пассажирских кораблях конца XIX века, то есть более 100 лет назад.
Формат штрихкода посадочного талона определён международной ассоциацией воздушного транспорта в спецификации IATA BCBP: Bar Coded Boarding Pass. В ней можно найти ряд забавных деталей, например то, что дата полёта обозначается просто как день года (0-365), а значит такой штрихкод можно теоретически использовать заново в следующем году. Известный исследователь безопасности Брюс Шнайер в своей книге Schneier on Security проанализировал, насколько оправдано сегодня вообще существование посадочных талонов.
Посадочные талоны: почему они вообще до сих пор существуют?
Но одними талонами всё не ограничивается. Если в процессе регистрации на рейс вы ненароком заглянете в компьютер регистрационного агента, то зачастую увидите терминал с радостно мигающими зелёными символами. Процесс регистрации, получения посадочного талона, сдачи багажа, прохождения службы безопасности и посадки на самолёт за последние 50 лет практически не изменился.
Ryanair: инноватор в сфере перелётов
Компания Ryanair, которая внедрила ряд инноваций и революционизировала авиаперелёты в Европе, упростила и удешевила этот процесс, ликвидировав все легаси-процедуры, какие возможно: стыковку полётов, передачу багажа между рейсами, сотрудничество и совместное использование кода с другими авиалиниями, бизнес- и первый классы, развлечения во время полёта, фиксированный график питания на борту и многое другое. И хотя многие утверждают, что успех Ryanair обусловлен предлагаемыми ими низкими ценами, эта компания также предоставляет более быстрое обслуживание за счёт значительного упрощения всех процессов по сравнению с другими авиалиниями.
Их конкуренты скопили столько устаревших процессов и систем, что им стало практически невозможно выбраться из сложившегося технического долга. Авиация на сегодня является одной из немногих индустрий, страдающих от этой проблемы больше других. Бесчисленные попытки избавиться от раздражающих багажных бирок за счёт использования электронных альтернатив в течение последних 20 лет так и не получили поддержки. Ежегодно по-прежнему печатаются миллиарды бирок, которые не только стоят компаниям приличных денег, но и загрязняют окружающую среду.
Ежегодно печатаются миллиарды багажных бирок
Решить это довольно просто: NFC-теги для багажа могут заменить бирки, а национальные ID-карты или чипы в паспортах могут заменить посадочные талоны. Тем не менее авиаиндустрия не ввела NFC даже в качестве альтернативы для штрихкодов посадочных талонов. И хотя для перелётов используются все новейшие разработки, технологии на земле оставляют желать лучшего.
▍ Розничная торговля: складские запасы не мониторятся
Большинство розничных магазинов совершенно не знают баланса своих складских запасов. Во многих из них кассовые терминалы не связаны со складом, в связи с чем неизвестно, какие товары и в каком количестве на данный момент доступны в магазине. Более крупные цепочки вроде Walmart реализуют систему отслеживания общего наличия товаров, хотя эта информация может быть неточной. При этом в большинстве розничных сетей и супермаркетов нет и такой системы.
Большинство супермаркетов представления не имеют о своих складских запасах
Ещё хуже то, что супермаркеты не только лишены возможности в реальном времени отслеживать складские запасы, но также не отслеживают истечение срока их годности. Им приходится мониторить эти сроки вручную на полках, попутно опираясь на жалобы покупателей. Практически на всех пищевых продуктах срок годности указывается в нечитаемом для машины формате рядом со штрихкодом UPC/EAN.
Существовали и продолжают существовать стартапы, которые пытаются заменить штрихкод UPC/EAN на NFC-теги, где также указывается срок годности. Тем не менее здесь возникает трудность с интеграцией в легаси-системы как в сфере ретейла, так и на производстве. И есть простое решение: заменить штрихкоды программируемыми NFC-тегами и включить все необходимые данные. После этого реализовать в смарт-полках сканирование продуктов в реальном времени. Такая технология уже существует, хотя пока ей не удаётся заместить устаревшие системы.
Также существуют компании, которые пытались проводить сравнение продуктов в розничных магазинах, включая Google с их сервисом Shopping search. Отсутствие стандартов для API, устаревших протоколов и форматов файлов, а также банально несуществующие данные (особенно информация об остатках и ценах) привели к тому, что все эти усилия преимущественно провалились.
Чеки: почему они не хранятся на вашей карте?
В розничной торговле список подобных нюансов практически бесконечен. Возьмите, к примеру, бумажные чеки. Кассовая система магазина не может отправлять список купленных продуктов в обработчик платежей, потому что карточные системы поддерживают только одно поле, которое описывает покупку и имеет длину всего в несколько символов. В результате ваш банк или иной эмитент карты не может сообщить, что вы только что купили, а значит и предоставить анализ ваших приобретений.
▍ Производство: неизвестно, откуда поступает сырьё
В этом плане сфера производства не отличается от розницы: самой важной в ней является система управления поставками (SCM, supply chain management), через которую реализуется управление поставщиками и дистрибьюторами.
В этой системе отслеживается, какой поставщик и какие компоненты поставляет, а также какой потребитель ожидает получения конечного продукта. В чём же проблема? Все эти системы не связаны между собой. Одна SCM зачастую знает только следующего поставщика или потребителя, но ей ничего не известно о том, каких потребителей снабжает этот потребитель, или каких поставщиков использует этот поставщик.
Вряд ли кто-то наверняка знает, откуда был привезён хлопок, из которого сшита ваша одежда
Возьмём в пример кофе: когда производитель быстрорастворимого напитка покупает зёрна у оптовика, он в большинстве случаев совершенно не знает, откуда эти зёрна по факту были привезены. То же касается одежды, когда производители зачастую не знают, откуда был поставлен хлопок, и кто его заготавливал. Именно поэтому компании, выпускающие модную одежду, нередко получают в свой адрес обвинения в эксплуатации детского труда. Во многих из них используется настолько длинная цепочка поставок, что они даже не знают, кто собирал хлопок для их рубашек. В большинстве случаев электронные записи цепочек поставки полностью отсутствуют.
Производители не ведут учёта конечных точек реализации их товаров
Большинство производителей совершенно не имеют представления, где и по какой цене их товары были проданы. Многие даже не знают, в какой стране эти товары продаются. Порой системы управления поставками и процессы, разработанные десятилетия назад, оказываются не связаны с поставщиками и дистрибьютерами. Многие производители посредством исследования рынка потребителей и программ вознаграждений собирают информацию о том, где, когда и по какой цене был фактически куплен их товар. Именно поэтому большинство фирменных сайтов не могут сообщить вам, какой ретейлер на данный момент предлагает их продукт, не говоря уже об информации о наличии этого продукта на складах.
В настоящее время Евросоюз разрабатывает директивы, предписывающие ведение контроля цепочки поставок в соответствии с определёнными требованиями. Причём соблюдение этих требований большинству производителей и дистрибьюторов будет очень трудно доказать. Подобные директивы выведут имеющиеся системы управления цепочками поставок за грани допустимого.
▍ Технология превосходит человеческие способности
Все описанные неудобства и сложности имеют относительно понятные и простые технические решения. Тем не менее накопленный в индустриях технический долг, устаревшие незаменяемые системы и человеческая неспособность исправить эти проблемы привели к серьёзному удару по всей экономике. Сложно найти такую индустрию, которая бы не страдала от масштабного и кросс-индустриального технического долга или проблем с легаси-системами.
Кроме того, весь накопленный технический долг вкупе с устаревшими системами не только тормозит развитие глобальной экономики, но также затрудняет дальнейшую защиту окружающей среды путём сокращения отходов и вредных выбросов. Технологии, которые мы имеем сегодня, могли бы принести немало благ человечеству. Всё что нужно – это исправить легаси-системы.
Вместо изобретения чего-то нового можно просто починить всё сломанное
На данный момент самая трудная задача в сфере разработки ПО и различных структурах – это не изобретение очередной социальной сети или мессенджера, а исправление очевидных технических проблем глобальной экономики. Необходимо заменить эти устаревшие системы, которые целые индустрии превратили в музеи технического долга.
Вам не нужна какая-то оригинальная идея для стартапа. Просто обратите внимание на то, что уже есть, и начните исправлять это, создавая что-то новое на замену.
Выиграй телескоп и другие призы в космическом квизе от RUVDS. Поехали? 🚀
Автор: Дмитрий Брайт