66 Бит
Екатеринбург, Добролюбова 16
info@66bit.ru

Оставить заявку на сотрудничество

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

Сопровождение ПО после внедрения

Представьте, вы построили дом и счастливо живёте в нём. Однако со временем кран начал подтекать, полка расшаталась, а плинтуса отошли. Всё это – нормальный порядок вещей, так как краны, полки и плинтуса не вечные. Так вот то же самое регулярно происходит с программным обеспечением по всему миру.

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

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

В сегодняшней статье мы разберёмся: каковы основные задачи и этапы сопровождения, какие методы существуют и как заказчик может помочь команде разработки в повышении качества и производительности сопровождения? Будет полезно от начала до конца!

-2

Задачи сопровождения ПО

Исправление дефектов – устранение ошибок, обнаруженных в процессе эксплуатации.

Адаптация к изменениям – доработка ПО под новые платформы, операционные системы, библиотеки или законодательные требования.

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

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

Документирование и поддержка пользователей – обновление руководств, обучение, консультации.

Этапы сопровождения ПО

1. Анализ и планирование

  • Сбор обратной связи от пользователей.
  • Приоритезация задач (критические ошибки или новые функции).
  • Оценка трудозатрат и формирование плана.

2. Реализация изменений

  • Внесение правок в код.
  • Тестирование.
  • Документирование изменений.

3. Развертывание обновлений

  • Подготовка релиза.
  • Внедрение.
  • Мониторинг на предмет новых ошибок.

4. Поддержка пользователей

  • Обучение (вебинары, гайды, инструкции).
  • Обработка инцидентов через техподдержку.

5. Оценка эффективности

  • Анализ метрик (время отклика, количество сбоев).
  • Сбор фидбека для дальнейших улучшений.

-3

Корректирующее сопровождение (Corrective Maintenance)

Цель: Исправление ошибок и дефектов, обнаруженных в процессе эксплуатации.

Методы:

  • Анализ запросов пользователей и воспроизведение багов.
  • Горячие фиксы (Hotfixes) – срочные исправления для критических сбоев.
  • Регрессионное тестирование – проверка, не сломало ли исправление другие функции.

Когда применяется:

  • Критические ошибки (падение системы, уязвимости безопасности).
  • Ошибки, нарушающие бизнес-процессы.

Адаптивное сопровождение (Adaptive Maintenance)

Цель: Поддержка работоспособности ПО при изменениях внешней среды.

Методы:

  • Рефакторинг для совместимости
  • Обновление библиотек, API, зависимостей.
  • Поддержка новых версий ОС, браузеров, оборудования.
  • Миграция данных (при смене СУБД или форматов хранения).

Когда применяется:

  • Выход новых версий платформ (например, переход с Windows 10 → 11).
  • Изменения в законодательстве (например, новые требования к персональным данным).

Совершенствующее сопровождение (Perfective Maintenance)

Цель: Улучшение функциональности, производительности и UX.

Методы:

  • Добавление новых функций (Feature Development)
  • Разработка по Agile.
  • Оптимизация кода и архитектуры

Когда применяется:

  • Запросы пользователей на новые возможности.
  • Необходимость повысить скорость работы системы.

Превентивное сопровождение (Preventive Maintenance)

Цель: Уменьшение будущих затрат на поддержку за счет улучшения кода и инфраструктуры.

Методы:

  • Рефакторинг кода
  • Документирование и автоматизация
  • Генерация документации (Swagger, Sphinx).
  • Написание скриптов для деплоя и мониторинга.
  • Технический аудит – регулярный анализ уязвимостей и слабых мест.

Когда применяется:

  • Система работает, но становится сложной для поддержки.
  • Накапливается "технический долг".

Управляющее сопровождение (Managed Maintenance)

Цель: Системное управление всеми процессами поддержки.

