23 июня 20266 мин чтения

Почему мы Rule 90

В названии у нас номер правила. Оно умещается в одну строчку, ничего сложного в нём нет, и из одной закрашенной клетки оно строит узор без конца и края. Сложное не обязано быть непредсказуемым — на этом и держится то, как мы работаем.

Имя нам дало правило из математики. Оно совсем простое: строка клеток, каждая закрашивается или нет по одному и тому же условию, и так шаг за шагом. Условие умещается в одну строчку, и ничего сложного в нём нет.

А получается из него треугольник Серпинского — узор, внутри которого сидит он же, и так до любой глубины. Из одной закрашенной клетки, без единого сложного шага.

Сложное — не значит непредсказуемое

Таких правил ровно 256, и почти все ведут себя скучно: картинка либо застывает в полосы, либо рассыпается в шум. Наше — девяностое по счёту — не делает ни того, ни другого.

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

Обычно ждёшь, что за сложным результатом стоит сложный замысел, а за предсказуемым — что-то примитивное. Здесь ни то ни другое не верно. Сложность берётся не из сложности правила, а из того, что правило соблюдается.

Что на самом деле сломалось в разработке

Про ИИ принято говорить, что он пишет код. Пишет. Это самая скучная часть новости.

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

Когда исполнение дешевеет, эти компромиссы отваливаются сами. Остаётся то, что не дешевеет никогда — понять, что вообще нужно строить, и решить, что из построенного не стыдно выпускать.

Дешёвое исполнение поднимает цену решения

Об этом почти не говорят, хотя про ИИ говорят без остановки. А следствие неприятное. Если предложить вариант стало почти бесплатно, самым дорогим местом в проекте становится то, где вариант принимают.

Раньше плохое решение проявляло себя медленно. Пока его реализуют, кто-нибудь успевал споткнуться и сказать вслух. Теперь оно реализуется за час, целиком, со всеми последствиями, и спотыкаться уже не обо что.

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

Поэтому мы и не считаем, что ИИ заменяет инженера. Он снимает работу, которая никогда особо ценной не была, и делает несравнимо дороже ту, что была.

Команда, собранная под это

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

Мы держим обратное. Правил мало, они простые, исключений у них нет, а главное из них звучит скучно и стоит дороже всего остального — решение принимает человек, исполнение ведёт машина. Планирование, архитектуру и то, как продукт устроен для пользователя, на автомат не отдаём.

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

Почему в итоге это имя

Можно было назваться словом. Номер правила нравится нам тем, что он ничего не обещает и не просит верить на слово.

Сложные вещи не обязаны начинаться со сложного замысла. Они получаются, когда простые основания соблюдаются без исключений и им дают поработать достаточно долго. Про узор это теорема. Про продукты — наблюдение, но пока оно нас не подводило.

RULE 90Современные цифровые решения