Я думала, что в системе одна статусная модель. Оказалось — три. И это объясняло все проблемы с поддержкой
Когда в системе обработки заявок постоянно растут обращения в поддержку на тему «а что с моей заявкой?» — первая реакция обычно стандартная: переписать тексты статусов, сделать понятнее, добавить подсказки. Я пошла другим путём: сначала попробовала понять, почему пользователи вообще не понимают статус.
Я пошла другим путём: сначала попробовала понять, почему пользователи вообще не понимают статус.
Симптом: заявки «зависают» без объяснений
Система имела единую статусную модель — по крайней мере, так это выглядело снаружи. Статусы менялись, интерфейс их отображал, всё казалось логичным.
Но поддержка регулярно получала однотипные обращения: «Моя заявка в статусе X уже N дней. Что происходит?» Стандартные решения — «добавить подсказку», «переформулировать статус» — давали временный эффект. Проблема возвращалась.
Что я сделала: изучила каждый статус по отдельности
Взяла список всех статусов и для каждого задала один вопрос: откуда этот статус берётся? Не «что он означает для пользователя», а именно — какая система или логика его устанавливает?
И здесь началось интересное.
Открытие: не одна модель, а три
Оказалось, что за единым интерфейсом работают три независимые статусные модели параллельно:
Внутренняя — состояния самой системы: заявка принята, обрабатывается, закрыта. Переходы по внутренним триггерам.
Интеграционная с внешним сервисом — статусы, которые приходят от внешней системы. У неё своя логика, свои задержки. Она может «молчать» несколько дней — и это штатная ситуация для неё, но аномалия с точки зрения пользователя.
Интеграционная с внутренним сервисом — ещё один участник цепочки, который живёт по собственному расписанию.
Все три агрегировались в одно слово — «В обработке». Пользователь не мог понять: это норма или что-то застряло?
Решение: прозрачность вместо упрощения
Вместо одного агрегированного статуса стали показывать три параллельных — по одному от каждой модели.
Это противоречит совету «не перегружать пользователя». Но здесь важно различать сложность и прозрачность. «Ожидает подтверждения от внешнего сервиса» — это не сложно. Это понятно. Пользователь знает, что происходит, и знает, что ему делать.
Результат
Обращения в поддержку по теме статусов снизились заметно. Пользователи получили контекст, которого не хватало. Дополнительный эффект: команда поддержки тоже стала лучше ориентироваться в системе — им тоже нужна была эта декомпозиция.
Главное открытие было не техническое, а исследовательское: пока не задашь вопрос «откуда это берётся» — легко принять три разные системы за одну.
Если в вашем продукте пользователи регулярно спрашивают «что с моей заявкой» — возможно, у вас не одна статусная модель, а несколько. Стоит проверить.