Методы:

  • ITSM (IT Service Management)
  • Использование ITIL-практик для управления инцидентами и запросами.
  • Сервисные деск, SLA, KPI.
  • DevOps-подход
  • CI/CD (непрерывная интеграция и доставка).
  • Инфраструктура как код (IaC, Terraform).
  • Scrum/Kanban для поддержки
  • Приоритезация задач через беклог.
  • Спринты для планирования обновлений.

Когда применяется:

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

Как выбрать метод?

Если система "падает" → Корректирующее.

Если вышло обновление ОС → Адаптивное.

Если пользователи просят новые функции → Совершенствующее.

Если код стал нечитаемым → Превентивное.

Если поддержка хаотична → Управляющее.

-4

Как заказчик может повлиять на успех сопровождения?

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

Четко формализовать требования и документацию

Проблема:

Разработчики тратят время на расшифровку "как должно работать", если требования размыты или устарели.

Что делать заказчику:

  • Подготовить актуальную документацию:
  • Техническое задание.
  • Описание бизнес-процессов, которые автоматизирует ПО.
  • Схемы интеграций с другими системами.
  • Фиксировать, какие изменения вносились и почему.
  • Использовать стандарты (например, Swagger для API, UML для диаграмм).

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

Организовать прозрачный процесс обратной связи

Проблема:

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

Что делать заказчику:

  • Внедрить систему управления запросами:
  • Использовать трекеры (Jira, Redmine, YouTrack).
  • Классифицировать запросы (баг, улучшение, вопрос).
  • Назначить ответственного за сбор требований.
  • Фиксировать шаги для воспроизведения багов:

Результат: Разработчики тратят меньше времени на выяснение обстоятельств ошибок.

Обеспечить тестовые среды и данные

Проблема:

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

Что делать заказчику:

  • Развернуть тестовое окружение, максимально близкое к production.
  • Предоставить реальные данные, чтобы воспроизводить баги.
  • Автоматизировать развертывание.

Результат: Сопровождающая команда быстрее локализует и исправляет проблемы.

Планировать ресурсы на сопровождение

Проблема:

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

Что делать заказчику:

  • Заключить SLA (Service Level Agreement) с четкими условиями:
  • Время реакции на критические/некритические баги.
  • Часы поддержки (24/7 или рабочие дни).
  • Что входит в сопровождение, а что — в доработку за доп. плату.
  • Выделять бюджет на регулярные обновления (например, 20% от первоначальной стоимости в год).

Результат: Команда не будет саботировать запросы из-за конфликтов по оплате.

Участвовать в приемке и тестировании

Проблема:

Заказчик подписывает акт сдачи-приемки, а через неделю обнаруживаются недочёты.

Что делать заказчику:

  • Проводить User Acceptance Testing (UAT) перед релизом.
  • Создать чек-лист основных сценариев для проверки после обновлений.
  • Вовлекать реальных пользователей в тестирование.

Результат: Меньше срочных правок, так как проблемы выявляются до внедрения.

Минимизировать кастомизацию и "костыли"

Проблема:

Внедрение нестандартных решений, которые сложно или невозможно поддерживать и масштабировать.

Что делать заказчику:

  • Выбирать стандартные технологии если нет веских причин для кастома.
  • Избегать "временных решений", которые становятся постоянными.
  • Согласовывать техдолг – будущую доработку временного решения.

Результат: Система остается масштабируемой, а не превращается техно-франкенштейна.

Итог: что получает заказчик?

  • Снижение стоимости сопровождения: меньше времени на разбор хаотичных правок.
  • Быстрое устранение инцидентов из-за четких процессов.
  • Предсказуемые сроки доработок.
  • Долгосрочную стабильность системы за счет повышенного контроля.

Разработка ПО от 66 Бит

Мы подошли к концу, а значит самое время подвести итоги! Сегодня мы узнали: что такое сопровождение ПО, каковы его задачи, этапы и методы, а также как вы можете влиять на качество сопровождения. А если вы захотели разработать новый продукт либо осуществить качественную поддержку существующему, советуем обратиться в компанию 66 Бит!

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

Поделиться в соцсетях:

Путь от бизнес-требований до функциональных в процессе разработки ПО