Як ми за півтора тижня запустили MVP "Волонтер"і що під капотом у сервіса поїздок з українською душею

Вітаю! З вами знов Сергій Гришков, СРО Uklon. В компанії я займаюся розвитком екосистеми продуктів та управлінням командами, яких у нас назбиралось 10.

З перших днів повномасштабної війни буквально по всій країні з’явилася нагальна потреба у швидкій доставці гуманітарної допомоги. Були волонтери, готові взяти на себе цю задачу, та бізнес, що надавав ліки, їжу, паливо тощо. Але потрібно було поєднати перших з другим за допомогою транспорту.

Це все дуже добре лягало під можливості нашого маркетплейсу. Проте стандартних сервісів Uklon виявилося недостатньо, тому ми у вкрай стислі терміни розробили повністю новий клас поїздок «Волонтер», що дозволив автоматизувати процес вирішення саме гуманітарних задач.

У цій статті я розповім, якими інструментами вдалося це реалізувати та як був організований увесь процес.

Поєднати можливості з потребами

В перші дні, навіть години, війни власний контакт-центр Uklon пережив справжню навалу дзвінків із запитами про негайну допомогу. Це зверталися волонтери, що потребували якнайшвидшого вирішення питань з доставки гуманітарних вантажів, як у містах, так і за їх межами, — для потреб територіальної оборони, лікарень тощо.

На початку питання надання авто вирішувалися в ручному режимі — за допомогою телефонних дзвінків, CRM-системи, Slack. «Оператори», якими на волонтерських засадах тимчасово стала значна кількість спеціалістів Uklon, приймали запити й передавали їх далі — в чат, де модератори з-поміж колег забирали ці запити та ставили відмітки статусу («пошук», «знайдено», «скасовано»).

Потім модератор шукав водія, передавав йому запит і т.д. Все було доволі швидко як для ручного процесу, але дуже трудомістко.

Приклад запиту в робочому Slack-чаті Uklon до впровадження сервісу «Волонтер»

Втім кількість запитів швидко зростала й суто людських ресурсів вже ледь вистачало. Потрібно було якнайшвидше впровадити автоматизацію процесу обробки звернень та пошуку авто саме для волонтерів, з урахуванням специфіки задач та з дотриманням принципів безпеки і захисту інформації.

З одного боку наявні програмні інструменти для цієї задачі не підходили, з іншого — гнучка мікросервісна архітектура платформи Uklon та команда спеціалістів давали впевненість в тому, що потрібне рішення можна буде створити з нуля у стислі терміни.

Так воно, власне, й сталося. Базову робочу версію (MVP) клас «Волонтер» вдалося запустити всього за півтора тижня. Потім було ще 3-4 релізи з важливими оновленнями і після цього продукт був вже цілком готовий до використання з повним навантаженням. Подальші релізи в основному розширювали його можливості та вносили невеликі доопрацювання.

Щоб скористатися сервісом, волонтери, яким потрібна допомога з транспортом, мають пройти процедуру реєстрації, після якої вони отримують доступ до внутрішнього облікового запису у застосунку Uklon із включеним класом «Волонтер». Такий підхід дозволяє підвищити безпеку процесу, забезпечуючи аутентифікацію осіб, що входять до системи. Схожим чином сервіс працює і для представників бізнесу, що готові надавати допомогу. Додатково для цієї категорії користувачів доступна опція пошуку запитів про допомогу, яка дозволяє спрямовувати ті чи інші речі в потрібне місце і в потрібному обсязі.

Результат впровадження з’явився майже миттєво: якщо в ручному режимі вдавалося обробляти десь до 60 поїздок на добу, то з автоматизованим класом «Волонтер» ця цифра одразу зросла в рази — до кількох сотень.

Порівняння кількості замовлень «до» та «після» автоматизації класу «Волонтер»

Як все влаштовано: мікросервіси та хмарні технології

Приклад «Волонтера» демонструє, як сучасні ІТ-технології допомагають швидко адаптуватися в непередбачуваних умовах. Звісно, створення нового робочого продукту, який би успішно й безвідмовно працював в масштабах країни — не проста задача, особливо, враховуючи, що сервіс був потрібен «на вчора». Але завдяки скординованим зусиллям учасників нашої команди, які продемонстрували готовність працювати навіть цілодобово, «Волонтер» вдалося запустити напрочуд швидко.

Заради справедливості маю уточнити, що впровадження нової відповідальної розробки певним чином вплинуло на поточні плани компанії. Деякі довоєнні проєкти було поставлено на паузу (наприклад, Uklon Share).

Ефективною виявилася методологія управління розробкою канбан, яка з одного боку дала можливість не прив’язуватись до спринтів, а з іншого — дозволила рівномірно і динамічно розподіляти навантаження між усіма учасниками процесу розробки. Команда проєкту налічувала близько десяти досвідчених експертів, серед яких Product owner, DevOps, бекенд- та фронтенд-розробники, тестувальник, бізнес-аналітик тощо. Ця робоча група дуже динамічна і може, залежно від ситуації, долучати потрібних спеціалістів.

