Старый ЭЛТ-монитор с плотной серой сеткой окон, ноутбук со схемой связанных блоков и блокнот с нарисованными от руки экранами и стрелками: исследование работы пользователей перед переписыванием программы

UX-исследование пользователей перед переписыванием legacy-приложения на VB6 и WinForms: методы, метрики, чек-лист

РубрикаМиграцияУровеньСредний Чтение13 минОпубликовано ТегиUXVB6WinFormsМиграция

Старую программу решили переписать, а пользователи просят «ничего не менять». Разбираем, как до начала разработки изучить реальную работу с legacy-приложением: наблюдение на рабочих местах, журнал использования из VB6 и VB.NET, интервью, реестр привычек, сравнительный тест прототипа и метрики, по которым видно, что новая система не хуже старой.

Главное. UX-исследование перед переписыванием legacy-приложения — это наблюдение за реальной работой, журнал использования из старой программы и интервью, сведённые в карту сценариев, реестр привычек и матрицу решений «сохранить, улучшить, автоматизировать, убрать». Прототип ключевых экранов проверяют сравнительным тестом против старого интерфейса, а базовые метрики — время операции, число действий, ошибки и обходные пути — становятся частью критериев приёмки.

Когда старую программу на VB6 или WinForms решают переписать, пользователи просят одного: «только ничего не меняйте». За этой фразой стоят годы привычки. Оператор вводит накладную, не глядя на экран, нажимает F9 вместо кнопки «Провести» и держит рядом Excel-файл, без которого половина работы не делается. Ничего из этого нет в документации, и почти ничего не видно в коде. Поэтому UX-исследование пользователей до начала переписывания — это способ узнать, как на самом деле работают с программой, и не сломать это в новой системе.

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

Ниже — чем исследование legacy-системы отличается от обычного UX-исследования, какие методы дают результат, как собрать статистику прямо из старой программы, как обработать находки и проверить новый интерфейс до разработки. Если интерфейс нужно освежить без полного переписывания, сначала прочитайте разбор о том, как обновить интерфейс WinForms и VB6 без переписывания.

Зачем UX-исследование, если нужно «сделать так же»?

UX-исследование нужно, чтобы заранее узнать, какие привычные действия нельзя потерять в новом интерфейсе. Требование «так же» кажется понятным, пока не начинается разработка. Новый интерфейс неизбежно будет другим: другой стек, другие контролы, часто браузер вместо окна Windows. Вопрос не в том, менять ли интерфейс, а в том, что в нём нельзя потерять. Ответ на него знают пользователи, но сформулировать не могут: привычные действия выполняются автоматически и в интервью не всплывают.

Без исследования переписывание обычно заканчивается одним из трёх сценариев:

  • Скорость работы падает. Новый экран красивее, но ввод документа занимает 90 секунд вместо 40, потому что пропали горячие клавиши и привычный порядок перехода по полям. Для отдела из 15 операторов по 60 документов в день это 50 секунд × 900 документов, то есть около 12 часов рабочего времени ежедневно.
  • Пользователи возвращаются к старой программе. Если её не отключили, люди тихо продолжают работать в ней, а новая система наполняется наполовину.
  • Всплывают скрытые сценарии. Через месяц после запуска выясняется, что склад каждую пятницу выгружал остатки через «секретную» комбинацию клавиш, о которой никто не сказал.

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

Чем исследование legacy-системы отличается от обычного UX-исследования?

Классическое UX-исследование чаще проводят для нового продукта или сайта: ищут потребности, проверяют гипотезы, тестируют прототипы на людях, которые продукт ещё не видели. С корпоративной программой, которой пользуются 10–20 лет, всё наоборот.

ПараметрНовый продуктLegacy-приложение
ПользователиНовички, их ищут и отбираютОпытные сотрудники, их мало, и они заняты
Главный рискСделать ненужноеПотерять нужное и замедлить работу
Источник знанийИнтервью и рынокНаблюдение, журналы программы, обращения в поддержку
Отношение к изменениямНейтральное или позитивноеНастороженное: «и так работает»
Метрика успехаКонверсия, удержаниеВремя операции, число ошибок, отказ от обходных путей
Что тестироватьПонятность для новичкаСкорость для эксперта и обучаемость для новых сотрудников

