Проверяемые условия вместо «красиво»

Урок 5.1 · Как объяснить задачу программисту · Модуль 5. Критерии приёмки · Бесплатно

Цель урока: Научиться писать критерии приёмки, которые можно проверить.

Объяснение

Зачем это нужно: В уроке 4.2 вы закрыли дырки формулой «если <случай>, то <что видит человек> и <что происходит с данными>». Это описание работы. Но принять по описанию нельзя: в нём сказано, что должно быть, и не сказано, как вы убедитесь, что это есть.

Критерий приёмки отвечает ровно на этот вопрос. Он защищает от бесконечного «почти готово»: либо условие выполнено, либо нет, и это видно без спора.

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

Возьмём требование «клиент получает подтверждение». Понять его можно по-разному. Критерий: «после нажатия «Записаться» на экране видны дата, время и адрес; письмо приходит на указанный адрес; если письмо не пришло, на экране есть кнопка «отправить ещё раз»». Три действия, три наблюдаемых результата — проверка занимает две минуты.

У хорошего критерия три признака, и каждый проверяется вопросом.

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

Два человека дают одинаковый ответ. Покажите критерий администратору салона: он должен сказать «выполнено» или «не выполнено» там же, где и вы. Если он пожимает плечами — это пожелание, а не критерий.

Он про наблюдаемое, а не про намерение. «Использовать современный фреймворк» — не критерий: это про то, как сделано, а не про то, что увидит человек. Критерий всегда смотрит на результат.

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

Разбор: Салон готов принять первую версию. Хозяйка говорит: «Хочу, чтобы было удобно и понятно». Это не отговорка — она правда так думает. Но принять по этим словам нельзя, и виновата не она.

Переводим в критерии — и заодно смотрим, что каждый ловит.

«Удобно записаться» → «Клиент записывается с телефона, не заглядывая в инструкцию: выбирает услугу, время, оставляет имя и телефон». Ловит: длинную форму, лишние поля, кнопку, которую не найти. Не ловит: красоту — и это нормально, красоту не принимают.

«Понятно, что запись прошла» → «После нажатия «Записаться» человек видит дату, время и адрес салона, а не пустой экран и не общее „успешно“». Ловит: молчание после отправки — то самое, из-за которого звонят проверять.

«Чтобы не было двойной записи» → «Если двое выбирают одно время, второй видит „это время только что заняли“ и свободные варианты рядом». Это вы уже описали в 4.2 — и теперь видно, зачем: то, что было поведением, стало тем, что проверяют на демонстрации.

«Администратору удобно» → «Администратор открывает список записей на день и видит время, имя и услугу, не прокручивая страницу». Ловит: календарь на месяц, в котором на телефоне ничего не разобрать.

Четыре строки, и приёмка — не разговор о вкусах, а четыре действия.

Обратите внимание, чего в них нет: ни секунд, ни процентов. Действие и наблюдение уже дают критерий, но границы в нём пока мягкие: «не прокручивая» — это сколько?

Частая ошибка: 1. Писать оценки вместо условий. «Красиво», «современно», «удобно», «чтобы всё работало» — это не критерии: их нельзя ни выполнить, ни проверить, и спор о них бесконечен. 2. Писать критерий про процесс, а не про результат. «Сделать на современном фреймворке», «добавить анимацию» — это про то, как исполнитель работает. Заказчику это не проверить, и на его проблему это не влияет. 3. Формулировать критерии после сдачи. Тогда они превращаются в претензии: работа уже сделана, и каждая новая строка читается как «а вот это вы не сделали». 4. Делать критерий неподъёмным. «Работает на всех устройствах и во всех браузерах» звучит хорошо и не проверяется никогда. Лучше назвать три телефона и один браузер — и проверить по-настоящему.

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

Требование: клиент получает подтверждение записи.

Критерий приёмки — проверяется действием:
1. После нажатия «Записаться» на экране видны дата, время и адрес салона.
2. Письмо приходит на указанный адрес.
3. Если письмо не пришло, на экране есть кнопка «отправить ещё раз».

Проверка: три действия, две минуты.
Спорить не о чем: каждый пункт либо выполнен, либо нет.

Выберите критерий приёмки

Заказчик написал: «Хочу, чтобы запись была удобной и надёжной». Какой пункт — критерий приёмки, по которому работу можно принять?

Критерий успеха: Выбран пункт, который проверяется действием и даёт одинаковый ответ у двух людей.

Уроки модуля 5

Что ещё есть на сайте

Учиться

  • Уроки — Все уроки трёх траекторий: список, поиск и ваш прогресс.
  • Программирование с нуля — Python с первой команды до своего проекта: 12 модулей.
  • Интерфейсы и сайты с нуля — Кнопки, страницы и мини-игры: результат виден сразу в браузере.
  • Компьютер без страха — Файлы, браузер, пароли, мошенники, документы и деньги в интернете простыми словами. Бесплатно и без оплаты.
  • Если уже случилось — Деньги ушли с карты, пропала симка, взломали аккаунт, потерялись документы — порядок действий по шагам и куда звонить.
  • Какой компьютер нужен — Чек-лист по уровням: для учёбы ничего покупать не нужно, для своего проекта — 16 ГБ и SSD, для работы — 32 ГБ. Плюс нейросети и устаревание железа.
  • Без кода: ставить задачу — Как объяснить задачу программисту и принять работу. Кода нет ни строчки.
  • Конструктор описания задачи — Собрать описание по полям и получить готовый текст для исполнителя.

С чего начать

Потренироваться

  • Практикум: задачи из жизни — Та же команда урока — на работе, дома и в документах. 63 задачи с проверкой вывода и без регистрации.
  • Игры-тренажёры — Найти ошибку в чужом коде, прочитать, что делает программа, и увидеть, что случится, если нажать клавишу.
  • Симулятор: от задания до сдачи — Пройти путь целиком: папка, терминал, файл, сохранение, запуск, проверка по критерию приёмки. Два сценария и две системы.
  • Мастерская экрана — Проверить цвета и раскладку страницы: контраст, шаблоны, конструктор.
  • Колесо фортуны — Одна прокрутка в день: скидка на подписку или дни доступа.

Словари и юмор

Сайт, оплата и помощь

  • Родителям — Возраст, время на уроки, безопасность в сообществе, деньги и результат — что важно знать до оплаты.
  • Инструкция пользователя — Как всё устроено: уроки, кабинет, уведомления, подписка, ярлык.
  • Сообщество — Вопросы и ответы: читать можно всем, писать — после входа.
  • Подписка — Тарифы, что входит, возврат 14 дней, история платежей.
  • Помощь и поддержка — Частые вопросы и форма обращения — ответ в течение дня.
  • Отзывы учеников — Что пишут те, кто уже учится: без звёзд, с проверкой каждого текста.
  • Профиль и пароль — Имя, пароль для входа без кода, уведомления, свои данные.