Офтоп
Редакция vc.ru

Как «Додо Пицца» потеряла и вернула 7,84 миллиона рублей

Рассказ топ-менеджера компании

Руководитель направления электронной коммерции в «Додо Пицце» Андрей Арефьев написал колонку, в которой рассказал, как сотрудники «Додо Пиццы» вместе с командой «Яндекс.Денег» возвращали 7,84 миллиона рублей, которые по ошибке отправили своим клиентам.

За неделю до Нового года мы по ошибке вернули клиентам 7,84 миллионов рублей, отменив более 10 577 транзакций. Мы спросили банковских экспертов, можно ли вернуть эти деньги обратно, и они ответили: «Маловероятно». Тем не менее, нам удалось это сделать. Расскажу, что привело к ошибке, как мы и партнеры сумели решить проблему и, главное, какие выводы мы сделали из этой истории.

Утром 23 декабря 2016 года процедура по отмене некорректных транзакций прошлась по базе данных, развернутой в тестовой версии нашей информационной системы «Додо ИС». Пару часов назад из-за неправильно проведенного переноса данных тестовая версия получила «боевые» значения для взаимодействия с «Яндекс.Кассой». Более того, мы использовали единый сертификат безопасности для тестовых и боевых операций.

В результате были отменены реальные транзакции, причем совершенно корректные. Система посчитала их «некорректными», поскольку на тестовую версию попадает «обрезанная» база данных. Мы заметили это только в 24 декабря 2016 года, когда наши партнеры получили реестры от «Яндекс.Кассы» и увидели возвраты, которых они не проводили. Несколько часов ушло на то, чтобы понять, что вызвало проблему.

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

Несмотря на выходной, в решение нашей проблемы сразу же включилась команда «Яндекс.Денег», включая генерального директора Марию Грачеву. Кроме того, в субботу основатель и генеральный директор «Додо Пиццы» Федор Овчинников рассказал о проблеме в социальных сетях и попросил о помощи. В записях упоминалось, что мы вернули около 10 миллионов рублей, а не 7,84 — на тот момент это была приблизительная оценка. Публикации в Facebook и во «ВКонтакте» привлекли внимание, люди давали советы и полезные контакты.

Мы поняли, что есть всего три варианта вернуть деньги. Мы могли произвести повторное списание с помощью механизма повторных платежей. Минус этого варианта — оспариваемая легальность. Мы могли произвести отмену возврата транзакций, но это требовало договоренностей с банками-партнерами «Яндекс.Денег». Наконец, мы могли просто попросить клиентов вернуть наши деньги. Но этот сценарий казался нереальным: на каком основании люди будут возвращать деньги и, главное, каким образом? Ведь, напомню, сеть объединяет свыше сотни разных юридических лиц.

Пока мы прорабатывали все три варианта, наша история попала во многие профильные издания. Мы даже засветились в статье «8 главных провалах и закрытиях 2016 года» на vc.ru. Нам советовали обратить это в маркетинговый ход и не возвращать деньги — или остановиться на варианте с добровольной оплатой.

Попробую объяснить, почему мы не стали этого делать. Естественно, мы не могли допустить, чтобы за нашу ошибку расплачивались партнеры — пусть даже ради эффектного маркетингового хода. Поэтому компенсировать все убытки пришлось бы за счет управляющей компании.

7.84 миллионов рублей для сети с оборотом почти в 2,9 млрд в год — не мелочь. Оборот создает франчайзинговая сеть. Выручка управляющей компании состоит из роялти с оборота и паушальных взносов, которые совместно за 2016 год составили около 220 миллионов рублей.

При этом мы развиваемся как стартап, оплачивая инвестиционным капиталом вложения в развитие инфраструктуры и рост команды разработки. Прямой убыток такого масштаба — это более 10% от суммы инвестиций, привлеченных в ходе нашего последнего инвестиционного раунда. Для одной ошибки — серьезная цена.

Мы готовы были заплатить ее, но хотели сделать все возможное, чтобы избежать такого развития событий. В понедельник мы узнали, что команде «Яндекс.Денег» удалось договориться с банками-партнерами об операции по отмене возврата. Менеджеры, операционисты и бухгалтерия «Яндекс.Денег» проделали для нас колоссальную работу, перебрав вручную более десяти тысяч транзакций. Вопрос был в том, успеют ли банки-партнеры провести операции до праздников.

Мы понимали, что у многих клиентов непонятные транзакции вызовут недовольство или вопросы. Мы написали скрипты для колл-центра, проработали процедуры разбора рекламаций, отправили предварительные SMS-сообщения с разъяснениями и запустили одностраничный сайт с формой обратной связи. Однако когда пошли первые отмены, мы поняли, что ситуация сложнее, чем мы думали.

