Переделка стоила два дня, теперь два часа. Что в разработке подорожало взамен

от автора

Есть ощущение, что аналитиков сейчас хоронят чаще, чем джунов. Логика простая: агент пишет код по двум абзацам из чата, значит, точные ТЗ не нужны, значит, и аналитик не нужен. Частично это правда. Есть аналитическая работа, которую я бы назвал механической: «опиши точно, чтобы разраб не переделывал». Для большинства feature‑level задач эта часть действительно подешевела: на днях на работе прилетело очередное «слушай, тут чуть поменяем», и я переделал за пару часов между остальными задачами. Раньше это были два дня в стол. Но есть другая часть аналитики: «пойми, что вообще делать». Она никуда не денется. Так, я недавно построил не то. Быстро, дёшево, аккуратно. Не то.

Типичный сценарий. Берёшь задачу, тебе её описали, ты вложил два дня, выстроил под это всю логику. И тут прилетает правка. Не «поправь строчку», а «вот это мы теперь видим иначе». И половину надо сносить и писать заново. А через неделю ещё раз, потому что показали клиенту и клиент сказал не то, что ждали. Один и тот же кусок ты переписываешь по два‑три раза, и каждый раз это дни в стол.

И вот что важно проговорить: это ничья не вина. Заказчик не вредитель, аналитик не дурак, ПМ не саботажник. Сформулировать фичу точно до того, как она существует, физически почти невозможно. Ты понимаешь, что тебе на самом деле нужно, только когда трогаешь готовое руками. Кастдев доучивает, рынок доучивает, первый живой юзер доучивает, и фичу откатываем. Меняющиеся требования это не баг процесса, это и есть процесс. Просто процесс, в котором кто‑то крайний, и этим крайним последние лет десять был тот, кто пишет код. Я сам сидел по обе стороны стола.

Требования плывут везде и всегда, без злого умысла. Просто до недавнего времени каждый разворот стоил разрабу дней.

Переделка перестала быть болью

С агентами эта цена сильно снизилась.

Развернули фичу на сто восемьдесят градусов? Скинул контекст, описал новое, и через пару часов у тебя другая версия. Переобулись ещё раз? Ну, ещё пара часов. Снести половину и пересобрать больше не подвиг и не личная драма, это рутина. Раньше после такого хотелось закрыть ноут и не открывать. Теперь просто пожимаю плечами и сажусь за дело.

Ярче всего это видно на моём пет‑проекте. Пилю телеграм‑бота, который дёргает читать сохранённое и доучивать брошенные курсы. И я сам себе тот самый заказчик, который не может сформулировать, чего хочет, и переобувается на ходу. Удобно: и аналитик недодумал, и разраб накосячил, и оба это я.

Прямо сейчас переписываю раздел с курсами целиком, по второму кругу. Выкатил первую версию, пощупал руками и дошло: курс живёт по совершенно другим правилам, чем обычная ссылка. Без агента я бы за переделку просто не сел: год назад прикинул бы неделю возни и забил, жил бы с кривой архитектурой и тихо бесился. А тут снёс и пересобрал, даже не жалко.

До этого так же снёс и переписал с нуля систему характеров бота и браузерное расширение. Не потому что криво сделал, а потому что трижды передумал, чего хочу. Сейчас я делаю это спокойно и не жалею выкинутого.

Стоимость отсутствия нормальной аналитики на берегу упала почти до нуля. Размытое требование больше не разоряет. Это правда, и это кайфово.

Аналитика на берегу всё ещё задаёт частоту: как часто к тебе вообще прилетает «давай переиграем». На проекте с сильными аналитиками и выставленными процессами развороты были редкостью, почти всё закрывали до старта; на слабых процессах требования плывут пачками. Это её работа, и она настоящая. Обвалилась не она, а цена каждого разворота: раньше он стоил неделю, теперь пару часов. ИИ не отменил аналитику, он обнулил штраф за её нехватку.

И порог входа упал вместе с ней

Тут есть второй слой, который я понял не сразу.

Раньше, чтобы собрать более‑менее адекватный сервис, нужен был не только тот, кто напишет код, но и тот, кто продумает наперёд: разложит, предусмотрит, где рванёт. Эта компетенция стоила денег и лет опыта, и в одиночку её было не закрыть.

Сейчас изрядную часть этой работы подсказывает модель: «как правильно разложить таблицы», «почему вот этот подход выстрелит в ногу через три экрана». Я не архитектор с двадцатью годами за плечами, но с моделью этот слой стал подъёмным в одиночку. Не «сам собой»: советы приходится перепроверять руками, модель с одинаковой уверенностью предлагает и удачное решение, и провальное. И Opora живёт: ходит в прод, парсит сайты, гоняет классификацию через LLM, шлёт людям дайджесты по расписанию, ведёт курсы. Год назад я бы в одиночку утонул в решениях, которые не умею принимать. Порог входа в «сделать работающую вещь» просел, и сильно.

