Сопровождение необходимо для обеспечения того, чтобы программный продукт на протяжении всего периода эксплуатации удовлетворял требованиям пользователей. Деятельность по сопровождению применима для программного обеспечения, созданного с использованием любой модели жизненного цикла.
В общем случае, работы по сопровождению должны проводиться для решения следующих задач:
- устранение сбоев;
- улучшение дизайна;
- реализация расширений;
- создание интерфейсов взаимодействия с другими (внешними) системами;
- адаптация (например, портирование) для возможности работы на другой аппаратной платформе (или обновленной платформе), применения новых системных возможностей, функционирования в среде обновленной телекоммуникационной инфраструктуры и т.п.;
- миграции унаследованного программного обеспечения;
- вывода программного обеспечения из эксплуатации.
Деятельность персонала сопровождения включает четыре ключевых аспекта:
- поддержка контроля (управляемости) программного обеспечения в течение всего цикла эксплуатации;
- поддержка модификаций программных систем;
- совершенствование существующих функций;
- предотвращение падения производительности программной системы до неприемлемого уровня.
Категории сопровождения
Определяют четыре категории работ по сопровождению: корректировка, адаптация, совершенствование и профилактическое сопровождение:
- корректирующее сопровождение: “реактивная” модификация программного продукта, выполняемая уже после передачи в эксплуатацию для устранения сбоев;
- адаптирующее сопровождение: модификация программного продукта на этапе эксплуатации для обеспечения продолжения его использования с заданной эффективностью (с точки зрения удовлетворения потребностей пользователей) в изменившемся или находящемся в процессе изменения окружении;
- совершенствующее сопровождение: модификация программного продукта на этапе эксплуатации для повышения характеристик производительности и удобства сопровождения;
- профилактическое сопровождение: модификация программного продукта на этапе эксплуатации для идентификации и предотвращения скрытых дефектов до того, когда они приведут к реальным сбоям.
Работы по сопровождению
Многие работы по сопровождению похожи на аспекты деятельности по разработке. В обоих случаях необходимо проводить анализ, проектирование, кодирование, тестирование и документирование. Специалисты по сопровождению должны отслеживать требования так же, как и инженеры-разработчики и обновлять документацию по мере разработки и/или выпуска обновленных или новых релизов продукта. В то же время, деятельность по сопровождению обладает и определенными уникальными чертами, что приводит к необходимости использования специализированных процессов:
- передача: контролируемая и координируемая деятельность по передаче программного обеспечения от разработчиков группе, службе или организации, отвечающей за дальнейшую поддержку;
- принятие/отклонение запросов на модификацию: запросы на изменения могут как приниматься и передаваться в работу, так и отклоняться по различным обоснованным причинам - объему и/или сложности требуемых изменений, а также необходимых для этого усилий. Соответствующие решения могут также приниматься на основе приоритетности, оценке обоснованности, отсутствии ресурсов
- средства извещения персонала сопровождения и отслеживания статуса запросов на модификацию и отчетов об ошибках: функция поддержки конечных пользователей, инициирующая работы по оценке (в том числе оценку необходимости), анализу приоритетности и стоимости модификаций, связанных с поступившим запросом или сообщенной проблемой.
- анализ влияния: анализ возможных последствий изменений, вносимых в существующую систему;
- поддержка программного обеспечения: работы по консультированию пользователей, проводимые в ответ на их информационные запросы, например, касающиеся соответствующих бизнес-правил, проверки, содержания данных и специфических вопросов пользователей и их сообщений о проблемах;
- контракты и обязательства: к ним относятся классическое соглашение об уровне предоставляемого сервиса, а также другие договорные аспекты, на основании которых, группа/служба/организация по сопровождению выполняет соответствующие работы.