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

Проверьте влияние на старые данные и связанные действия
До оценки сроков выясните, какие сохранённые записи затронет изменение. Новое обязательное поле может отсутствовать в старых обращениях. Новое состояние может быть неизвестно отчёту. Переименование кнопки и изменение смысла статуса имеют разное влияние, даже если выглядят одинаково небольшими правками.
Для учебного примера составьте перечень: описание обращения, его состояние, автор, исполнитель, время изменения и связанные уведомления. Затем спросите, где эти сведения используются ещё: в списке, поиске, выгрузке или другом сервисе. Наличие таких функций проверяют по конкретному приложению; их нельзя предполагать по внешнему виду интерфейса.
Разведите изменение отображения и изменение хранения. Если название категории меняется, это не обязательно означает пересчёт всей истории. Если меняется формула или смысл состояния, прежние записи могут потребовать отдельного решения. Владелец данных должен понимать, какие значения останутся прежними, какие преобразуются и где будет видна граница версий.
Не соглашайтесь на фразу «старое подтянется автоматически» без объяснения. Попросите учебный набор: запись, созданная раньше; запись с отсутствующим новым полем; завершённое обращение; новое обращение после обновления. Для каждого примера заранее запишите ожидаемый вид и допустимые действия. Это позволяет принять преобразование по результату.
Если предстоит перенос данных, согласуйте отдельную проверку количества и содержания записей, а также способ восстановления при ошибке. Резервная копия полезна только вместе с понятным порядком её применения. Возможность вернуть старую программу не доказывает, что она сможет прочитать данные, уже изменённые новой версией.
Составьте критерии приёмки и отрицательные проверки
Критерии приёмки должны отвечать на вопрос, как отличить завершённую доработку от демонстрации одного удачного нажатия. Для каждого важного правила задайте начальные условия, действие и наблюдаемый результат.
- Автор открывает свой запрос до назначения исполнителя, уточняет описание и сохраняет. Новый текст виден после повторного открытия.
- Координатор открывает тот же учебный запрос и видит согласованную редакцию.
- Другой пользователь пытается изменить чужое обращение. Система соблюдает установленную границу доступа.
- Запрос уже принят в работу. Попытка уточнения проходит заранее выбранный порядок.
- Сохранение не подтверждено. Пользователь получает понятный статус и безопасный следующий шаг.
Это предложенная серия для вымышленного процесса. Реальные критерии могут отличаться, но в них должны присутствовать успешный случай, запрет и ошибка. Не используйте настоящие удаления, рассылки или клиентские записи ради проверки. Подготовьте отдельные разрешённые учебные объекты.
Проверьте соседний основной сценарий: создание обычного обращения, назначение исполнителя и просмотр результата. Такая проверка называется регрессионной: она помогает убедиться, что после доработки сохранилось ранее согласованное поведение. Её объём выбирают по затронутым частям, а не по желанию повторить всё приложение без разбора.
Условия «работает быстро» и «всё удобно» требуют уточнения. Если скорость действительно важна, согласуйте действие, объём данных, устройство и измеримый предел. Если проблема в понятности, наблюдайте самостоятельный проход сотрудника. Не подставляйте произвольные секунды или число кликов только ради измеримого текста.
Согласуйте объём, зависимости и порядок решения вопросов
До начала разработки отделите обязательное поведение от открытых вопросов. Оценка доработки должна опираться на согласованный состав. Когда появляется новое требование, его влияние на работу обсуждают отдельно и обновляют запись решения.
Заявка может содержать восемь коротких полей: проблема; пользователь; текущее поведение; новое правило; данные и зависимости; критерии приёмки; ограничения; ответственный за решение. Это рабочая форма договорённости, а не требование использовать специальную систему управления проектами.
Отдельно перечислите зависимые действия. Например, уточнение текста может затрагивать уведомление исполнителя, если оно предусмотрено системой. Нужно выяснить, требуется ли новое сообщение, изменение прежнего или только отметка в приложении. Не обещайте отправку в мессенджер, пока канал и его фактическая реализация не подтверждены.
Назначьте человека, который отвечает на содержательные вопросы. Разработчик может обнаружить конфликт: новый запрет мешает привычному действию координатора. Решение о рабочем правиле принимает владелец процесса. Если ответы дают несколько сотрудников, нужен понятный способ собрать одну принятую редакцию, иначе код будет следовать противоречивым указаниям.
Фиксируйте уточнения рядом с исходной заявкой. Сообщение в переписке легко потерять, особенно когда оно меняет критерий готовности. После существенного уточнения повторно подтвердите состав и оценку. Стоимость, сроки и условия сопровождения берутся из конкретной договорённости; эта инструкция не устанавливает их за стороны.

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