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

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

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

Содержание:

Введение

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

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

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

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

  1. Планирование работ и выпуск изменений



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

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

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

    1. Руководитель проекта (TeamLead);
      Отвечает за все процессы разработки и поддержки системы.

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

    3. QA и тестировщики;
      Специалисты по обеспечению качества разработки программного обеспечения, инженеры по тестированию продукта.

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

    5. Разработчики (Developers);
      Занимаются созданием и поддержкой программного обеспечения.

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




    Инфраструктура включает в себя:

    1. Выделенные сервера

      Два выделенных сервера (тестовый и боевой) работают на базе docker-контейнеров, микросервисов и Kubernetes с интегрированными процессами CI/CD.
    2. Команда DevOps

      За проектом закреплена команда инженеров, в которую входит техлид, необходимое количество старших DevOps-инженеров, DevOps-инженеров среднего уровня, и команда дежурных администраторов, которая обеспечивает круглосуточный мониторинг, SLA и выполнение ночных регламентных работ по инфраструктуре. Техлид координирует все работы и отвечает за ежедневные коммуникации с командой разработки, согласует планы по дальнейшему развитию, приоритеты, сроки по задачам, делает всё необходимое, чтобы развитие системы шло в соответствии с планом, в инфраструктуре поддерживался порядок, она отвечала текущим потребностям проекта и команды.
    3. Мониторинг 24/7

      Обеспечение бесперебойной работы и поддержание аптайма, близкого к 100%. Для системы тонко настроен мониторинг инфраструктуры, приложения и бизнес-метрик, оптимальные значения триггеров и алерты.
      Стандартная скорость реакции на сбои — в течение 15 минут круглосуточно, включая выходные и праздники.
    4. Wiki по инфраструктуре

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

      Резервное копирование файлов и БД выполняется в удаленное распределённое хранилище в ДЦ Яндекс.


  • Нет меток