Отсюда практический вывод: в legacy-проекте основной метод — наблюдение за реальной работой, а не опрос. И у исследования две аудитории: опытные сотрудники, которым важна скорость, и новички, которым старый интерфейс даётся тяжело. Новый интерфейс должен устроить обе группы.

Какие методы исследования дают результат?

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

МетодНа какой вопрос отвечаетСколько людейСрок
Наблюдение на рабочем месте (shadowing)Как реально выполняются операции, где обходные пути5–8 человек на роль1–2 недели
Контекстное интервьюПочему работают именно так, что раздражает, чего боятся6–10 человек1 неделя
Журнал использования программыКакие формы и отчёты открывают, как часто, ктоВсе пользователи2–4 недели сбора
Анализ обращений в поддержкуГде люди ошибаются и застревают—2–3 дня
Тест прототипа против старого экранаНе стал ли новый интерфейс медленнее и сложнее5 человек на сценарий1 неделя

Опросы и анкеты для legacy-системы полезны мало: на вопрос «что вам мешает?» опытный пользователь ответит «ничего, всё привычно». Анкета годится разве что для того, чтобы оценить масштаб уже найденной проблемы на большой группе.

Как наблюдать за работой пользователей и что фиксировать?

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

Что записывать во время наблюдения

  1. Горячие клавиши и порядок полей. Какие комбинации используются, в каком порядке Tab переходит по полям, где пользователь нажимает Enter вместо Tab. Это самые хрупкие привычки, и их проще всего потерять.
  2. Обходные пути. Excel-таблицы рядом с программой, бумажные журналы, стикеры с кодами на мониторе, копирование данных через буфер обмена между окнами. Каждый обходной путь — признак того, что программа чего-то не умеет.
  3. Переключения между окнами. Сколько форм открыто одновременно, как пользователь сравнивает данные из двух мест. Если оператор держит открытыми три окна, новый интерфейс с одной вкладкой станет для него шагом назад.
  4. Плотность информации. Сколько строк и колонок нужно видеть сразу. Опытные пользователи часто предпочитают плотный грид «как в Excel», а не просторные карточки.
  5. Ошибки и исправления. Где человек возвращается назад, отменяет действие, перепроверяет. Это кандидаты на улучшение.
  6. Время операций. Засеките ключевые сценарии секундомером: ввод документа, поиск клиента, печать комплекта. Эти цифры станут базой для сравнения с новой системой.

Как оформить записи наблюдений

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

Совет. Не говорите сотрудникам, что их «проверяют». Объясните, что задача — сделать новую программу не хуже старой, и что их привычки как раз и нужно сохранить. Тогда люди сами показывают приёмы, о которых не рассказали бы в интервью.

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

Как собрать статистику использования из самой программы?

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

Для VB6 достаточно общего модуля, который пишет строку в файл на сетевой папке, и вызова из Form_Load каждой формы и из обработчиков печати отчётов:

modUsageLog.basVB6
Option Explicit
Private Const LOG_DIR As String = "\\fileserver\usage$\"

Public Sub LogUsage(ByVal objName As String, ByVal action As String)
    Dim f As Integer
    On Error GoTo Done
    f = FreeFile
    Open LOG_DIR & Environ$("COMPUTERNAME") & ".log" For Append As #f
    Print #f, Format$(Now, "yyyy-mm-dd hh:nn:ss") & vbTab & _
              Environ$("USERNAME") & vbTab & objName & vbTab & action
    Close #f
Done:
End Sub

' В каждой форме:
Private Sub Form_Load()
    LogUsage Me.Name, "open"
End Sub

Обработчик ошибок здесь обязателен: если сетевая папка недоступна, программа не должна падать из-за журнала. Отдельный файл на каждый компьютер избавляет от конфликтов записи. В VB.NET то же делается через общий базовый класс формы с переопределённым OnShown или через подписку на события в ApplicationEvents.vb; для записи удобно использовать стандартный механизм трассировки — класс System.Diagnostics.Trace.

Если нужно понять, какие горячие клавиши используются, включите у главных форм KeyPreview = True и пишите в журнал комбинации с Ctrl, Alt и функциональными клавишами. Сами вводимые значения не записывайте: журнал должен содержать только имена форм, действий и клавиш. Имена пользователей — это персональные данные, поэтому сотрудников нужно уведомить о сборе, а после анализа журнал обезличить или удалить.