Возврат денег — не совсем типичная операция. Как правило, вы видите ее отражение по своему счету не сразу, а в течение двух недель. Разные банки по-разному отрабатывают возврат в своих учетных системах. Клиенты иногда получают оповещения по таким операциям, а иногда нет.

При этом операция отмены возврата — еще менее типичная операция. Мы даже не могли предсказать, каким именно образом банки-эмитенты карт отразят эту операцию в балансах своих клиентов и какие отправят уведомления.

В результате мы получили около 200 обращений от клиентов. Это около двух процентов от всех транзакций — относительно немного. Но даже 200 обращений — серьезная нагрузка на операторов, особенно в предпраздничные дни. Поэтому в самые горячие часы, чтобы разгрузить колл-центр, клиентов обзванивали менеджеры продуктов, директор по франчайзингу и финансовый директор «Додо Пиццы». Сейчас у нас в работе осталось около 30 тикетов.

Нам удалось разрешить ситуацию с минимальными убытками. Последние платежные поручения были отправлены платежным рейсом вечером 30 декабря 2016 года. На следующий день, утром, практически все деньги вернулись партнерам на счета.

Какой ценой? Титаническая работа операционистов и менеджеров «Яндекс.Денег». Два хирургических хотфикса на продакшене сайта федеральной сети в 150 пиццерий перед Новым годом. Также мы заплатили комиссию банкам-партнерам за проведение операции по отмене транзакций около 150 тысяч рублей и за уведомление клиентов по SMS чуть больше 40 тысяч рублей.

«Кто виноват-то?» — этот вопрос я слышал за ту неделю несколько десятков раз. Это очень удобный вопрос, потому что на него предполагается простой и однозначный ответ. Но такого простого ответа в принципе быть не может. Мы исходим из того, что ни один сотрудник не может допустить ошибку из злого умысла. Мы работаем только с ответственными и самостоятельными людьми. И мы понимаем, что если ошибка возможна, ее кто-то обязательно совершит.

С первого дня «Додо Пицца» разрабатывает собственную информационную систему. Сегодня она обслуживает продажи в девяти странах мира для более чем 150 пиццерий. За пять лет разработки мы прошли путь от блока по приему заказов до прототипа полноценной облачной ERP-системы, которая управляет заказами, работой на кухне, планированием графиков, запасами, финансами — практически всеми аспектами нашего бизнеса.

Обеспечивая столь впечатляющий рост, мы нередко отдавали приоритеты быстрой разработке функциональности, необходимой операционному бизнесу, который развивался по-предпринимательски, без крупных инвестиций. Иногда это происходило в ущерб системной логике, архитектуре или инфраструктуре.

В системе накопились уязвимости. Их можно сравнить с заряженными ружьями, висящими на стене. Мы знали о них, но надеялись, что они не выстрелят «еще вот до того релиза».

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

Однако реинжиниринг делался разными командами. У всех был общий дедлайн, но у каждой команды оказались свои приоритеты. Проект оказался сильно растянут по времени и плохо синхронизирован. В результате элементы системы, которые носят максимальный риск, спустя полгода от старта так и оставались непереработанными.

В большой системе с высокой связанностью кода и высокой интенсивностью разработки риски критичной ошибки становятся неуправляемыми. Именно такой риск и реализовался в нашем случае. Мы рады, что в такую трудную минуту нам помог партнер — «Яндекс.Деньги». Провалы случаются, и они позволяют понять, что за люди тебя окружают. Нам повезло.

Как мы исправимся

Строго оформим реинжиниринговый проект с требованиями, этапами и сроками. Владельцем проекта станет архитектор «Додо ИС». Причем приоритеты разработки в отдельных командах будут отданы критичным с точки зрения убытков участкам системы — платежному шлюзу, клиентской базе данных, подсистеме безопасности и сервисам с минимально допустимыми процентами отказов в обслуживании. Усилим наши QA-процессы наймом руководителя направления.

Иногда бизнесу бывает трудно осознать, что нефункциональные требования к продуктам (доступность, отказоустойчивость, защищенность) могут оказывать на финансовые результаты большее влияние, чем конверсия или время, проведенное на сайте. Для нас эта история стала хорошим уроком.

0
62 комментария
Популярные
По порядку
Написать комментарий...

Комментарий удален

Ответ на вопрос "кто виноват" очевиден - программист, который сделал, чтобы данные с боевой базы попали на тестовую ну и руководитель IT отдела, потому что на то он и руководитель, чтобы нести ответственность. Понятно, что произошло это не специально. Думаю, что он поседел за дни дни до нового года.

