В одном твите спрашивали, почему отписка от рассылки может «занимать несколько дней». Пристегнитесь покрепче, я сейчас расскажу вам невероятную историю о том, как это делается в энтерпрайз-разработке™…
Есть один банк. Наверняка вы о нем слышали, а если вы живете в Великобритании — с вероятностью 10% это ваш банк. Я работал там «консультантом» на отличной зарплате.
Банк рассылает маркетинговые письма. В подвале каждого письма есть маленькая ссылка «отписаться». Люди иногда на эти ссылки кликают.
Нажатие на ссылку вызывает один доисторический веб-сервер, который крутится где-то в банке. Честное слово, мне потребовалось три недели только на то, чтобы его найти.
Этот сервис отправляет письмо на внутренний почтовый ящик каждый раз, когда на ссылку нажимают. Такое происходит по несколько сотен раз в день.
Раньше эти письма отправлялись конкретному сотруднику, но пять лет назад он уволился.
Теперь письмо форвардится в группу рассылки. Они не смогли поменять адрес получателя, поскольку он захардкожен, а исходников от сервиса не нашли. Сервис написан на Java 6.
Письма в группе рассылки проверяют два сотрудника оффшорного центра банка в Хайдарабаде (в Индии). Они работают изо всех сил и выполняют свои задачи офигенно, но бляха-муха, эта работа невыносима.
Я общался с ними через видеоконференцию и у них были все признаки энтерпрайзно-посттравматического синдрома. Они бились с этой ерундой годами и за это время ничего не поменялось.
Когда приходит письмо, они должны выполнить SQL-скрипт, который определяет, принадлежит ли отписываемый адрес клиенту банка (тогда протокол один) или нет (тогда другой).
Если получатель является клиентом, им нужно выполнить еще один SQL-скрипт, который обновляет запись о клиенте в предварительном ETL-окружении. Все изменения проверяются в 16:00 по Лондонскому времени отдельной командой в Шотландии. Если изменения прошли проверку, они будут применены к реальной базе еще через сутки в 16:00.
Если же получатель не является клиентом, они добавляют его в Excel-таблицу и перед уходом домой отправляют ее маркетинговой команде в Суиндоне.
Маркетинговая команда путем гадания на кофейной гуще и прочих оккультных практик определяет, является ли клиент «потенциально значимым» (на что по правилам внутреннего распорядка отводится «до 48 часов»). Если не является — то адрес добавляется в другую таблицу и отправляется обратно в Индию для выполнения еще одного SQL-запроса.
Если маркетинг определил клиента как «значимого» — ему вручную отправляется письмо вида «вы правда-правда хотите отписаться?». Оно выглядит как автоматически сгенерированное, но на самом деле это не так.
Если они отвечают «да» (изначально нужно было писать именно «ДА», большими буквами), то команда из Суиндона отправляет в Индию уже третью таблицу и там торжественно выполняется очередной скрипт.
Если я правильно помню, это в среднем занимает четыре рабочих дня. В среднем за сутки отписывается около 700 человек, из них 70% являются «потенциально значимыми».
К слову сказать, эти два индуса перевелись к нам в команду разработки и стали PM для системы, которая заменила всю эту ерунду. Это были самые добрые, отзывчивые и работящие люди из тех, с кем я имел удовольствие работать. Именно благодаря им этот кошмарный корпоративный горе-процесс так «плавно» работал все эти годы. Позже они переехали в Англию и один из них теперь руководит отделом с 40+ сотрудниками.
Примечание переводчика: сова на КДПВ —
Источник: habr.com