Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 85 Следующий »

Содержание:

Введение

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

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

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

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

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




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

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

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

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

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

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

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

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

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

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




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

      Инфраструктура разработки располагается в XXX (страна) на мощностях, которые арендуются в ООО "XXX (наименование компании)" по договору № XXX (номер договора) от XXX (дата договора).
      По адресу XXX (физический адрес).

    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. Тестирование



    По итогам подготовки спринта (этапа работ), создается релиз кандидат и силами QA выполняется регрессионное тестирование на стабилизационной площадке в соответствии с планом тестирования.
    Управление процессом тестирования проходит в автоматизированной системе TestRail.
    Во время тестирования выполняются различные процессы, направленные на улучшение качества продукта:
    1. Анализ требований;
    2. Составление плана тестирования;
    3. Разработка тестовых сценариев.

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

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

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

  6. Обновление системного программного обеспечения

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

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

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

    Коммуникация со службой поддержки может быть осуществлена по следующим каналам связи:
    1. Телефон:
      ХХХ
    2. E-mail:
      XXX

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

    Режим работы службы поддержки осуществляется ХХХ (график работы)

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

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

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

    Инфраструктура поддержки располагается в XXX (страна) на мощностях, которые арендуются в ООО "XXX (наименование компании)" по договору № XXX (номер договора) от XXX (дата договора).
    По адресу XXX (физический адрес).

  5. Процессы поддержки программного обеспечения

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