16

Не всё так очевидно. Процессы должны быть построены так, чтобы один конкретный программист не мог и не должен был нести ответственность. Есть код-ревью, есть лоджик-ревью, есть QA, есть мониторинг.

4

Должны). Ещё сложнее этому одному человеку(или нескольким) сказать что это была их вина, а не "неправильных процессов". Тут мальчики становятся мужчинами)

3

не увидел в статье что-то про программиста, поэтому хотел бы отметить, что задача программиста - создавать код продукта, а не выливать код на боевые сервера или мигрировать базу. А поскольку о "кухне" фирмы мы не знаем, то виновные - руководитель it-отдела и руководитель конкретного подразделения, занимающегося деплоем.
Но вообще искать виновных в конторе о которой мы ничего не знаем странно (внутри ведь уже давно виновных нашли).

2

Ну вообще в статье про виновных и не написано. Нет такой цели у статьи. Для себя они нашли уже.

0

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

0

вопрос не стоит - должен уметь или не должен. Вопрос: занимался ли в конторе программист деплоем, или все же там отдельные люди этим занимаются (как оно должно быть).

0

История конечно закончилась по-рождественски хорошо

7

Комментарий удален

Если бы не пришло очень много людей в комментарии на VC и в FB к Фёдоры, то про пиар можно бы было думать. По ситуации, которую вижу — хэппи энд реально тяжелой в техническо-финансовом плане истории.

0

По общению со СМИ и публикой, принятию решений в стрессовых и не очень ситуациях этот стартап продолжает себя прекрасно показывать, ИМХО :)

7

Сама история довольно интересна. Хоть и выглядит воспеванием оды Яндекс Деньгам. Ну да бог с ними. Мне вот что интересно. Кто все эти люди, которые заказывают пиццу в Додо? Мне хватило пары раз. Ну реально, это не пицца а "все из холодильника" на тесте. От пиццы там одно название, да и не вкусная она ну ни капельки, увы. А сама идея и подача сервиса - отличные.

6

Очень вкусная пицца. Не надо рассказывать плохие вещи, дяденька. Очень вкусная.

0

Где тут плохие вещи? Я лишь говорю то, как мы относимся к этой пицце, пару раз заказав её на др сотрудников например.

2

ДоДо в Петрозаводске - одна из лучших пиццерий. Все относительно, брат)

0

Видимо зависит от ресторана. Попробуйте додстер - я пробовал в нескольких городах, достаточно вкусно.

0

Хз, одни пиццы обычные, другие вкусные. У нас в городе лучше только одна фирма делает.

0

Кто виноват - программист, который сделал, чтобы данные с боевой базы попали на тестовую.
Кто виноват - отдел программистов, который не провел качественное ревью действий отдельного программиста.
Кто виноват - руководитель IT отдела, который не проследил за соблюдением практик правильной разработки внутри отдела.
Кто виноват - директор Додо пиццы, который не проследил за выполнением обязанностей руководителя IT отдела.

Можно сколько угодно перечислять, кто виноват, актуальный вопрос - как это исправить, и что сделать, чтобы такое не повторялось.

5

- Это Я сломал плотину!
- Стенли. Ты?
- Нет. Разве вы не видите, что пытается сказать это дитя? Мы не можем сваливать всю вину на кого-то другого, когда происходит что-то плохое. Он пытается сказать...Мы все сломали плотину.
- Я сломала плотину.
...
- Я сломал плотину.
- Да нет, я врезался в нее на лодке и сломал ее!
- Я сломал плотину.
- Я сломала плотину.
... (с) South Park)))

2

Именно. Искать козла отпущения или решать проблему. Это, конечно, две разные вещи.

0

Нужно срочно открыть ДОДО в зажопинске

1

Комментарий удален

Критический хотфикс перед новым готом накатывать.....

2

Классика жанра) Жанр - хоррор.

3

То есть, вы выгружаете реальную базу на ваш стейджинг, для того, чтобы ваши разработчики могли тестировать систему на реальных данных?

Вы же этим самым нарушаете требования 152-ФЗ, PCI DSS и т.д.

1

Внедряя в одном российском банке CRM я нашел на тестовом сервере свои данные.

2

Это какой пункт 152-ФЗ нарушается?

1

п. 10 ст. 3

0

Статья 3 это "Основные понятия, используемые в настоящем Федеральном законе" там нечего нарушать )

0

Смотрел на гаранте и там почему-то оформление ФЗ другое, чем в других местах.

