Прокачали инструменты аналитики для SOKOLOV — крупнейшего в России ювелирного производителя

HTML
CSS
JavaScript
React
YouTrack API

Рассказываем, как за 2 недели сделать виджеты на 200 000 задач, опираясь на свой опыт и наитие.

Мы — Софториум, и для нас нет ничего невозможного

Даже если речь про доработку такого популярного инструмента, как YouTrack — ведь любой софт можно подогнать под задачи своего бизнеса. Только где-то достаточно открыть «Настройки» и задать новые параметры, а где-то (например, в YouTrack) приходится зарываться в код.

Понятно, что пользователям сервиса не до этого. Им нужен кто-то, кто быстро придёт на помощь, услышит, чего они хотят, и сделает всё по красоте. Например, мы — суровые сибирские разрабы и эксперты в легаси-коде. Мы упрощаем жизнь нашим клиентам с 2021 года и превращаем их «хочу» в «вау, как это круто работает!» Мы уже помогли аптечным сетям «Столички» и «Неофарм», а теперь расскажем, что делали для SOKOLOV.

ИТ-отдел ведущего ювелирного магазина страны не успевал отслеживать задачи в реальном времени

SOKOLOV — любимый ювелирный бренд россиян, производящий украшения с 1993 года. В 2020 SOKOLOV разработал мобильное приложение, а в 2021 первым в России запустил виртуальную примерку.

У компании большой ИТ-отдел и сотни тысяч задач, которые команда контролировала через YouTrack. Этот сервис их в принципе устраивал, но кое-где его функционала не хватало.

Для отслеживания прогресса по задачам компания нуждалась в инструменте, который хорошо визуализирует данные. Чтобы было так: взглянул — увидел проблему — решил. YouTrack не давал клиенту такой возможности. Точнее давал, но в сильно меньшем объёме.

Клиенту нужно было визуализировать 200 000 задач

YouTrack наглядно отображает историю задач, если в работе их несколько сотен. На графике ниже — 147 задач. Мы можем просматривать, как менялись их статусы в разные периоды времени — всё наглядно.

Это накопительная потоковая диаграмма — тип графиков, который придумали, чтобы оценивать прогресс проекта. Пока всё понятно!

Но в огромном айти-отделе SOKOLOV количество задач росло с каждым днём. И вот когда перед нами не 124 задачи, а 1268, график выглядит уже не так репрезентативно, правда?

А вот на этом графике оценить состояние проекта уже невозможно — всё слилось воедино!

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

  • видеть, сколько времени задача находится в статусе;
  • фильтровать задачи по разным параметрам;
  • регулировать количество просматриваемых задач.

Вывод один — графику требовалась доработка.

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

За основу будущей диаграммы взяли референс клиента

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

Клиент показал нам пример и попросил реализовать такую же диаграмму в YouTrack

Поняли, что лезть руками в код 100% придётся

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

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

Выгрузили из YouTrack гигабайты информации о задачах

Чтобы что-то показать пользователю, нужно сначала это что-то получить. Нам нужно было знать, сколько времени задача находилась в том или ином статусе. Для этого нам предстояло достать из базы даты входов и даты выходов по всем задачам. Сделать это можно, но сложно — всё упирается в объём.

Прикинем: если умножить количество задач (200 000+) на количество статусов (8), то мы получим гигабайты данных. И все их нужно загрузить локально на компьютер клиента, чтобы дальше использовать для анализа. И это при браузерном ограничении в 2 Гб для одной переменной. Сказать, что мы замучились грузить их вручную — ничего не сказать. Но таков путь (другого у нас просто не было).

Сделали для задач понятную фильтрацию

Теоретически фильтры для YouTrack можно настроить. Но практически — для этого тоже нужно лезть в код и через него создавать списки фильтрации. Клиент объяснил, по какой логике ему нужно группировать задачи, и мы сделали это возможным в новом виджете.

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

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

Теперь графики наглядно показывают состояние задач на проекте. Посмотрите, как изменилась диаграмма!

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

На ней появились возможности: 

  • просмотра статуса задач за определенный период;
  • регулировки количества задач для читабельности графика;
  • фильтрации задач по необходимым параметрам.

Дополнительно к этому доработали ниспадающую диаграмму — ещё один тип виджета, полезный для контроля проектов. 

В светлой теме
В темной теме

Графики стали более информативными и живыми. Теперь они отображают реальное положение дел на проекте и помогают менеджерам управлять огромным количеством задач.

Зафиналили проект без достаточной технической документации

Техническая документация — подспорье для разработчиков. Она объясняет, как устроен инструмент, и помогает доделывать его не вслепую. Но документация есть не на всех проектах. Это усложняет работу с ними — вместо того, чтобы чётко следовать инструкции, приходится двигаться наугад. 

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

Передаём клиенту результаты работы

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

результаты в цифрах

На этом всё, друзья! Знакомьтесь с другими нашими проектами и подписывайтесь на наш телеграм-канал. Там мы делимся новостями, рассказываем о том, что происходит в компании, и общаемся так, как если бы встретились с вами на кофе-брейке. Добавляйтесь — будем рады.

Написать в телеграм

Читать еще

Приложение «Экодар». Помогаем компании стать ближе к покупателям, а людям пить чистую воду

React Native