Рассказываем, как за 2 недели сделать виджеты на 200 000 задач, опираясь на свой опыт и наитие.
Мы — Софториум, и для нас нет ничего невозможного
Даже если речь про доработку такого популярного инструмента, как YouTrack — ведь любой софт можно подогнать под задачи своего бизнеса. Только где-то достаточно открыть «Настройки» и задать новые параметры, а где-то (например, в YouTrack) приходится зарываться в код.
Понятно, что пользователям сервиса не до этого. Им нужен кто-то, кто быстро придёт на помощь, услышит, чего они хотят, и сделает всё по красоте. Например, мы — суровые сибирские разрабы и эксперты в легаси-коде. Мы упрощаем жизнь нашим клиентам с 2021 года и превращаем их «хочу» в «вау, как это круто работает!» Мы уже помогли аптечным сетям «Столички» и «Неофарм», а теперь расскажем, что делали для SOKOLOV.
ИТ-отдел ведущего ювелирного магазина страны не успевал отслеживать задачи в реальном времени
SOKOLOV — любимый ювелирный бренд россиян, производящий украшения с 1993 года. В 2020 SOKOLOV разработал мобильное приложение, а в 2021 первым в России запустил виртуальную примерку.
У компании большой ИТ-отдел и сотни тысяч задач, которые команда контролировала через YouTrack. Этот сервис их в принципе устраивал, но кое-где его функционала не хватало.
Для отслеживания прогресса по задачам компания нуждалась в инструменте, который хорошо визуализирует данные. Чтобы было так: взглянул — увидел проблему — решил. YouTrack не давал клиенту такой возможности. Точнее давал, но в сильно меньшем объёме.
Клиенту нужно было визуализировать 200 000 задач
YouTrack наглядно отображает историю задач, если в работе их несколько сотен. На графике ниже — 147 задач. Мы можем просматривать, как менялись их статусы в разные периоды времени — всё наглядно.
Но в огромном айти-отделе SOKOLOV количество задач росло с каждым днём. И вот когда перед нами не 124 задачи, а 1268, график выглядит уже не так репрезентативно, правда?
Чтобы увидеть цифры за конкретный день, нужно навести курсор мыши на узел — место пересечения даты и количества задач. Флоу не прибавляет диаграмме наглядности, а клиенту нужно было:
- видеть, сколько времени задача находится в статусе;
- фильтровать задачи по разным параметрам;
- регулировать количество просматриваемых задач.
Вывод один — графику требовалась доработка.
Диаграммы в YouTrack нельзя настроить под себя без вмешательства в код. Виджет, который отображал бы всю необходимую SOKOLOV информацию, нужно было писать с нуля
За основу будущей диаграммы взяли референс клиента
Клиент принес референс и показал, как должно выглядеть будущее решение. Это такая же потоковая диаграмма, только с её помощью уже можно и задачи по разным параметрам отфильтровать, и статусы посмотреть.
Поняли, что лезть руками в код 100% придётся
На всякий случай мы ещё раз сами проверили, что можно сделать в YouTrack без кодирования. По нашей задаче — ничего. Инструмент не настраивался кастомно. К тому же, данные о задачах нужно было доставать из системы вручную.
По сути, YouTrack — это такая большая база данных с информацией о задачах. Часть функциональности сервиса эти данные собирает и хранит, а часть — отображает в интерфейсе. При этом далеко не все данные, которые собирает YouTrack, выводятся на экран.
Выгрузили из YouTrack гигабайты информации о задачах
Чтобы что-то показать пользователю, нужно сначала это что-то получить. Нам нужно было знать, сколько времени задача находилась в том или ином статусе. Для этого нам предстояло достать из базы даты входов и даты выходов по всем задачам. Сделать это можно, но сложно — всё упирается в объём.
Прикинем: если умножить количество задач (200 000+) на количество статусов (8), то мы получим гигабайты данных. И все их нужно загрузить локально на компьютер клиента, чтобы дальше использовать для анализа. И это при браузерном ограничении в 2 Гб для одной переменной. Сказать, что мы замучились грузить их вручную — ничего не сказать. Но таков путь (другого у нас просто не было).
Сделали для задач понятную фильтрацию
Теоретически фильтры для YouTrack можно настроить. Но практически — для этого тоже нужно лезть в код и через него создавать списки фильтрации. Клиент объяснил, по какой логике ему нужно группировать задачи, и мы сделали это возможным в новом виджете.
Теперь задачи в YouTrack фильтруются по нескольким параметрам: статус, тип работ, иерархия, направление. Дополнительно прикрутили функции учёта только рабочих дней и возможность вычитать дни, когда задача находилась в других статусах.
Научили систему отображать 200 000+ задач в реальном времени
Теперь графики наглядно показывают состояние задач на проекте. Посмотрите, как изменилась диаграмма!
На ней появились возможности:
- просмотра статуса задач за определенный период;
- регулировки количества задач для читабельности графика;
- фильтрации задач по необходимым параметрам.
Дополнительно к этому доработали ниспадающую диаграмму — ещё один тип виджета, полезный для контроля проектов.
Графики стали более информативными и живыми. Теперь они отображают реальное положение дел на проекте и помогают менеджерам управлять огромным количеством задач.
Зафиналили проект без достаточной технической документации
Техническая документация — подспорье для разработчиков. Она объясняет, как устроен инструмент, и помогает доделывать его не вслепую. Но документация есть не на всех проектах. Это усложняет работу с ними — вместо того, чтобы чётко следовать инструкции, приходится двигаться наугад.
С YouTrack нам повезло только наполовину. В общих чертах создание виджетов было описано в документации. А в тонкостях — какие данные, какими методами и куда передавать — нам пришлось разбираться самостоятельно. Поэтому доработка сервиса заняла 2 недели, хотя могла занять несколько дней. Но даже в таких условиях мы сделали конфетку.
Передаём клиенту результаты работы
В процессе создания виджета мы использовали тестовые данные — проекты клиента под NDA. Поэтому при внедрении реальной информации в новые графики могли возникнуть ошибки. Мы предупредили об этом клиента и сказали, что в первое время будем на связи с ним, чтобы оперативно исправлять баги.
На этом всё, друзья! Знакомьтесь с другими нашими проектами и подписывайтесь на наш телеграм-канал. Там мы делимся новостями, рассказываем о том, что происходит в компании, и общаемся так, как если бы встретились с вами на кофе-брейке. Добавляйтесь — будем рады.