Второй источник статистики — обращения в поддержку и чаты ИТ-службы за год. Сгруппируйте их по формам и сценариям: если треть заявок про «не могу найти документ», поиск в новой системе — приоритет, а не украшение.

Как провести интервью и не услышать только «оставьте всё как есть»?

Интервью проводят после наблюдения, когда уже есть конкретные вопросы. Общие вопросы («что улучшить?») дают общие ответы. Работают вопросы о конкретных событиях и действиях.

ПлохоХорошо
Удобна ли вам программа?Расскажите про последний раз, когда документ не проводился. Что вы делали?
Какие функции вам нужны?Я видел, что вы копируете остатки в Excel. Что вы с ними делаете дальше?
Хотите ли вы новый интерфейс?Что в программе пришлось долго осваивать, когда вы только пришли?
Используете ли вы горячие клавиши?Покажите, как вы оформляете типичную отгрузку, и проговаривайте, что нажимаете.

Обязательно поговорите с тремя группами: опытными пользователями (они знают обходные пути), новыми сотрудниками со стажем до полугода (они помнят, что было непонятно) и руководителями отделов (они знают, где теряется время и какие отчёты на самом деле читают). Отдельно — с теми, кто обучает новичков: у них обычно есть список типичных ошибок.

Через две–три недели вернитесь к участникам с прототипом, где их приёмы учтены: это снимает большую часть сопротивления и заодно проверяет, правильно ли вы поняли их работу.

Как превратить находки в требования к новому интерфейсу?

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

  1. Карта сценариев. Для каждой роли — список операций с частотой, временем выполнения, задействованными формами и обходными путями. Пример: «Оформить отгрузку — 60 раз в день, 45 секунд, формы Накладная и Остатки, обходной путь — проверка резерва в Excel».
  2. Реестр привычек. Всё, что нужно сохранить как есть: горячие клавиши, порядок полей, автоподстановка последнего значения, плотность грида, возможность открыть два документа рядом. Каждая строка — с указанием, кто и как часто этим пользуется.
  3. Матрица решений. По каждой находке — одно из четырёх решений: сохранить, улучшить, автоматизировать, убрать.
НаходкаРешениеПример
Привычное действие, которое работает быстроСохранитьF9 проводит документ, Enter переходит к следующему полю
Частая операция с ошибкамиУлучшитьПоиск клиента по части ИНН и телефона вместо точного кода
Обходной путь через Excel или бумагуАвтоматизироватьОтчёт по резервам прямо в форме накладной
Функция, которую не открывали годУбрать или отложитьСтарый экспорт в формат, который никто не принимает

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

Как проверить новый интерфейс до разработки?

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

  • Пять участников на сценарий. Для поиска основных проблем этого достаточно; аргументы разобраны в статье о тестировании на пяти пользователях. Для каждой роли нужна своя пятёрка.
  • Реальные данные. Прототип с данными «Иван Иванов, товар 1» не покажет, помещаются ли длинные наименования и как выглядит грид на 300 строк. Возьмите обезличенную выгрузку из боевой базы.
  • Клавиатура, а не только мышь. Если прототип нельзя пройти с клавиатуры, проверить главное — скорость эксперта — не получится. Для ключевых экранов делайте прототип в коде, а не только в графическом редакторе.
  • Новички отдельно. Дайте сценарий сотруднику, который программу почти не знает. Если в прототипе он справляется быстрее, чем в старом интерфейсе, обучение станет дешевле.

Если тест показывает, что новый экран медленнее старого для опытного пользователя, это повод доработать прототип, а не уговаривать людей «привыкнуть». Особенно это касается переноса в браузер, где горячие клавиши конфликтуют с клавишами самого браузера; варианты архитектуры разобраны в статье о переносе десктопного приложения в веб. Заодно на этом этапе стоит заложить требования к доступности — как это сделать, описано в материале о доступности legacy-приложений.

Какие метрики зафиксировать до и после переписывания?

Цифры, снятые до начала работ, — единственный способ доказать, что новая система не хуже старой. Без них обсуждение на приёмке сводится к ощущениям.

