Содержание:

Введение

В данном документе описаны подходы к управлению процессами разработки и поддержки программного обеспечения HelloPrint.

  • Программное обеспечение HelloPrint поставляется в виде облачного решения (SaaS).
    Клиент получает доступ к функционалу приложения через интернет по платной подписке.
    Само программное обеспечение находится на сервере разработчика, который обеспечивает работоспособность приложения, его регулярные обновления и доработки;
  • Разработка программного обеспечения включает в себя создание новых функций в системе, а также улучшение и исправление старых функций;
    Выпуск изменений предполагает обновление состояния исходного кода системы, структуры базы данных, инфраструктуры, а также всей документации как на разработку, так и поддержку продукта;
  • Изменения сопровождаются рассылками всех заинтересованных лиц с описанием состава изменений и порядком обновлений.

Информация о процессе разработки

  1. Планирование работ




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

    Процесс разработки разбивается на отдельные этапы, результатом каждого из которых является готовый продукт. В конце каждого этапа (в терминологии Scrum - это называется спринт) готовый продукт предоставляется заказчику. Полученный от заказчика отзыв позволяет выявить возможные проблемы или пересмотреть некоторые аспекты первоначального плана. Таким образом, текущий подход позволяет наилучшим образом следовать принципам Agile-разработки.

  2. Состав команды

    Состав команды разработки включает в себя:

    1. Руководитель проекта (Team Lead);
      Контролирует все процессы разработки и поддержки системы.

    2. Менеджер продукта (Product Manager);
      Отвечает за выпуск изменений, сроки, планирование, формирование требований к продукту и его приемку.

    3. Руководитель отдела тестирования (QA) и тестировщики;
      Обеспечивают качество разработки программного обеспечения.

    4. Бизнес-аналитик (Business analytics);
      Использует методы бизнес-анализа для исследования потребностей деятельности организаций с целью определения проблем бизнеса и предложения их решения.

    5. Технический писатель (Tech writer);
      Создает и обновляет техническую документацию, руководство пользователя и инструкции.
    6. Разработчики (Developers);
      Занимаются созданием и поддержкой программного обеспечения.

  3. Инфраструктура




    1. Фактический адрес

      Инфраструктура для хранения и обработки базы данных клиентов располагается в России на мощностях, которые арендуются в ООО «Селектел» по договору (соглашению) № 176869 от 12.10.2021. По адресу: ул. Берзарина, д. 36, стр. 3, Москва, 123060. Пользовательское соглашение доступно по адресу: https://files.selectel.ru/docs/ru/user-agreement.pdf

    2. Состав инфраструктуры


      Инфраструктура включает себя:
      1. Выделенные сервера
        Два выделенных сервера (тестовый EnjoyLab-dev-k8s-s1 и боевой EnjoyLab-k8s-s1) работают на базе docker-контейнеров, микросервисов и Kubernetes с интегрированными процессами CI/CD.
        Для организации процессов CI/CD на сервере EnjoyLab-tools-s1 развернут сервис Bamboo и приватный Docker registry — Harbor. В Docker registry хранятся образы микросервисов.
      2. Команда DevOps
        За проектом закреплена команда инженеров, в которую входит техлид, необходимое количество старших DevOps-инженеров, DevOps-инженеров среднего уровня, и команда дежурных администраторов, которая обеспечивает круглосуточный мониторинг, SLA и выполнение ночных регламентных работ по инфраструктуре. Техлид координирует все работы и отвечает за ежедневные коммуникации с командой разработки, согласует планы по дальнейшему развитию, приоритеты, сроки по задачам, делает всё необходимое, чтобы развитие системы шло в соответствии с планом, в инфраструктуре поддерживался порядок, она отвечала текущим потребностям проекта и команды.
      3. Мониторинг 24/7
        Обеспечение бесперебойной работы и поддержание аптайма, близкого к 100%. Для системы тонко настроен мониторинг инфраструктуры, приложения и бизнес-метрик, оптимальные значения триггеров и алерты. Стандартная скорость реакции на сбои — в течение 15 минут круглосуточно, включая выходные и праздники.
      4. Wiki по инфраструктуре
        В технической документации отражается схема текущей инфраструктуры, связи между различными компонентами системы, особенности архитектуры, маршрутизации, настроек конкретных сервисов. Это значительно ускоряет траблшутинг проблем и навигацию по инфраструктуре.
      5. Бекапы
        Резервное копирование файлов и БД выполняется в удаленное распределённое хранилище в ООО «Яндекс ДЦ».

  4. Процессы разработки

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

    1. Процесс Проектирование

    2. Процесс Конструирование

    3. Процесс Сборка

    4. Процесс Тестирование




      По итогам подготовки спринта (этапа работ), создается релиз кандидат и силами QA выполняется регрессионное тестирование на стабилизационной площадке в соответствии с планом тестирования. Управление процессом тестирования проходит в автоматизированной системе TestRail.

      Во время тестирования выполняются различные процессы, направленные на улучшение качества продукта:
      • Анализ требований;

      • Составление плана тестирования;

      • Разработка тестовых сценариев.


  5. Выпуск релиза

    После успешного тестирования программного продукта готовится выпуск релиза на производственной среде.
    В выпуске релиза принимают участие: руководитель проекта (Team Lead), менеджер продукта (Product Manager), руководитель отдела тестирования (QA) и инженеры DevOps.

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

    Системное программное обеспечение своевременно отслеживается и обновляется инженерами DevOps.

    Поставляется вместе со всей инфраструктурой с помощью настроенных CI/CD процессов на этапе выпуска релиза.
    Это обеспечивает надежность, стабильность и безопасность работы программного обеспечения HelloPrint.

Информация о процессе сопровождения

  1. Коммуникация со службой поддержки

    Коммуникация со службой поддержки может быть осуществлена по следующим каналам связи:
    1. Телефон:
      +7 (495) 128-54-18
    2. E-mail:
      support@helloprint.ru

  2. Режим работы службы поддержки

    Режим работы службы поддержки осуществляется в будние дни с понедельника по пятницу с 10:00 до 19:00 МСК.

  3. Ответственные лица

    1. Руководитель отдела поддержки отвечает за все процессы поддержки программного обеспечения.
    2. Команда поддержки программного обеспечения является исполнителем поставленных требований и задач по поддержке программного обеспечения в рамках договора заключенного с клиентом.

  4. Фактический адрес

    Инфраструктура поддержки располагается в России на мощностях, которые арендуются в ООО «Селектел» по договору (соглашению) № 176869 от 12.10.2021. 
    По адресу: ул. Берзарина, д. 36, стр. 3, Москва, 123060. Пользовательское соглашение доступно по адресу: https://files.selectel.ru/docs/ru/user-agreement.pdf

  5. Процессы поддержки

    Поддержка программного обеспечения состоит из двух частей: разработка нового функционала (feature) и улучшение старого функционала (bugfix).
    Каждой задаче присваивается приоритет, в зависимости от срочности и важности изменения.

    Исправление старого функционала, который блокирует основную деятельность клиента по работе с программным обеспечением, выпускается с высоким приоритетом в максимально короткие сроки.

    Принятие решения на разработку нового функционала зависит от общего спроса клиентской аудитории продукта, анализа востребованности рынка, сроков реализации и общих приоритетов в разработке.

    Общая схема выпуска изменений выглядит следующим образом:
    1. Сбор обратной связи от клиентов;
    2. Формирование технического задания на разработку;
    3. Оценка сроков реализации;
    4. Включение в план дорожной карты;
    5. Разработка, тестирование и выпуск изменений.


  • Нет меток