Files
progcode/editorial/agent-rewrites/087.json
T
huncode 2d914b543f
Build and deploy / deploy (push) Failing after 15s
Publish rewritten technical article archive
2026-08-02 22:19:34 +03:00

8 lines
18 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"index": 87,
"slug": "editorial-2025-08-practice-tool-ux-research",
"title": "UX внутреннего инструмента: как найти реальную проблему до правки интерфейса",
"excerpt": "Нейтральный сценарий, наблюдаемое действие и короткий decision log помогают отличить проблему рабочего процесса от просьбы добавить ещё одну кнопку.",
"contentHtml": "<p>Команда получает просьбу «сделать внутренний инструмент удобнее». На встрече сразу показывают макет большой кнопки связи с владельцем заявки. Участник кивает, а в заметке появляется фраза «кнопка нужна». Это наблюдаемый симптом: исследователь проверяет уже выбранное решение, а не работу по задаче.</p>\n<p>Цена ошибки видна после релиза. Инженер тратит время на локальную правку. Коллега по-прежнему не знает, где искать статус или кому передать исключение. Новая кнопка добавляет поверхность, но не убирает неопределённость. Следующая встреча снова начинается с цитаты и нового предложения по интерфейсу.</p>\n<p>Тезис простой: UX внутреннего инструмента нужно проверять через маршрут задачи. Сначала зафиксируйте, что человек пытается сделать. Затем дайте нейтральный сценарий и запишите видимое действие, вопрос и неизвестное. Только после этого формулируйте изменение как гипотезу. Такое исследование не обещает эффект. Оно делает решение проверяемым и останавливает правку, если evidence не хватает.</p>\n<h2>Механизм: от задачи к решению</h2>\n<p>У рабочего разбора есть четыре разных объекта. <strong>Сценарий</strong> задаёт исходное состояние и понятный результат. <strong>Наблюдение</strong> описывает действие или вопрос в этом сценарии. <strong>Тема</strong> объединяет несколько наблюдений, но не объясняет их автоматически. <strong>Решение</strong> предлагает следующий тест, а не объявляет интерфейс улучшенным.</p>\n<p>Например, сценарий звучит так: «Найдите текущее состояние одной заявки и назовите владельца следующего вопроса». Исходное состояние известно: карточка содержит номер, статус и поле владельца. Успех тоже известен: человек называет следующий вопрос и ответственного. В сценарии нет слов «нажмите кнопку связи» и «оцените новый блок». Он допускает ответ, неудобный автору макета.</p>\n<figure><img src='/assets/editorial/2025/tool-ux-research-2025-evidence-map.svg' alt='Карта доказательств UX-исследования внутреннего инструмента: согласие, нейтральный сценарий, наблюдение, код, тема и следующий проверяемый шаг' loading='lazy' /><figcaption>Цепочка evidence отделяет наблюдение от решения. Решение разрешает следующий тест, но не доказывает эффект интерфейса.</figcaption></figure>\n<p>Согласие задаёт границу материала. Перед сессией участник должен понимать цель, собираемые данные, наблюдение или запись, использование результата и возможность остановиться. Для внутреннего инструмента это важно не меньше, чем для внешнего сервиса: знакомство с коллегой не отменяет добровольность. Если разрешены только обезличенные заметки, не добавляйте запись экрана «для удобства анализа».</p>\n<p>Наблюдение должно быть скучным и точным: «прочитал статус, остановил курсор у поля owner, спросил, кто отвечает после отправки». Запись «растерялся» уже содержит трактовку. Код <code>owner-unclear</code> может помочь найти похожие записи, но не объясняет причину и не показывает частоту. Рядом укажите uncertainty: «неизвестно, не виден ли владелец, непонятен ли термин или не хватает контекста заявки».</p>\n<h2>Конкретный формат записи</h2>\n<p>Короткая структура защищает от пересказа встречи. Её можно хранить в задаче исследования или в согласованном хранилище заметок. Учебный пример ниже не содержит реальных людей, заявок и production-данных.</p>\n<pre><code>const observation = {\n scenario: 'find-status-and-next-owner',\n action: 'прочитан status; курсор остановился у owner',\n question: 'кто отвечает после отправки?',\n code: 'owner-unclear',\n uncertainty: 'неизвестна причина и частота вопроса',\n};\n\nconst decision = {\n evidence: ['observation-01'],\n hypothesis: 'проверить пояснение status и next owner',\n nextCheck: 'повторить тот же сценарий без подсказки',\n claim: 'эффект не установлен',\n};</code></pre>\n<p>В этом примере <code>hypothesis</code> не превращается в задачу «срочно добавить блок». Сначала нужно решить, что именно проверять: видимость владельца, язык статуса, порядок полей или отсутствие перехода к следующему действию. Если одна заметка не различает варианты, следующий шаг — ещё один нейтральный сценарий, а не выбор идеи по громкости голоса.</p>\n<h2>Симптом → причина → проверка → действие</h2>\n<div class='table-scroll'><table><caption>Как разбирать слабое UX-доказательство</caption><thead><tr><th scope='col'>Симптом</th><th scope='col'>Причина</th><th scope='col'>Проверка</th><th scope='col'>Действие</th></tr></thead><tbody><tr><td>Все соглашаются с макетом</td><td>Вопрос подсказывает решение</td><td>Убрать название кнопки и дать задачу</td><td>Переписать сценарий без UI-ответа</td></tr><tr><td>В заметке есть только цитата</td><td>Не записан маршрут работы</td><td>Спросить, что было видно до и после фразы</td><td>Добавить действие, вопрос и исходное состояние</td></tr><tr><td>Появился один «инсайт»</td><td>Факт смешали с объяснением</td><td>Отделить observation, code и uncertainty</td><td>Назвать тему как гипотезу</td></tr><tr><td>Решение нельзя перепроверить</td><td>Нет ссылки на исходную заметку</td><td>Открыть каждый evidence id</td><td>Остановить hand-off и восстановить связь</td></tr><tr><td>После правки «стало лучше»</td><td>Изменились сценарий и вопрос</td><td>Сравнить исходное состояние и критерий успеха</td><td>Повторить тот же маршрут или признать сравнение несостоятельным</td></tr></tbody></table></div>\n<h2>Отрицательный путь важнее удачной цитаты</h2>\n<p>Представим, что ведущий начинает так: «Вам ведь не хватает большой кнопки “Написать владельцу”?» Участник может согласиться из вежливости. Даже несогласие будет слабым: вопрос уже сузил пространство ответов. Такой материал нельзя использовать как подтверждение кнопки.</p>\n<p>Правильный отрицательный путь должен останавливать решение. Если сценарий ведущий, согласие не подтверждено, заметка выходит за разрешённую границу или decision ссылается на несуществующее наблюдение, исследование не переходит к изменению интерфейса. Не надо лечить пробел догадкой. Верните материал владельцу и запросите новый нейтральный проход.</p>\n<p>То же правило действует для отзыва согласия. Если участник остановился, прекратите сессию и примените согласованный процесс удаления или ограничения материалов. Код в задаче может обозначить статус «stop», но он не заменяет политику хранения и юридическую проверку. Учебная схема показывает порядок принятия решения, а не готовую процедуру для организации.</p>\n<h2>Порядок действий</h2>\n<ol><li><strong>Сформулируйте неизвестное.</strong> Запишите вопрос вроде «почему человек не называет следующий шаг», а не решение «нужна кнопка связи».</li><li><strong>Определите границу данных.</strong> До сессии зафиксируйте цель, тип заметки или записи, доступ, срок хранения и способ отзыва.</li><li><strong>Опишите сценарий.</strong> Укажите исходное состояние и критерий успеха. Не называйте будущий control и не просите оценить макет.</li><li><strong>Наблюдайте маршрут.</strong> Запишите последовательность действий, остановку и вопрос. Не заменяйте их оценкой человека.</li><li><strong>Закодируйте факт.</strong> Дайте короткую метку и сразу добавьте то, чего наблюдение не устанавливает.</li><li><strong>Свяжите решение с evidence.</strong> В decision log перечислите идентификаторы заметок, тему, гипотезу и следующий сценарий.</li><li><strong>Повторите ту же задачу.</strong> Изменяйте один проверяемый элемент и сохраняйте исходное состояние и критерий успеха. Если условия изменились, не называйте результат сравнением.</li></ol>\n<h2>Как читать результат</h2>\n<p>Две заметки с одинаковым вопросом — повод исследовать тему, но не доказательство проблемы всей команды. Даже несколько повторов не устанавливают причинность сами по себе. Участники могут отличаться ролью, опытом, правами доступа и частотой работы. Внутренний инструмент также связан с регламентом, данными и соседними системами. Интерфейс не всегда является источником задержки.</p>\n<p>Разделяйте три утверждения. «Человек остановился у owner» — наблюдение. «Следующий ответственный плохо виден» — рабочая гипотеза. «Новый блок сократил время» — измеряемое утверждение, для которого нужны заранее определённая метрика, условия сравнения и достаточный объём данных. Не подменяйте третье первым.</p>\n<p>Есть и социальное ограничение. Коллега может помогать автору, потому что знает его по работе. Нейтральная формулировка, пауза и отсутствие макета уменьшают давление, но не устраняют его. Поэтому молчаливое действие, обход и вопрос часто полезнее оценки «нравится». Если человек хвалит новый блок, но не завершает задачу, фиксируйте маршрут.</p>\n<h2>Проверяемый критерий готовности</h2>\n<p>Материал готов к следующему шагу, когда другой инженер без устного пересказа может восстановить цепочку: цель и consent boundary, исходное состояние, нейтральный сценарий, наблюдаемое действие, code, uncertainty, ссылка на decision и критерий следующей проверки. В decision явно написано, чего данные не доказывают. Отрицательные ветки имеют остановку и владельца восстановления.</p>\n<p>Материал не готов, если в нём осталась только удачная цитата, название любимой кнопки, диагноз пользователя или обещание production-эффекта. В этом случае задача должна вернуться к исследовательскому вопросу. Практический тест занимает несколько минут: удалите автора записи и попросите коллегу объяснить, что было проверено и что будет проверено дальше. Если он может назвать только макет, evidence не выдерживает hand-off.</p>\n<h2>Ограничения</h2>\n<p>Метод не заменяет доступность, исследование с разными ролями, анализ событий, нагрузочное тестирование и проверку прав доступа. Он не даёт репрезентативную выборку и не устанавливает юридические требования к данным. Руководства ниже описывают общие принципы user research; правила вашей организации могут быть строже. Примеры в статье учебные. Они не сообщают production-результаты и не доказывают, что конкретная кнопка улучшит внутренний инструмент.</p>\n<h2>Проверяемые источники</h2>\n<ul><li><a href='https://www.gov.uk/service-manual/user-research/getting-users-consent-for-research' target='_blank' rel='noopener noreferrer'>GOV.UK Service Manual: Getting informed consent for user research</a> — официальное руководство о цели, данных, наблюдении, добровольности, отзыве и обращении с материалами. Оно не заменяет policy или legal review другой организации.</li><li><a href='https://www.gov.uk/service-manual/user-research/taking-notes-and-recording-user-research-sessions' target='_blank' rel='noopener noreferrer'>GOV.UK Service Manual: Taking notes and recording user research sessions</a> — официальные рекомендации по заметкам, записям и согласию до сбора материала. Конкретный формат evidence команда выбирает сама.</li><li><a href='https://www.gov.uk/service-manual/user-research/plan-round-of-user-research' target='_blank' rel='noopener noreferrer'>GOV.UK Service Manual: Plan a round of user research</a> — официальная рекомендация начинать с проблем, предположений и информации для следующего решения, а не с готового интерфейсного ответа.</li></ul>"
}