Процессы жизненного цикла Агент Mail.ru

Введение

Мессенджер «Mail.ru АГЕНТ мессенджер» - коммуникационное программное обеспечение, включающее взаимосвязанные базы данных и программный комплекс (в т.ч. программы, мобильные и прочие приложения), обеспечивающие коммуникации пользователей, в том числе в виде голосовых и видеозвонков, обмена текстовыми сообщениями, файлами, электронными письмами

Поддержание жизненного цикла мессенджера осуществляется за счёт сопровождения в течении всего периода эксплуатации.

  • Поддержка стабильной работоспособности, мониторинг

    • Мониторинг
    • Планирование производительности и установка нового оборудования
  • Развитие и модификация

    • Определение необходимых изменений, их детализация
    • Разработка в соответствие с поставленной задачей
    • Подготовка приложений
    • Тестирование функциональности
    • Проведение апдейтов
  • Обновление ПО
    • Замена устаревшего ПО
    • Развитие внутренних инструментов

Процессы жизненного цикла

Поддержка стабильной работоспособности, мониторинг

С целью поддержания функционирования мессенджера осуществляется постоянный мониторинг ключевых характеристик сервиса при помощи системы автоматизированного мониторинга в режиме 24/7.

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

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

Развитие, модификация и обновление

  • Продуктовый менеджер анализирует потребности пользователей ПО, в том числе при помощи сбора статистических данных и проведения исследований на фокус-группе пользователей. На этом этапе формулируется идея изменений, которые могут улучшить функциональные характеристики ПО для пользователей
  • Готовая идея передается UX-дизайнеру для определения необходимых изменения в пользовательском интерфейсе ПО, определения необходимых для показа пользователю данных, возможных вариантов использования и переходов между страницами/экранами. UX-дизайнер создаёт макеты будущих экранов
  • Далее продуктовый менеджер совместно с командами разработчиков производит оценку сроков, требуемых на разработку функционала, определяются разработчики, участвующие в разработке. В системе трекинга задач создаются необходимые задачи и назначаются ответственным разработчикам
  • Разработка и первоначальная отладка функционала осуществляется разработчиками в dev-окружении, являющемся упрощенной копией prod-окружения, в котором все компоненты функционируют полностью независимо от prod-окружения
  • Код программ, прошедший предварительную проверку разработчиком, автоматически раскладывается в тестовое alpha-окружение, в котором базы данных используются из prod-окружения, но нет нагрузки от пользователей. Исполняются без ошибок автоматические тесты
  • Далее QA-инженеры производят ручное тестирование внесенных в процесс разработки нового функционала изменений. При нахождении ошибок информация о них передается программисту посредством системы трекинга задач, задача возвращается на доработку
  • После успешного тестирования нового функционала изменения вливается к основной ветке разработки, собирается релиз, который подвергается регрессионному тестированию
  • Успешно протестированный релиз передаётся к передаче обновления для пользователей, сначала на ограниченный % аудитории и далее до 100% 

Информация о персонале


Специалисты, участвующие в разработке и обслуживании продукта:

  • Команда продукта — продуктовые менеджеры и аналитики, отвечающие за продуктовую логику
  • Дизайнеры — разрабатывают визуальный стиль продукта и UX
  • Разработчики — несколько команд, специализирующихся на разработке серверной части, VOIP, клиентских приложений для iOS, Android, Windows, macOS, Linux, web
  • Команда тестирования — QA-инженеры, отвечающие за качество продукта и дистрибуцию бета-сборок
  • Команда антиспама — удаляет спам, блокирует подозрительную пользовательскую активность
  • Служба поддержки — помогает пользователям, собирает обратную связь по продукту, передает обратную связь в команду продукта и разработчикам
  • Команда эксплуатации и сопровождения — обеспечивает бесперебойную работу ПО, обрабатывает возникающие инциденты, выполняет своевременные обновления и профилактические работы, эксплуатирует серверную инфраструктуру
  • Маркетинг и PR — отвечают за привлечение аудитории в продукт, его продвижение на рынок, организуют коммуникацию от лица продукта
Обновлено 7 декабря 2021 г.