Номинируйте кейсы на Workspace Digital Awards 2026. Прием заявок до 15 декабря по льготной цене, успейте принять участие!
Софториум
Сделали визуализацию на 200 000 + задач в YouTrack. Кейс SOKOLOV
Софториум
#Проектирование и дизайн CRM#Разработка программного обеспечения

Сделали визуализацию на 200 000 + задач в YouTrack. Кейс SOKOLOV

95 
Софториум Россия, Кемерово
Поделиться: 0 0 0
Сделали визуализацию на 200 000 + задач в YouTrack. Кейс SOKOLOV
Клиент

Sokolov

Сфера

Торговля

Регион

Россия, Москва

Сдано

Июль 2023

Задача

SOKOLOV можно не представлять

Но мы всё-таки представим! SOKOLOV — российский бренд ювелирных украшений, один из лидеров отрасли. Компания уделяет много внимания омниканальности: В 2020 году SOKOLOV запустил мобильное приложение, в котором уже через год было 4 миллиона пользователей.

Чтобы онлайн-каналы работали стабильно, нужно, в том числе, виртуозно управлять внутренними процессами. Но софт, который SOKOLOV использовал для менеджмента своей ИТ-команды, не отвечал требованиям руководства на 100%. Нам нужно было помочь клиенту настроить инструмент под задачи менеджеров.

Клиент не мог полноценно отслеживать, как выполняются задачи

Для управления проектами клиент использовал YouTrack. Это довольно мощная и удобная программа, но всё-таки — коробочное решение. Вот, представьте, дарят вам ящик с инструментами: такой весь новенький, красивый, укомплектованный. Поначалу кажется, что в нём всё есть. Но стоит какому-то винтику в шкафу открутиться, вы обязательно обнаружите, что нужный шестигранник на 12 мм в наборе отсутствует.

С коробочным решением так же: каким бы оно ни было идеальным, порой нужной именно вам функции может не быть. Это и произошло и в случае нашего клиента.

Sokolov хотел, чтобы мы усовершенствовали диаграммы, которые были в YouTrack: добавили виджеты с настраиваемой визуализацией и кастомной системой фильтров, чтобы отображение большого массива данных стало наглядным.

Проще говоря, клиент хотел, чтобы мы положили в его ящик с инструментами недостающие шестигранники.

Решение

1Убедились, что вмешательства в код не избежать

Нам дали референс — как надо сделать

Клиент показал нам интерфейс виджета, в котором было всё, чего ему не хватало в YouTrack. Эта та же самая кумулятивная диаграмма, но уже с нужными функциями:

установка диапазона дат, чтобы смотреть задачи за определённый период;

фильтрация данных по нескольким параметрам: тип работ, направление, класс обслуживания и статус;

регулировка количества просматриваемых задач с помощью бегунка.

Методика у нас выверенная. План A: изучаем доступную функциональность инструмента, чтобы проверить, можно ли внести изменения без вмешательства в код. Если можно — вносим. Если нельзя — подключаем план B: анализируем, что нужно добавить в код, и добавляем.

В YouTrack нельзя было ни усовершенствовать диаграмму, ни получить необходимые данные для отображения на ней в готовом виде, поэтому нам пригодился план B.

Бросились в этот океан без достаточной технической документации

Создание виджета для готовой системы — классная задача для разработчиков. Ты изучаешь устройство готового инструмента и дополняешь его своим (!) кодом. Это как если бы Микеланджело Буонарроти предложил молодому художнику сделать пару взмахов кисти где-то в районе его «Сотворения Адама». Вдохновляет, но есть нюанс.

Документацию YouTrack нельзя назвать исчерпывающей. Создание виджетов в базовом виде в ней описано, но все тонкости не указаны. Так в документации не оказалось описания нужных нам методов API. И нам пришлось методом проб и ошибок разбираться в том, как YouTrack передаёт данные.

Ситуация, когда на какой-то объём функциональности документации нет, встречается почти на каждом проекте. К сожалению, мы не преувеличиваем. Но у такой частотности есть и хорошая сторона — мы к этому готовы. В классическом режиме, когда документация есть, мы просто читаем её и понимаем, какой параметр передать, чтобы получить нужные данные. Когда документации нет, выясняем всё это экспериментальным путем. Недостаток у этого пути один — долго. Каждый «вопрос-ответ-разработка» затягивает сроки проекта. Но лучше так, чем не делать совсем. А вот была бы у нас документация, мы бы, может быть, управились за несколько дней!