Я говорю про "обязательное для соблюдения оператором или иным получившим доступ к персональным данным лицом требование не допускать их распространения без согласия субъекта персональных данных или наличия иного законного основании". В случае с ИС, это аффектит следующие вещи:

1) Я как гражданин могу обратиться с требованием удаления моих ПД, необходимо будет удалить их из всех ИС. Вряд ли на практике кто-то будет удалять их из бэкапов или со стэйджинга.
2) Вряд ли в паспорте ИС прописано, что частью ИС является стэйджинг. Соответственно обрабоатка ПД происходит в неустановленном (недокументированном) месте.
3) Насколько я понимаю, перечень лиц, имеющих доступ к ПД должен быть регалиментирован. Вряд ли разработчики входят в этот список.
4) Я даже не представляю как в модели угроз прописать угрозы вида "разработчик скачал базу на локальный компьютер" и какие виды проактивной защиты могут быть с этим связаны.
5) Нахождение ПД в других базах скорее всего противоречит заявленной цели сбора и обработки ПДн.

1

слушайте, раз вы такой умный, расскажите мне как обезличенные номера транзакций попадают под определение персональных данных? я не работаю в ДОДО, но с их стороны было бы глупо отменять транзакции по фамилиям клиентов.

0

Технический овердрафт то клиентам компенсировали?

2

Ага, еще скажите купон со скидкой на следующий заказ...
150 злых франчайзи - это проблема, а вот недовольные овердрафтеры - это уже проблема франчайзи

1

Поздравляю ребят из додо. Этого было трудно избежать, исходя из вашей скорости развития. Молодцы что справились и вынесли правильные управленческие решения. Яндекс деньгам отдельный респект. Правда не уверен что они бы стали делать подобные действия для более мелких игроков

2

Сколько стоил возврат средств в денежных и операционных издержках?

0

Комментарий удален

Возможно, это их работа

0

Комментарий удален

Ну Яндекс себе репутационную карму тоже повысил таким способом!

0

200 000 живых руб, указано в статье. А времени сотрудников видимо дофига

0

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

200 000 живых рублей, а взамен получила тонны публикаций в СМИ.
Только на vc более 20 тысяч просмотров.
Причем написали федеральные и региональные источники. Сработало на всех уровнях.

0

На тестовой базе "боевые" шлюзы? Хмм.
Кажется вся вина в этом...

1

Как бы да. Если в начале пьесы на стене висит ружье, то к концу оно должно выстрелить

1

Меня больше интересует, не кто виноват, а что сделали с тем (теми), кого посчитали виновным. И что обычно делают с такими? Выставляют за дверь? Заставляют оплачивать из своего кармана все расходы?

0

Кормят пиццей, которую пекут посетители во время мастер-классов.

4

Зачем один и тот же сертификат на тесте и на бою? Ну, чтобы что?

1

Чтобы он если самоподписный не выписывать дважды :D

0

Забыли поменять или решили не заморачиваться, хотя в идеале он должен жить на HSM и проблема не возникнет.

0

Нет, программисты не виноваты! И тестеры тоже.

Я думаю, что вина лежит на архитекторе ИС, а также может быть, на менджере проекта (или продукта). И вина состоит в том, что они не обеспечили возможность максимально полного автоматического тестирования. При ручном тестировании ошибку легко проглядеть. При правильно организованном автоматическом тестировании (речь не идет о юнит-тестах) вероятность такой ошибки снижается. Но это не главное.

Главное - это то, что при отсутствии системы автоматического тестирования подобная ошибка может быть легко повторена еще раз. Если система существует, и она не увидела ошибку, ее требуется пересмотреть, улучшить, и после этого, можно почти гарантировать, что подобное не повторится.

1

Даже если виновного (или группу виновных) нашли/выбрали/определили, мы об этом всё равно никогда теперь не узнаем.

1

Интересно, а Додошники заходят в группу "И этого я ждал 40 минут" в ВК, чтобы посмотреть в каком виде людям по всей стране приносят их пиццу?

1

В статье написано что это произошло 23 декабря, и обнаружено было 24 декабря, а вот на странице с сайта help.didopizza.ru речь идёт уже о датах с 16 по 23 декабря. Какие то нестыковки.

0

Скорее всего речь про транзакции с 16 по 23, а сам инцидент произошел 23-го.

1

точно, так и есть.

0

Ни одного сообщения в соц сетях от пользователей о левом списании, знаете о чем это говорит?
больше додо не верить

–4

Море сообщений было. Даже в коментах к оригинальному посту на вц.

1

Где море, несколько сообщений вбросили для вида

0

Комментарий удален

Откройте уже додо пиццерию в Перми, мы же не так далеко от Сыктывкара, а качественных пицц у нас очень мало