На першому етапі проєкту всім час від часу доводилося працювати понаднормово, але це було викликано загальною ситуацією в країні, важливістю задачі і тим, що навіть мінімальна затримка означала, що хтось не отримає допомогу вчасно.

Усвідомлення мети додавало сил всім учасникам розробки — люди були готові працювати скільки потрібно, навіть знаходячись у бомбосховищах. В перші дні, коли почалися повномасштабні бойові дії і люди масово шукали більш-менш безпечні місця в Україні та за її межами, завдяки відпрацьованим процесам дистанційної роботи, вдалось уникнути переривання важливих бізнес-процесів. Навіть тоді, коли центральний офіс в Києві майже не працював.

До речі зараз робота підрозділів компанії відновлена в повному обсязі, а загальна активність лише трохи знизилася в порівнянні з довоєнними показниками. Команда Uklon наразі — це майже 450 спеціалістів, з яких понад 150 — це ІТ-дивізіон.

Повертаючись до технічної складової класу «Волонтер», варто зазначити, що в процесі його створення застосовувалися .NET 5.0, Node.js, Swift, Apache Kafka, Kubernetes (адже Uklon використовує мікросервісну архітектуру) та ін.

Швидкість розробки і впровадження нового класу реалізована, не в останню чергу, завдяки принципу паралельної розробки та API First, що його втілює компанія у своїх рішеннях.

Безпосереднє розгортання платформ та сервісів здійснюється на потужностях глобальних провайдерів хмарних послуг — AWS та Google Cloud.

Поєднання гнучких підходів до розробки, мікросервісної архітектури і хмар дозволяє динамічно та в автоматичному режимі нарощувати чи знижувати обсяг споживаних ресурсів. В результаті системи і сервіси Uklon впевнено працюють навіть за умов різкого та непередбачуваного багаторазового зростання навантаження.

Дублювання хмарних майданчиків і каналів зв’язку, що характерне для великих операторів, гарантує відмовостійкість важливих систем і збереження бізнес-даних за будь-яких умов.

Українці разом

На першому етапі проєкт стартував у столиці, але дуже швидко його дію було поширено на інші міста України, зокрема Одесу, Харків, Чернігів, Суми, Миколаїв, Запоріжжя, Дніпро. До нового сервісу долучилися біля сотні волонтерських груп зі всієї країни. З боку бізнесу ініціативу підтримали Mastercard, GetFeedback Shell, WOG, Foodz, Glovo, OVO, «Моршинська», Idealist Coffee, Milk Bar, Liki24, «Аптека 911», аптека «Подорожник», а також безліч невеликих компаній і приватних підприємців.

Щодо конкретних результатів, то станом на кінець червня, завдяки координації через клас «Волонтер» здійснено понад 17 тис. цільових поїздок для забезпечення необхідним лікарів, переселенців, жителів та захисників українських міст. Зокрема доставлено близько 14 тонн пального, 20 тонн продуктів, понад пів мільйона порцій їжі.

Цифри постійно зростають. Переважна більшість поїздок пов’язана з доставкою гуманітарної допомоги, зокрема медикаментів, продуктових наборів, дитячих речей, засобів особистої гігієни.

Всі дані про роботу «Волонтера» доступні онлайн в реальному часі. Завдяки чому можна бачити динаміку роботи з розподілом за містами та замовникам-волонтерам. Такий підхід допомагає приймати оперативні рішення, наприклад, щодо корекції зусиль в тих чи інших містах. Скажімо, якщо раніше Київ був явним лідером, то зараз «Волонтером» не менш активно користуються в Дніпрі, Одесі, Харкові.

При цьому видатки, пов’язані з оплатою перевезень бере на себе компанія Uklon, частково вони також покриваються за зовнішньої допомоги. Наразі сумарна вартість оплачених поїздок наблизилася до 5 млн грн, чверть з яких передали небайдужі громадяни через сервіс «Благодійний внесок» у застосунку Uklon.

Щоб це стало можливим, CRM-команда Uklon налаштувала систему таким чином, що під час поїздки, клієнт отримував повідомлення з інформацією про те, як він може підтримати проєкт та переказати допомогу.

Таке повідомлення один користувач міг отримати не більше двох разів на тиждень для різних поїздок. Додатково, користувачам надходили щотижневі звіти, в яких зібрана підсумкова інформація про успіхи проєкту, а також подяки за підтримку і нагадування про благодійні внески (що стимулює людей надсилати нові благодійні внески).

Як Uklon дякує користувачам за підтримку проєкту «Волонтер»

В цілому ж приклад сервісу «Волонтер» це, звісно, не тільки про технічні рішення. Найголовніше, що він демонструє — як українська ІТ-компанія може швидко впроваджувати дієві рішення, що допомагають людям в масштабах цілої країни та наближають нашу Перемогу.

Сподобалась стаття? Натискай «Подобається» внизу. Це допоможе автору виграти подарунок у програмі #ПишуНаDOU

👍ПодобаєтьсяСподобалось7
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі