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