0

Она невкусная.

0

Боевой сертификат отдали в тест. Рехнулись? Профнепригодность того, кто это сделал.

0

День, когда поседели разработчики "Додо ИС"... ;)

0

Ой да по-любому это был пиар ход для привлечения внимания. Федор пиарщик хороший в этом смысле:))
А вот то что ДоДо пицца меня спамит в почту вакансией маркетолога в Сыктывкар, уже месяца три - это плохой пиар:( Прям негатив резко вырос, где мэйл то нашли блин...:)

0

"перебрав вручную более десяти тысяч транзакций" - а вот это место можно поподробнее? В чём именно затруднение программно выполнить этот поиск?
Мне на ум пока приходит только вариант, что написание ищущего кода-алгоритма заняло бы времени больше, чем завершение-подтверждение списаний с карт в банках.

0

>>Обеспечивая столь впечатляющий рост, мы нередко отдавали приоритеты быстрой разработке функциональности, необходимой операционному бизнесу, который развивался по-предпринимательски, без крупных инвестиций. Иногда это происходило в ущерб системной логике, архитектуре или инфраструктуре.

Как красиво они преподнесли "хуяк-хуяк-в продакшн".

0

1.9% комиссия с карт - очень не плохо, завидуем :)

0
Читать все 62 комментария
Что Tele2 предлагает клиентам в «черную пятницу»

На главной распродаже года клиентов компании ждут сразу несколько интересных предложений: скидки на смартфоны, пакеты SMS и безлимитный трафик на YouTube, Яндекс.Карты, Яндекс.Навигатор.

Как я заработал свой первый миллион просмотров на лонгридах

Мой опыт ведения текстового блога на «Виси», «Пикабу», «Хабре», Дзене и еще пачке площадок. Сколько потратил на них сил и какую отдачу в итоге получил.

Как мы с двумя кошками из Москвы в Прагу летели

Данная статья будет полезна тем, кто собирается лететь из России в Чехию со своими пушистым в салоне самолета. Почему пишу именно такой маршрут? Потому что условия для всех стран очень разные.

Из науки в IT: как создать свой стартап и стать преподавателем

Как перейти в IT из другой сферы? Как разработать курс, которому нет аналогов? Как студенту получить максимум пользы от занятий? Рассказывает преподаватель OTUS Сергей Окатов, руководитель курсов «Kotlin Backend Developer» и «Kotlin Developer. Basic».

Возник по просьбе бразильских банкиров и стал любимым напитком солдат во время Второй мировой: история Nescafe Статьи редакции

В 2021 году Nescafe — крупнейшее подразделение Nestle и бренд, который оценивается больше чем в $20 млрд. По собственным данным компании, в мире каждую секунду выпивают более 5000 чашек напитка.

Дегустация Nescafe National Museum
Как у меня украли 600 тысяч с карты, а Тинькофф нарушает федеральный закон

Спойлер: я НЕ вводил никуда код, НЕ переходил по ссылкам и НЕ сообщал данные карты.

Я всегда считал себя финансово грамотным человеком, сам когда-то работал в банке, соблюдал цифровую гигиену, держал деньги на нескольких счетах, не привязывал основную карту в непонятных сервисах, в 90% оплат пользовался Google Pay. Когда родственники присылали…

Хочу кухню как у подруги: зачем в Циан сделали поиск квартир по фото

Рассказывает Юлия Зыкова, руководитель команды «Аудитория» в Циан.

Мы сделали бот, который печатает и отправляет ваши фото маме. В 2 клика
Катя со свежими фотками для родителей

Мы запустили Kind Bot — доброго бота, которому в 2 клика можно скинуть свои фотки. Он их напечатает и отправит по почте вашей маме. Или другому близкому человеку.

Завод по производству идей. Как работают акселераторы, зачем они нужны стартапам и куда идти с идеей прямо сейчас

По данным Startup Genome, 9 из 10 стартапов терпят неудачу. Возможных причин «смерти» много: недостаточно протестированная гипотеза, неподтвержденная юнит-экономика, неверная стратегия или просто неудача в подходе к продажам.

Английский язык. Как это надо делать, если вернуть 2 года назад

Всегда считал себя неспособным к языкам, школу закончил, мягко говоря, с 0 знанием Английского языка. Как ,наверно, 95% населения нашей страны.

Бизнес — как ребенок: как мамы совмещают свое дело с заботой о детях

Как совмещать бизнес и семью? Ко Дню матери своими историями поделились бизнесвумен, которые работают c ЮKassa и занимаются детьми. Читайте, как им удается сохранять жизненный баланс и добиваться успеха.

null