1. Постановка как рефлекс начала работы
Тёма открывает чистый TASK_SPEC — раньше кода, первым делом. Рука тянется к бланку сама, прежде чем он успевает подумать «надо бы».
— Когда-то я вот этого пустого экрана боялся больше всего, — усмехается он. — Застывал, как перед контрольной: с чего начать, какие слова правильные. А теперь иначе и не умею.
Он не торопится, проговаривает вслух прямо в документ:
— Начисление наград где-то врёт — вот проблема. Как должно считаться — целевое. Что трогаем — scope, чего не касаемся — сюда. Чем проверю, с какой ветки начну, где чекпоинты.
Раньше каждая вторая фраза выходила расплывчатой, и её приходилось спасать. Сейчас ложатся плотно с первого раза. Бланк, что когда-то был повинностью перед «настоящим делом», стал способом самому себе объяснить задачу до конца — чтоб потом не блуждать. Не барьер перед работой. Первый её шаг.
2. Одна задача в одной постановке, не две
Самое взрослое в этом бланке — то, чего в нём нет. Внутри уже подмывает: впиши сюда и live-data, заодно и портал оживлю, чего два раза заходить.
— О нет, дружок, — говорит Тёма этому зуду. — Знаю я тебя.
Он осаживает соблазн. В постановке живёт только core fix, один, чистый. Вторую добавку откладывает отдельной строкой: «на потом, коротким проходом, если основной цикл закрыт».
И это не бюрократия ради бюрократии — он на своей шкуре знает, чем кончается, когда в одну задачу пихаешь две: ни одну не доводишь спокойно, обе быстро начнут мешать друг другу.
— Сейчас все сделаю, может, успею я ещё и магию прикрутить, — проговаривает он. — Сперва фикс, который надо сделать. Магия — премия сверху
Тот Тема, кому хочется всего и сразу, и поэффектнее, внутри никуда не делся — в прежние дни этот голос его и вёл. Сейчас Тёма его слышит, усмехается — и спокойно ставит в очередь. Азарт не пропал. Просто рулит теперь не он.
3. Хорошая постановка не требует спасения
Тёма отдаёт бланк Лёхе на вычитку. На экране — тот самый TASK_SPEC, что он собрал за пять минут, не мучаясь:
# TASK_SPEC — фикс начисления наград (reward-flow)
ДЕФЕКТ: очки за заявку считаются неверно (множитель уровня врёт)
ЦЕЛЕВОЕ: начисление по правилам из rules.md; лидерборд получает верное число
SCOPE: только reward-flow.js
NON-GOALS: вёрстку, лидерборд, partner-зону и /legacy не трогать
ПРОВЕРКА: тест начисления — красный на баге, зелёный на фиксе; скриншот лидерборда
ВЕТКА: fix-reward-flow, чекпоинты после теста и после фикса
Лёха пробегает постановку и роняет всего пару уточнений по мелочи — задача держится сама, спасать нечего.
— Чисто, — отвечает Лёха. — Тут и править нечего. Помнишь, как раньше было? Вернёшь тебе постановку, а в ней живого места нет: «что значит „починить начисление“? какое поведение правильное? как поймёшь, что готово?». Каждый второй вопрос — в то, что ты сам не сформулировал.
— Помню, — отвечает Тёма. — Ты из меня задачу клещами вытаскивал. А я обижался, думал, придираешься.
— А теперь сам всё закрыл, ещё до меня, — пишет Лёха. — Сам-то план как, отдельно проговаривать будем?
И Тёма проговаривает его сам, не дожидаясь:
— Да чего там. Сначала план без правок, я его гляну и подкручу, потом уже выполнение. Как всегда.
Для Тёмы это даже не отдельная техника. План перестал быть приёмом, который включаешь по случаю, — стал просто способом начинать: тот, кто когда-то не мог сформулировать игрушку, теперь пишет постановку и план потому что умеет и хочет, а не потому что припекло.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