Урок 4.1 · Как объяснить задачу программисту · Модуль 4. Требования без сложных слов · Бесплатно
Цель урока: Описать требования простыми словами и без технических терминов.
Зачем это нужно: В уроке 3.2 первая версия записи стоила тридцать пять тысяч и две недели. Но смета держится на одном условии: исполнитель понимает, что именно он делает. Не понимает — закладывает запас «на всякий случай», и тридцать пять превращаются в пятьдесят.
Четыре вопроса закрывают больше половины уточнений, которые иначе приходят по одному в течение месяца. Задавать их надо не программисту, а себе — и записывать ответы обычными словами.
Как это работает: Первый вопрос: какие поля. Что человек вводит и что видит на экране. Не «сущности» и не «атрибуты» — просто: имя, телефон, услуга, дата, время. И рядом с каждым — обязательно оно или по желанию.
Второй: какие действия. Что человек делает. Записаться, перенести, отменить, отметить приход. Действие — это глагол, а не экран: «страница записи» — не действие, «записаться» — действие.
Третий: кто что может. Кто видит и кто меняет. Клиент видит только свои записи, администратор — все, мастер — только свои на сегодня. Права описывают не «роли в системе», а людей: клиент, администратор, мастер.
Четвёртый: что при ошибке. Здесь важно не только ответить, но и знать, из чего ответ состоит. Он состоит из двух частей: что человек видит на экране и что стало с данными — сохранились они или нет. «Показать ошибку» — это только первая половина, а вторая важнее: от неё зависит, запишется человек ещё раз или поймёт, что уже записан.
Порядок не случайный: сначала данные, потом действия над ними, потом кто имеет право, потом что при сбое. Если начать с ошибок, разговор уйдёт в частности, так и не описав главного.
И правило одно: технические слова оставляем исполнителю. Не «валидация», а «проверить, что в телефоне одиннадцать цифр». Не «ролевая модель», а «мастер не видит записи другого мастера». Не «логирование», а «записать в журнал, кто и когда отменил визит». Термин экономит вам одно слово и стоит трёх уточнений потом.
Разбор: Возьмём запись в салон и ответим на четыре вопроса по очереди.
Поля. Клиент вводит имя, телефон, выбирает услугу, мастера, дату и время. Видит: услугу с ценой, свободное время, подтверждение. Обязательны имя и телефон — без них администратор не знает, кого ждать. Комментарий («хочу короче, чем в прошлый раз») — по желанию, но полезен: он снимает часть звонков.
Действия. Записаться. Перенести и отменить — сам, но не позже чем за два часа до визита: позже — только через администратора. Администратор отмечает приход или неявку. Мастер смотрит свою запись на день.
Права. Клиент видит только свои записи и только вперёд: историю визитов ему не показываем. Администратор видит все записи всех мастеров и меняет любую. Мастер видит свои на сегодня и ничего не меняет — приход отмечает администратор, чтобы не было спора, кто прав.
Ошибки. В ответе про ошибки случаев несколько, и у каждого две части: что человек видит и что стало с данными. 1. Пустой телефон или номер короче одиннадцати цифр. — видит: «Проверьте номер» рядом с полем. — с данными: запись не создаётся, но имя и услуга остаются в форме. 2. Отмена уже отменённой записи. — видит: «Эта запись уже отменена». — с данными: ничего не меняется, вторая отмена не проходит. Вторые части разные, и это главное: в первом случае важно, что человек не заполняет заново, во втором — что повторное действие ничего не ломает. Надпись объясняет, что не так; данные решают, что будет дальше.
Частая ошибка: 1. Забыть про права и ошибки. Поля и действия лежат на поверхности — их видно на любом похожем сайте. Права и ошибки не видны нигде, пока не случится: поэтому о них вспоминают после выпуска, когда мастер случайно открывает чужую запись, а человек с опечаткой в телефоне не получает подтверждения. 2. Писать терминами. «Нужна валидация полей и ролевая модель» звучит солидно и не описывает ничего: исполнитель сделает свою валидацию и свою модель, а спорить будете вы. 3. Описывать «как», а не «что». «Сделать красивую форму с анимацией» — это про способ. Требование звучит иначе: «человек выбирает время и видит, что оно свободно».
Итог: Четыре ответа обычными словами: какие поля, какие действия, кто что может, что при ошибке. В ответе про ошибку две части: что человек видит и что стало с данными. Технические слова оставлены исполнителю: «валидация» и «роли» — его язык, не ваш. А дальше — другая работа: проверить эти четыре ответа на дырки — места, где вы с исполнителем прочитаете одно и то же по-разному.
Запись в салон — четыре ответа.
Поля: имя, телефон, услуга, мастер, дата, время.
Обязательны имя и телефон. Комментарий — по желанию.
Действия: записаться, перенести, отменить.
Администратор: отметить приход или неявку.
Права: клиент — только свои записи вперёд.
Администратор — все записи, меняет любую.
Мастер — только свои на сегодня, ничего не меняет.
Ошибки — две части у каждого случая:
телефон пустой или короче 11 цифр —
видит: «Проверьте номер» рядом с полем;
с данными: запись не создаётся, имя и услуга остаются в форме.
отмена уже отменённой записи —
видит: «Эта запись уже отменена»;
с данными: ничего не меняется, вторая отмена не проходит.Опишите свою задачу четырьмя ответами: поля, действия, права, ошибки. В ответе про ошибки назовите не меньше двух случаев — и для каждого обе части: что человек видит и что стало с данными. Если своей задачи сейчас нет, возьмите парикмахерскую из уроков 1.1–1.3 или случай из «Корявых задач» — метод разбирается так же.
Критерий успеха: Есть ответы на все четыре вопроса, и у каждого описанного случая ошибки названы обе части — что видит человек и что стало с данными.