2Виджеты для YouTrack

Вытащили из YouTrack гигабайты скрытой информации о задачах на проекте

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

У пользователя есть доступ к тем данным, которые выводятся через интерфейс. Но есть и те данные, которые хранятся в базе, но в интерфейсе не отображаются. Клиенту нужно было, чтобы мы эти данные достали и отобразили. В нашем случае — данные, которые связаны с историей задач.

Сложность была в том, что задач этих невероятно много. В процессе выгрузки мы столкнулись с ограничениями браузера. Например, нельзя было грузить больше 2Гб данных в одной переменной. Поэтому нам пришлось по частям выгружать данные из базы локально на компьютер заказчика, чтобы в дальнейшем их можно было использовать для анализа.

Научили YouTrack отслеживать, сколько времени задача находится в том или ином статусе

Клиенту важно было видеть, сколько времени задача находится в конкретном статусе. У YouTrack есть отображение событий как таковых: изменение статуса задачи, изменение комментариев, изменения параметров. Но нет распределения по периодам, то есть нет возможности собирать данные о дате вхождения задачи в определённый статус и о выходной точке.

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

Упростили поиск и группировку задач с помощью новой системы фильтров

Иногда клиенту нужно посмотреть какую-то определенную группу задач, объединённую общими параметрами. Для этого используется система фильтров (да, совсем как в каталоге у Ozon).

В YouTrack есть свой интерфейс для создания страниц с фильтрами, но наполнения для них нет. Задача программистов — это наполнение создать. Так мы и добавили необходимые клиенту атрибуты:

параметры задач (тип работ, статус, иерархия);

возможность учёта только рабочих дней;

возможность вычитать дни, когда задача находилась в других статусах.

Научили систему отображать 200 000+ задач в реальном времени

Результат

Вспомните наше «до»:

Вроде всё наглядно: ось х — даты, ось y — количество задач. Видно, какие задачи в прогрессе, какие в тесте. Но что произойдёт, если попытаться отследить статус не 147 задач, а, скажем, 1268? Наглядность покинет чат:

И вот наше «после»:

На диаграмме появились необходимые возможности:

просмотр статуса задач за определенный период;

регулировка количества задач для читабельности графика;

фильтрация задач по необходимым параметрам.

Теперь мы видим динамику перехода задач из одного статуса в другой. А чтобы клиент мог видеть, сколько задач (ось x) было выполнено за определённое количество дней (ось y), мы доработали ещё один тип виджета — ниспадающую диаграмму:

Через две недели готовый виджет уже был у клиента

Клиент установил готовый набор файлов в своём YouTrack, и виджеты заработали. С первого раза неидеально, потому что мы строили систему на тестовых данных, а данные клиента не могли использовать из-за NDA.

Мы предупредили клиента, что в работе виджетов могут возникнуть ошибки, если наши и его данные по структуре будут отличаться (а они будут). Клиент принял такой расклад, потому что мы обещали помочь ему в устранении ошибок. Эта работа заняла ещё около недели.

Ну а что у нас? У нас сохранились заготовки, которые позволят в следующий раз решить похожую задачу в разы быстрее. Так что, если ваш инструмент для управления проектом несовершенен, — пишите! Мы знаем, что и где подкрутить, чтобы он на 100% отвечал вашим задачам.

Комментарий агентства

Анна Сабадаш
Анна Сабадаш

Операционный директор

Вот такой кейс у нас получился. Жмем руки всем, кто дочитал до конца! Делитесь тем, что думаете про нашу работу, и рассказывайте, как вам статья.

Ну и подписывайтесь на наш канал https://t.me/+e3YmBK7CjcQ2ZTRi Сейчас мы идем в новое позиционирование: делаем ребрендинг, контент-маркетинг и пишем обо всем, с чем сталкивается IT-компания, стремящаяся выйти в топы.


Стек технологий

  • React.js React.js Фреймворк/библиотека

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Софториум с удовольствием обсудит вашу задачу

Оставить заявку