МетрикаКак измеритьЦелевое значение
Время ключевой операцииСекундомер при наблюдении, журнал программыНе больше, чем в старой системе
Число действий на операциюПодсчёт нажатий и кликов в тестеНе больше, лучше меньше
Ошибки вводаИсправления и отмены при наблюдении, обращения в поддержкуМеньше, чем в старой системе
Обходные путиЧисло Excel-файлов и бумажных журналов на рольСнижение после запуска
Время обучения новичкаСрок до самостоятельной работы по словам наставникаКороче, чем сейчас
УдовлетворённостьКороткий опрос SUS после теста прототипа и после запускаНе ниже исходного

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

Кто проводит исследование и сколько оно длится?

Минимальная команда — исследователь или UX-дизайнер, аналитик, который знает предметную область, и владелец процесса со стороны заказчика. Исследователь ведёт наблюдения и интервью, аналитик связывает находки с кодом и данными, владелец процесса принимает решения по матрице. Разработчики старой программы полезны как консультанты: они объясняют, почему форма устроена именно так, и добавляют журнал использования.

Размер системыРолей пользователейДлительностьРезультат
Небольшая: до 30 форм, один отдел1–22–3 неделиКарта сценариев, реестр привычек, прототип 3–5 экранов
Средняя: 30–100 форм, несколько отделов3–54–6 недельПлюс журнал использования за месяц и сравнительный тест
Крупная: филиалы, сотни пользователей6 и больше2–3 месяца, поэтапноИсследование по модулям в порядке переноса

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

Типичные ошибки UX-исследования перед переписыванием

  • Только интервью без наблюдения. Люди не рассказывают о том, что делают автоматически. Половина важных привычек всплывает только у рабочего места.
  • Говорить только с руководителями. Руководитель знает, как процесс должен работать, а оператор — как он работает на самом деле.
  • Исследование после дизайна. Если макеты уже нарисованы, исследование превращается в поиск подтверждений. Его место — до проектирования экранов.
  • Перенос форм один в один. Копирование старого окна в новый стек сохраняет и все его проблемы. Сохранять нужно привычные действия, а не расположение каждой кнопки.
  • Игнорировать обходные пути. Excel рядом с программой — не прихоть пользователя, а требование, которое не попало в систему.
  • Нет базовых метрик. Без замеров «до» нельзя доказать, что стало лучше, и нельзя заметить, что стало хуже.

Чек-лист UX-исследования перед переписыванием

  1. определены роли пользователей и по 5–8 участников на каждую;
  2. проведено наблюдение на рабочих местах в обычный и пиковый день;
  3. в старую программу добавлен журнал открытия форм и отчётов, собрано не меньше месяца данных;
  4. проанализированы обращения в поддержку за последний год;
  5. проведены интервью с опытными сотрудниками, новичками, руководителями и наставниками;
  6. составлены карта сценариев, реестр привычек и матрица решений;
  7. решения «убрать» и «улучшить» согласованы владельцем процесса и внесены в реестр отличий ТЗ;
  8. сняты базовые метрики: время операций, число действий, ошибки, обходные пути;
  9. прототип ключевых экранов проверен в сравнении со старой программой на реальных данных;
  10. запланирован повторный замер метрик через месяц после запуска каждого модуля.

Как это делают сегодня

В 2026 году UX-исследование встраивают в стадию обследования перед переписыванием: пока аналитики разбирают код и данные, дизайнеры 3–5 недель наблюдают за работой, собирают журнал использования из старой программы и готовят карту сценариев с реестром привычек. Прототипы ключевых экранов проверяют сравнительным тестом против старого интерфейса, а базовые метрики становятся частью критериев приёмки каждого модуля.

Вопросы и ответы об UX-исследовании legacy-приложения

Нужно ли UX-исследование, если интерфейс переносим один в один?

Да. Даже при переносе один в один меняются контролы, порядок фокуса, поведение гридов и горячие клавиши. Исследование показывает, какие привычки критичны, и даёт базовые метрики, по которым на приёмке видно, что новая система не стала медленнее.

Сколько пользователей нужно для исследования legacy-системы?

Для наблюдения достаточно 5–8 человек на каждую роль, для теста прототипа — пятерых на сценарий. Журнал использования из программы при этом собирают по всем пользователям, чтобы увидеть полную картину частоты форм и отчётов.

Можно ли провести исследование, если исходного кода программы нет?

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

Законно ли записывать действия сотрудников в журнал?

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

Кто принимает решение убрать старую функцию?

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

Читайте также