Привет, на связи Технократия, и сегодня Head of Web компании Айзат Фархутдинов расскажет о том, как мы решали проблему актуализации статусов проектов: от заполнения табличек в Google Sheets до разработки полноценного сервиса, в котором есть функция суммаризации статусов.

Это не мем, это наша жизнь
Это не мем, это наша жизнь

Дисклеймер : Этот текст подготовила редакция «Технократии». Чтобы не пропустить анонс новых материалов подпишитесь на «Голос Технократии» — мы регулярно рассказываем о новостях про AI, LLM и RAG, а также делимся полезными мастридами и актуальными событиями.

Обсудить пилот или задать вопрос об LLM можно здесь.

Контекст

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

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

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

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

Чтобы решить проблему «глухого телефона», мы решили проводить предварительные технические встречи перед общими статус-совещаниями. На этих встречах собиралась информация о проблемах и предложениях от разработчиков.

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

Первые попытки автоматизации

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

Мы поняли, что требуется более системный подход. Поэтому решили автоматизации сбора данных с помощью Telegram-бота. Это решение позволило структурировать процесс: бот автоматически запрашивал статус у сотрудников в заранее заданное время, а ответы сохранялись в базе данных.

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

Со временем система была усовершенствована:

  • Интерфейс: вместо работы с JSON-файлами была разработана веб-версия с авторизацией, которая предоставляла удобный доступ к данным.

  • Гибкость: добавлены настройки расписания запросов для разных отделов и возможность выбора времени для получения напоминаний.

  • Масштабируемость: изначально бот был создан для одного отдела, но был адаптирован для использования в масштабах всей компании, с учетом особенностей работы разных команд.

Мы используем систему оценки от 0 до 3, где 0 - это все в порядке, а 3 - требует срочного вмешательства
Мы используем систему оценки от 0 до 3, где 0 - это все в порядке, а 3 - требует срочного вмешательства

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

Раскатываем систему на всю компанию

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

  • Ролевое управление: введение ролей (админ, лид, топ) дало возможность разграничить доступ к функционалу. Например, администраторы могли управлять всей системой, лиды — видеть данные своих отделов, а руководители — получать агрегированную информацию по проектам.

  • Гибкость настроек: система позволила лидерам адаптировать время и дни напоминаний о заполнении статусов, что увеличило удобство работы и снизило нагрузку на сотрудников.

Эти изменения сделали систему интуитивной и масштабируемой, что стало ключевым фактором для ее успешного внедрения в компании. А еще примерно в этот момент сервис стал называться «Статусер» и обзавелся своим логотипом и фирменным стилем.

Пример интерфейса
Пример интерфейса

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

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

  • Кастомизация для клиентов: появилась возможность адаптировать опросы и отчеты под требования внешних команд. Это сделало систему более универсальной и удобной для внешних пользователей.

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

  • Если проект завершался, он автоматически архивировался, но сохранялся в системе для ретроспективного анализа.

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

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

Окно администратора для настройки даты оповещения о сборе статусов
Окно администратора для настройки даты оповещения о сборе статусов

«Статусер» стал неотъемлемой частью рабочих процессов компании и заложил основу для следующего этапа — интеграции искусственного интеллекта.

Для чего мы добавили в «Статусер» искусственный интеллект

Мы в Технократии не только разрабатываем цифровые продукты, но и работаем с интеграцией LLM в существующие сервисы. А с ростом числа проектов и увеличением объема данных необходимость в более глубоком и оперативном анализе стала очевидной. Особенности работы сотрудников, включая развернутые комментарии и смешивание различных типов информации, усложняли обработку данных вручную. Искусственный интеллект (ИИ) был внедрен для решения следующих задач:

  • Автоматическая суммаризация и структурирование информации из статусов.

  • Обезличивание данных для сохранения конфиденциальности.

  • Ускорение подготовки отчетов и выявления ключевых проблем.

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

Основные этапы интеграции:

Системный промпт: Был создан подробный промпт для LLM, описывающий структуру и формат данных, а также ожидаемый результат. В нем указывались правила, по которым должны разделяться проблемы и решения, а также отсеиваться ненужная информация (например, комментарии об отпусках).

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

Гибкость настроек: Администраторы получили возможность изменять промпты и выбирать LLM, что сделало систему адаптивной для разных задач.

Пример суммаризации статусов
Пример суммаризации статусов

В итоге интеграция ИИ помогла нам повысить прозрачность заполнения статусов, повлияла на эффективность обработки данных, особенно для команд, где работает более 20 специалистов, а также система стала автоматически подсвечивать потенциальные риски, используя визуальные индикаторы, что облегчало восприятие информации.

Комментарии (2)


  1. cherkalexander
    06.12.2024 17:03

    Подскажите, а почему не взяли готовый продукт по управлению проектами? С джирой понятно, санкции, но есть, например, Яндекс Трекер.


    1. technokratiya Автор
      06.12.2024 17:03

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