Логистический интегратор

Жизненный цикл продукта


Аннотация

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


Содержание

1. Жизненный цикл продукта
1.1 Проектирование
1.2 Разработка
1.3 Тестирование
1.4 Передача
1.5 Поддержка версий продукта и доработка
1.6 Правила по вводу и выводу версий продукта в/из техническую поддержку
2 Техническая поддержка продукта и устранение сбойных ситуаций
2.1 Список сокращений
2.2 Общее описание
2.3 Условия исполнения обязательств по сопровождению
2.4 Порядок оказания услуг
2.5 Отчет о состоянии обращения
2.6 Описание приоритетов обращений


1. Жизненный цикл продукта


Выпуск продукта осуществляется через разработку и передачу заказчику релизов и патчей.


Процесс создания новых релизов включает следующие этапы:

 

  • проектирование,
  • разработка,
  • тестирование,
  • передача заказчику,
  • поддержка версий и доработка в процессе эксплуатации.


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


1.1 Проектирование


На этапе проектирования разрабатываются технические задания (ТЗ) для нового релиза программного продукта. ТЗ формируется на основе следующих факторов:

 

  • Дорожная карта развития продукта

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

 

  • Обратная связь от заказчика

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


В процессе составления ТЗ выполняются следующие шаги:

 

  • Формирование перечня доработок:

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

 

  • Оценка трудозатрат:

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

  • Определение сроков:

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


1.2 Разработка


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

  • Создание новых модулей программы:

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

  • Внесение изменений в код предыдущей сборки продукта:

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

В процессе разработки используются различные методологии, такие как Agile (Scrum), чтобы обеспечить гибкость и оперативность выполнения задач.

Основные аспекты разработки включают:

  • Кодирование и документация:

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

  • Код-ревью и контроль качества:

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

  • Интеграция и сборка:

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

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


1.3 Тестирование


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

 

  • Регрессионное тестирование:

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

 

  • Ручное функциональное тестирование:

           Ручное функциональное тестирование заключается в проверке новых функций и модулей в соответствии с техническим заданием (ТЗ). Тестировщики вручную проходят по сценариям использования, чтобы убедиться, что новые функции работают корректно и соответствуют требованиям, описанным в ТЗ. Это также включает тестирование пользовательского интерфейса, проверки на совместимость и корректное выполнение всех бизнес-процессов.


Процесс тестирования также включает следующие аспекты:

 

  • Документирование обнаруженных дефектов:

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

 

  • Фиксация и устранение дефектов:

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

 

  • Автоматизированное тестирование:

           В дополнение к ручным тестам, наша команда используют автоматизированное тестирование для повышения эффективности. Сценарии автотестов запускаются автоматически и позволяют быстро провести объемное тестирование.


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


1.4 Передача


Передача продукта заказчику состоит из следующих этапов:

 

  1. Подготовка и выкладка нового релиза:

            После завершения подготовки нового релиза, архив с дистрибутивом (Docker-образом) выкладывается на страницу GitLab с образами в Yandex Registry. Релиз помещается в раздел, содержащий образы и актуальные версии продукта. Новый образ помечается как актуальная версия, а предыдущая версия становится архивной.


            В состав релиза входят:

  • Дистрибутив (Docker-образ) с новой версией продукта,
  • Release notes (заметки о релизе),
  • Инструкция по установке.

 

        2. Уведомление заказчика:

            Заказчику направляется уведомление о выходе новой версии продукта.


  Сообщение содержит:
   - Указание номера новой версии продукта,
   - Краткое описание новой функциональности,
   - Ссылку на страницу с новой версией продукта.

       3. Процесс обновления:

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

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


1.5 Поддержка версий продукта и доработка


Для упорядочивания процесса выпуска продукта, в отношении релизов и патчей, принят следующий порядок обозначения:  
«Название продукта» v«М.В», где  
М – номер основной версии релиза (major version)  
В – номер второстепенной версии релиза (minor version)  


Пример обозначения продукта с учетом номеров версий и патчей: Smart Insider v1.0  


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

 

  • Выпуск новой основной (мажорной) версии:

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

 

  • Выпуск новой второстепенной (минорной) версии:

  Новая второстепенная версия релиза выпускается в случаях, когда функциональность или используемые технологии изменены несущественно (среднее влияние на функциональность). Номер минорной версии увеличивается на 1 относительно предыдущей. Например, с версии 1.0 на версию 1.1.


Для выпуска новой версии продукта производитель сопровождает её следующими документами:

 

  • Release notes:

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

 

  • Инструкция по установке:

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


1.6 Правила по вводу и выводу версий продукта в/из техническую поддержку


Для ввода версии продукта в техническую поддержку и прекращения ее поддержки применяются следующие правила:

  • Получение технической поддержки новой версии:

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

  • Рекомендации по обновлению:

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

  • Прекращение поддержки версии:

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

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