И вот тут обычно ставят точку и пишут «всё, аналитика умерла, вайбкодь и не думай». А я бы поспорил. Потому что подешевела не любая аналитика.

Механика подешевела. Смысл остался дорогим.

Смотри, в чём фокус. Я стал думать об аналитической работе как о двух принципиально разных вещах, и мне кажется, это деление честное.

Первая часть механическая: описать точно, чтобы разраб не переделывал. Расписать кейсы, зафиксировать, согласовать, чтобы не было сюрприза на два дня в стол. Вот эта часть подешевела. Раньше за неточность в описании платили переделкой, поэтому точность стоила дорого. Теперь переделка дешёвая, и цена неточности упала вместе с ней.

А вторая часть смысловая: понять, что вообще стоит строить и нужно ли это живому человеку. Вот она осталась дорогой.

Поясню на себе. Я написал статью про свой продукт, и она зашла: сотни дочитали, десятки перешли на сайт. Для соло‑проекта на старте это хороший результат. Код бота при этом не бутылочное горлышко, любую фичу перепишу за пару часов. А сколько из этих десятков реально осталось и начало пользоваться? Единицы. Это я называю «построил не то», хотя честно — мне ещё предстоит разобраться, что именно не попало: сама идея, онбординг, или просто не та аудитория из той статьи. Быстро, дёшево, аккуратно. Куда‑то мимо.

И вот где теперь живёт дорогая ошибка. Не в коде. Не в том, что требование плохо описали. Она в зазоре между «человек кликнул» и «человек остался». В том, ту ли боль я вообще решаю, та ли это вещь, за которой возвращаются. Это смысловая ошибка, ошибка в направлении. И её ни агент, ни дешёвая переделка не закрывают. Я могу за неделю собрать пять версий продукта, дёшево. Но какую из пяти и нужна ли вообще хоть одна, модель за меня не решит. Спросишь её прямо, она бодро ответит «отличная идея», она всем так отвечает. У неё нет моих живых юзеров, которые молча кликают и уходят.

Узкое место переехало с рук на голову

Раньше главный вопрос был «как сделать правильно, чтобы не переделывать». Это было дорого, страшно и требовало опыта, и именно ради этого городили тонны аналитики на берегу. Сейчас это дёшево и во многом отдаётся машине.

А вопрос «что вообще делать и зачем» относительно подорожал. Не потому что усложнился, а потому что всё вокруг него подешевело, и он остался торчать наружу как единственное настоящее препятствие. Раньше его заслонял частокол технических проблем и переделок. Снёс частокол, и оказалось, что за ним всё это время стоял вопрос, на который у тебя нет готового ответа.

И отсюда практичный вывод, а не нытьё. Раз ошибаться в реализации дёшево, надо ошибаться чаще и быстрее. Не вылизывать спек (то же ТЗ) три недели, а выкатывать сырое, смотреть на живых людях, переделывать назавтра. Аналитика на берегу больше не страхует от главного риска, потому что главный риск теперь не «криво описали и переделали», а «сделали не то». А «не то» проверяется только людьми, не размышлениями. Если совсем коротко: раньше выигрывал тот, кто точнее опишет до старта, теперь тот, кто быстрее проверит на живых. Скорость проверки гипотезы обогнала качество её описания.

Ценность аналитики теперь там, где она всегда была важнее: понять, что людям на самом деле нужно. «Опиши точно, чтоб не переписывали» ИИ взял на себя, и это, наверное, честно: это была самая нудная часть. Что осталось, исследование, разговоры с пользователями, выбор направления, та самая работа, ради которой умные люди шли в продакт‑менеджмент.

Где я сам сейчас ошибаюсь

Всё это я пишу не из теории, а из своей практики. Opora, тот самый бот про чтение и курсы, это мой соло‑пет‑проект, пилю один, баги ловлю на живых юзерах. И главную свою ошибку я сейчас совершаю ровно там, где написал выше: не в коде и не в спеке, а в попадании в человека. Код‑то как раз дешёвый.

Если любопытно, во что всё это вылилось, вот: https://useopora.com. А если у тебя был свой момент, когда дешёвая переделка не спасла от дорогой ошибки в направлении, расскажи в комментах. Подозреваю, я тут не один такой.

ссылка на оригинал статьи https://habr.com/ru/articles/1052300/