2. Техническая поддержка продукта и устранение сбойных ситуаций


2.1 Список сокращений


2.2 Общее описание


Услуги, предоставляемые в рамках технической поддержки, включают следующие компоненты:

 

  • Доступ к системе регистрации инцидентов:

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

  • Анализ и обработка обращений:

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

 

  • Консультации пользователя:

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

  • Предоставление обновлений:

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

  • Внеочередные обновления для критических случаев:

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

  • Информирование о планах обновлений:

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


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


2.3 Условия исполнения обязательств по сопровождению


В течение срока действия технической поддержки Заказчик имеет право обращаться к Исполнителю за оказанием услуг по сопровождению программного обеспечения (далее – Услуга) в соответствии с настоящим Регламентом.
Запрос – это документированное обращение Заказчика за Услугой к Исполнителю по предусмотренным каналам связи. Обращение считается новым, если оно не связано с предыдущими обращениями Заказчика или не касается уже принятых услуг.
Запросы на поддержку принимаются, если они поданы лицами, указанными в списке уполномоченных представителей Заказчика.


В случае изменения списка уполномоченных представителей Заказчик должен уведомить Исполнителя о внесении изменений.


2.4 Порядок оказания услуг


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


При подаче запроса на поддержку Заказчик указывает следующие сведения:

  • наименование системы, требующей поддержки;
  • описание проблемы;
  • предполагаемый приоритет проблемы.

Каждому запросу присваивается уникальный регистрационный номер в системе регистрации инцидентов. Исполнитель сообщает Заказчику этот номер для отслеживания.
Запросы обрабатываются и выполняются в соответствии с установленной системой приоритетов. Действия специалистов по выполнению запроса фиксируются в системе регистрации инцидентов.
Заказчик обязуется следовать рекомендациям и предоставлять необходимую дополнительную информацию для своевременного решения запроса. Вся дополнительная информация и рекомендации документируются в системе регистрации инцидентов. Если ответ на запрос зависит от третьей стороны (например, информация, лицензии, консультации), Исполнитель уведомляет об этом Заказчика.
Ответ на запрос доставляется через электронную почту или телефон, в зависимости от канала подачи запроса.
Запрос считается завершенным после доставки ответа и получения подтверждения от Заказчика о решении проблемы. В случае несогласия Заказчика с закрытием запроса его выполнение продолжается.
Запрос переходит в состояние закрытого после подтверждения Заказчиком решения проблемы. Если в течение 7 рабочих дней Заказчик не ответит, запрос считается закрытым автоматически. Заказчик может инициировать закрытие запроса, если необходимость в ответе отпала.


2.5 Отчет о состоянии обращений


Исполнитель ведет учет всех текущих и уже закрытых обращений Заказчика. Этот список содержит следующую информацию:

  • Общее количество обращений Заказчика. Для каждого обращения указываются:
    •   Идентификатор обращения;
    •   Заголовок обращения;
    •   Категория обращения;
    •   Дата получения обращения от Заказчика;
    •   Сторона, на которой находится обращение (Исполнитель/Заказчик);
    •   Имя заявителя обращения;
    •   Статус обращения;
    •   Дата предоставления решения Заказчику (если есть);
    •   Количество человеко-часов, затраченных Исполнителем на выполнение запроса по сопровождению ПО.


Исполнитель обязуется предоставлять данный список Заказчику по его запросу.


2.6 Описание приоритетов обращений

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

  • Приоритеты обращений и время получения первого ответа:
    • Критический:  Такой приоритет присваивается запросам, где описана проблема, блокирующая работу всего программного продукта у заказчика (полная потеря данных, полная недоступность данных, глобальная неисправность системы, приведшая к остановке работы).
      • Период получения первого ответа: 2 рабочих часа (если обращение поступило после 18:00, ответ будет предоставлен в 11:00 следующего рабочего дня).
    • Высокий: Такой приоритет присваивается запросам, где описана проблема, блокирующая значительную часть функционала программного продукта заказчика (частичная недоступность данных; недоступность или некорректное функционирование внутренних элементов системы).
      • Период получения первого ответа: 4 рабочих часа (если обращение поступило после 18:00, ответ будет предоставлен в 13:00 следующего рабочего дня).
    • Средний:  Такой приоритет присваивается запросам, где описана проблема, не блокирующая основной функционал программного продукта, но приводящая к недоступности части вторичного функционала (система работоспособна, но снижена функциональность вспомогательных компонентов, отказоустойчивость отдельных модулей).
      • Период получения первого ответа: 8 рабочих часов.
    • Низкий: Такой приоритет присваивается запросам, где описана незначительная проблема, не блокирующая функционал продукта или при запросе дополнительной информации по системе.
      • Период получения первого ответа: 1 рабочий день.

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

 

Сообщение отправлено.
Наш менеджер свяжется с вами в самое ближайшее время.
Что-то пошло не так.