27 окт. 2024 г.·7 мин чтения

Технический авторитет в антикризисном развороте до смены процессов

Технический авторитет в turnaround позволяет одному человеку сократить scope, остановить невыгодные сделки с вендорами и пересобрать архитектуру до того, как команда потеряет время на переписывание процессных схем.

Технический авторитет в антикризисном развороте до смены процессов

Почему исправления процесса буксуют

Когда команда попадает в беду, за процесс обычно хватаются первым делом. Добавляют daily standup, планёрки, статус-репорты и более аккуратную доску, чтобы отслеживать работу. Это кажется безопасным, потому что никому не нужно принимать жёсткое решение.

Но процесс редко бывает настоящей причиной проблемы.

Обычно всё проще: у никого нет ясных полномочий решать, что останавливаем, что выпускаем и что сокращаем. Когда у просроченной фичи уже есть обещание перед клиентом, большинство команд продолжает тащить её дальше. Sales хочет закрыть сделку. Product хочет сохранить roadmap. Engineering хочет время, чтобы исправить то, что уже болит. Эти цели сталкиваются каждый день, и встречами это не лечится. Нужен тот, кто принимает решение.

Именно на сокращении scope ломается много спасательных попыток. Люди говорят о фокусе, но никто не хочет убить фичу, на которую уже ушли два месяца и половина энергии команды. Поэтому работа продолжает жить, даже когда все понимают, что ей пора закончиться. Backlog растёт, сроки снова уезжают, а доверие падает ещё ниже.

Старый architecture только усугубляет проблему. Если codebase превращает любой небольшой запрос в неделю доработок, команда снова и снова делает плохие компромиссы. Наведение порядка отодвигают, потому что давление sales кажется срочнее. Потом следующая фича снова занимает слишком много времени по той же причине. Process не может разорвать этот круг, пока продукт держится на слабых технических решениях.

Вот почему технический авторитет важен до любых изменений процесса. Кто-то должен иметь право сказать:

  • эту фичу останавливаем прямо сейчас
  • это обещание клиенту нужно пересмотреть
  • эту часть системы нужно перестроить, прежде чем добавлять ещё нагрузку
  • эта сделка с вендором или план найма больше не имеет смысла

Без таких полномочий process превращается в спектакль. Команды отчитываются о тех же задержках, только в более красивом формате. Они оценивают ту же работу по более симпатичным шаблонам. Они ходят на большее число встреч, пока продукт продолжает толкать их к тем же плохим решениям.

Turnaround начинает двигаться тогда, когда один человек или очень небольшая группа может сокращать scope, менять направление и защищать эти решения перед product, sales и engineering. Если никто не может остановить хотя бы одно плохое обязательство уже на этой неделе, новый процесс просто съест ещё одну неделю.

Что такое технический авторитет на самом деле

Технический авторитет — это не должность. Это право принимать жёсткие решения, когда компания под давлением.

В режиме спасения одному человеку нужен финальный голос по scope продукта, внешним расходам и тому, как именно будет устроена система, которую команда пытается спасти. Без этого у каждой функции остаётся своё вето. Sales продолжает удерживать обещания, product — старые планы, engineering — старый код, а finance — старые контракты. Компания выглядит занятой, но ничего не становится проще.

Первая часть авторитета — это scope. Один человек должен уметь прямо сказать: «сейчас мы это не делаем». Именно здесь многие спасательные попытки проваливаются. Команда может сократить найм, урезать cloud-расходы и добавить еженедельные проверки, но всё равно утонуть, если никто не готов убить лишние фичи, которые продолжают попадать в sprint.

Вторая часть — контроль над вендорами. Плохие сделки часто живут дольше, чем плохой код. В режиме спасения нужен человек, который может поставить на паузу рискованный outsourcing-контракт, отказаться от долгого продления ПО или остановить migration, который только добавляет расходов. Если каждое изменение в контракте требует трёх встреч и извинений фаундера, компания продолжает платить за проблемы, которые уже поняла.

Третья часть — владение архитектурой. Один человек должен определить целевую architecture на ближайший этап, а не для какого-то идеального будущего. Это значит решить, что остаётся, что временно подлатать, а что переписать позже. Инженерам нужна эта граница. Иначе они чинят по одной ошибке внутри системы, в которую никто уже не верит.

Этот человек также должен публично делать компромиссы и выдерживать давление. Он говорит sales, что обещанной фичи больше не будет. Он говорит engineering, что некрасивый service останется ещё на один квартал. Он говорит фаундерам, что любимый проект закрыт. Тихие решения создают обвинения. Понятные решения создают движение.

Человеком с таким авторитетом может быть founder, CTO или fractional CTO. Название роли важно меньше, чем право принимать решения. Если в режиме спасения никто не может сокращать scope, останавливать плохие сделки и пересобирать архитектуру, любые изменения процесса превращаются в бумажную работу.

Где спасательные планы сбиваются с курса

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

Клиент попросил разовую фичу полгода назад, sales сказал «да», и теперь команда всё ещё относится к этому как к обязательству. Никто не останавливается, чтобы спросить, помогает ли эта фича продукту, подходит ли она к codebase и приносит ли она достаточно денег, чтобы оправдать затраты. Обычно это первая утечка.

Вторая утечка — roadmap. Руководители часто защищают его, потому что изменение плана означает тяжёлые разговоры с клиентами, фаундерами и board. Поэтому roadmap остаётся живым на бумаге даже после того, как реальность изменилась. Люди продолжают отчитываться о прогрессе по плану, который уже не имеет смысла.

Так дрейф начинает выглядеть нормой. Встреч становится больше, документы аккуратнее, а решения — мягче. Компания выглядит организованной, но никто не говорит: «Мы это не делаем».

Дрейф часто выглядит разумно

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

Finance тоже может усиливать дрейф без злого умысла. Если никто не отвечает за техническую перезагрузку, старые инструменты продолжают лежать в счёте месяц за месяцем. Лишние monitoring tools, дублирующие CI-сервисы, неиспользуемые SaaS-места и cloud-ресурсы от заброшенных экспериментов продолжают выкачивать деньги. Каждая позиция кажется маленькой. Вместе они могут оплатить ещё одного инженера или продлить runway на несколько недель.

Process-документы создают ощущение контроля. Команда пишет схемы согласований, правила планирования и шаблоны отчётности. Но всё это не исправляет реальную проблему, если никто не принимает жёсткие решения. Process может зафиксировать решение. Заменить его он не может.

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

Как начать спасение в правильном порядке

Начните с короткой заморозки. На одну-две недели остановите новые обещания, кастомные сделки, side projects и свежие запросы на фичи. Спасение разваливается, когда sales продолжает продавать, фаундеры продолжают соглашаться, а команда одновременно строит три разных будущих.

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

Потом отсортируйте работу по простому бизнес-эффекту. Задайте три прямых вопроса:

  • Что приносит деньги прямо сейчас?
  • Что мешает поставке или создаёт боль для клиентов?
  • Что может подождать 30–60 дней без реального ущерба?

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

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

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

Большие переписывания обычно оставляют на потом. Они выглядят аккуратно, но редко помогают первыми. Если login, billing или основной пользовательский сценарий всё ещё ломается, полное переписывание просто создаст вторую нестабильную систему. Сначала исправьте самые болезненные узкие места, уберите хрупкие слои и стабилизируйте потоки данных, а уже потом думайте о большом редизайне.

Простой пример

Сначала стабилизируйте production
Начните с сервисов и задач, которые постоянно будят вашу команду ночью

У SaaS-компании знакомая проблема. Релизы сдвигаются на две-три недели, тикеты в support накапливаются, а клиенты начинают спрашивать, движется ли продукт вообще. Команда работает изо всех сил, но каждый месяц заканчивается тем же извинением и новой обещанной датой.

Фаундеры реагируют так, как делают многие команды. Они добавляют ежедневные standup, более длинные статус-отчёты и дополнительные шаги согласования перед тем, как код попадёт в production. На бумаге это выглядит дисциплинированно. На деле ничего не улучшается. Разработчики тратят больше времени на объяснения, чем на завершение работы.

Настоящая проблема лежит в другом месте. Шесть месяцев назад компания подписала кастомную сделку с крупным клиентом. Теперь этому клиенту нужны особые workflow, дополнительные права и отдельная integration. Половина roadmap уходит в работу, которую использует только один клиент. Никто это не останавливает. Sales хочет сохранить аккаунт. Фаундер хочет избежать конфликта. Менеджер по engineering не имеет полномочий сказать «нет».

Именно здесь технический авторитет меняет историю. Сильный технический лидер, иногда founder, а иногда fractional CTO, принимает три прямых решения.

Сначала он сокращает или пересматривает кастомную сделку. Если клиент не согласен на меньший scope, компания перестаёт строить фичи, которые вредят основному продукту. Потом он урезает roadmap до нескольких продуктовых изменений, которые заметит большинство клиентов. Затем он упрощает deployment. Вместо хрупкого релиза с ручными проверками на слишком большом числе сервисов команда выпускает более мелкие обновления по одному более чистому пути.

Это не магия. Первые несколько недель всё ещё ощущаются напряжёнными. Но теперь команда делает меньше, завершает больше и выпускает чаще. Клиенты быстрее видят исправления. В support приходит меньше писем в духе «когда это выйдет?». Доверие начинает возвращаться, потому что компания наконец-то сопоставляет обещания с доставкой.

Standup и отчёты могут помочь позже. Они не спасают компанию, если никто не может отменить плохую работу, сократить scope или пересобрать то, как продукт выпускается.

Что первым делом нужно пересобрать в архитектуре

Когда продукт в беде, начинайте с частей, которые будят людей в два часа ночи. Если одна задача падает каждую ночь, один сервис забивает диски или одна очередь зависает и блокирует заказы, чините или убирайте это в первую очередь. Команда не будет принимать хорошие решения, пока половину недели тратит на устранение инцидентов.

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

Выберите один скучный операционный путь и заставьте всё идти через него:

  • один способ деплоя
  • одно место для чтения логов
  • один шаг отката, который знает вся команда
  • один канал алертов по production-проблемам

Смешанные привычки тратят время. Один инженер деплоит через pipeline, другой через shell script, а третий откатывает вручную. Небольшие баги превращаются в длинные ночи, когда команда не может видеть одну и ту же систему одинаково.

Остановите работу, которая отвлекает инженеров от продукта, которым уже пользуются клиенты. Внутренние эксперименты, недоделанные интеграции и side projects могут подождать. Во время спасения каждый час вне основного потока стоит вдвойне: вы теряете фокус, а сломанный код дольше остаётся в production.

Большие переписывания обычно лучше оставить на потом. Они кажутся чистым решением, но редко помогают первыми. Если login, billing или основной клиентский сценарий всё ещё ломается, переписывание просто создаёт вторую нестабильную систему. Сначала залатайте самые жёсткие узкие места, уберите хрупкие слои и стабилизируйте потоки данных, а уже потом переделывайте что-то крупнее.

Именно здесь авторитет важен сильнее всего. Кто-то должен принять жёсткое решение объединить сервисы, поставить миграцию на паузу, убрать лишнюю зависимость или закрыть любимый проект. Красивую architecture можно отложить. Стабильные релизы, понятные логи и меньше инцидентов важнее всего.

Ошибки, которые делают яму глубже

Пересоберите roadmap
Разберите срочные задачи и старые обещания, пока не потерялся ещё один месяц

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

Часто ошибаются, когда слишком рано нанимают больше людей. Дополнительные сотрудники не исправляют раздутый roadmap. Они получают тот же неясный приоритет, тот же нестабильный код и те же политические конфликты. В небольшой компании пять новых наймов могут добавить недели координации, пока продукт всё равно продолжает срываться.

Слишком ранняя покупка новых инструментов создаёт такой же перерасход. Новый task tracker, тестовый инструмент или observability-пакет не помогут, если никто не владеет процессом принятия решений. Сначала решите, кто может говорить «нет», кто утверждает исключения и кто отвечает за архитектуру. После этого инструменты уже поддерживают план, а не прячут беспорядок за более красивыми дашбордами.

Низкомаржинальная кастомная работа — ещё одна ловушка. Фаундеры продолжают её держать, потому что клиент громкий, sales что-то пообещал или команда уже потратила на неё месяцы. Во время спасения такая работа часто съедает лучшее инженерное время и почти ничего не даёт взамен. Если одна кастомная ветка всё время ломает общий продукт, уберите её или оцените её настолько дорого, чтобы боль была оправдана.

Право вето быстро распространяет ущерб. Если founder, sales lead, инвестор и крупнейший клиент могут все вместе заблокировать сокращение scope, ничего по-настоящему не меняется. Roadmap остаётся переполненным, каждый срок становится фикцией, а команда учится, что ни одно решение не держится. Один технический лидер должен иметь финальный голос по тому, что выпускаем, что ставим на паузу и что закрываем.

Называть переписывание «стратегией» — часто последняя ошибка перед тем, как деньги начинают заканчиваться. Иногда плохое ядро действительно нужно заменить. Но чаще полный rewrite — это способ отложить трудные решения. Сначала пересоберите части, которые ежедневно причиняют боль: хрупкие integration, дорогие background jobs, медленные deploys или billing-flow, который ломается при каждом релизе.

Лучший порядок простой:

  • заморозить новые обещания
  • назначить одного технического владельца с реальными полномочиями
  • убрать работу, которая теряет деньги или блокирует основной продукт
  • починить те немногие проблемы в архитектуре, которые постоянно вызывают инциденты или переделки

Этот порядок кажется жёстким, потому что он и правда жёсткий. Зато он экономит время.

Быстрые проверки перед изменением процесса

Нужен человек, который возьмёт спасение на себя
Привлеките Fractional CTO, который сможет урезать scope и наладить поставку

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

Начните с нескольких прямых проверок.

Команда, у которой проблемы, должна знать, кто может убить фичу уже на этой неделе, а не в следующем квартале. Если никто не может сделать это без долгого спора, scope будет расти дальше, пока cash уменьшается.

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

Инциденты тоже многое показывают. Спросите трёх человек, что чаще всего ломает production. Если получите три разных ответа, команда просто гадает. Вам не нужен идеальный root cause report в первый же день, но вам нужен общий взгляд на главный источник боли.

Приоритет продукта должен звучать до скуки ясно. Спросите founder, tech lead и sales lead, что важнее всего на ближайшие 30 дней. Если они называют разных клиентов, разные фичи или разные сроки, любые изменения процесса только сделают этот конфликт более формальным.

Потом попросите в одной фразе описать следующий шаг по architecture. Хорошие ответы простые: разделить перегруженный сервис, убрать падающую очередь, заморозить новые integration, пока не исправим логирование. Плохие ответы — расплывчатые и общие. Когда никто не может просто назвать следующий шаг, архитектурный дрейф продолжает съедать время.

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

Если внутри компании такого человека нет, привлекайте временную помощь до того, как начнёте переделывать процесс. Короткое окно спасения с понятными правами на решения обычно лучше, чем шесть недель новых ритуалов, которые никто не может enforce-ить.

Что делать дальше

Сначала назовите человека, который будет принимать спасательные решения, и ограничьте этот авторитет по времени. Turnaround ломается, когда спорить может каждый, но решать не может никто. Одному человеку нужно право сокращать scope, останавливать кастомную работу, ставить side projects на паузу, отклонять плохие сделки и утверждать изменения в architecture на ближайшие 30–90 дней.

Запишите это и покажите всей команде. Если люди не знают, кто принимает решение, они будут открывать тот же спор на каждой встрече. Это быстро сжигает деньги.

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

Сделайте cadence спасения простым. Раз в неделю вместе смотрите на cash, roadmap и architecture. Сравнивайте каждую запланированную фичу с выручкой, риском и сроками поставки. Убирайте всё, что не помогает retention, sales или стабильности. Ведите один короткий список архитектурных исправлений, которые разблокируют выпуск.

В этих обзорах каждую неделю должны участвовать одни и те же люди. Если finance говорит без engineering или product говорит без infrastructure, план снова начинает дрейфовать. Технический авторитет работает только тогда, когда бизнес- и технические решения встречаются в одной комнате.

Если внутри компании такого авторитета нет, привлеките его извне на короткий срок. Oleg Sotnikov на oleg.is работает со стартапами и небольшим бизнесом как Fractional CTO и advisor, помогая командам пересобрать architecture, сократить лишние расходы и принимать практичные технические решения под давлением.

Следующий шаг — не новая схема процесса. Это понятный владелец, короткое окно решений и еженедельные проверки, которые связывают деньги, поставку и архитектуру в одну картину.

Часто задаваемые вопросы

Что на самом деле означает технический авторитет в turnaround?

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

Почему дополнительные встречи не спасают команду, если ей тяжело?

Планёрки и совещания только описывают проблему, если никто не может принять жёсткое решение. Команда продолжает буксовать, когда sales, product и engineering сохраняют за собой право вето, и никто не может убрать работу, из-за которой возникает задержка.

Кто должен принимать решения в режиме спасения?

Выберите человека, который уже понимает продукт, код и бизнес-компромиссы, и дайте ему чёткое право принимать решения. Это может быть founder, CTO или fractional CTO — название роли менее важно, чем настоящие полномочия.

Что стоит сокращать в первую очередь во время спасения?

Сначала убирайте работу, которая не защищает выручку, не разблокирует поставку и не снижает реальный риск. Обычно в первую очередь уходят кастомные фичи для одного клиента, side projects и пункты roadmap, которые сегодня никто бы не выбрал.

Стоит ли на время остановить новую разработку фич?

Да, но только на короткое время. Заморозка новых обещаний на одну-две недели даёт команде пространство увидеть весь беспорядок, расставить приоритеты и перестать строить три разных будущих одновременно.

Как понять, что спасение уходит в дрейф?

Дрейф заметен, когда старые обещания продолжают жить, даже если они уже не имеют смысла. Если команда всё ещё выпускает малополезную работу, защищает мёртвый roadmap, чинит одно и то же слабое место в коде и платит за инструменты, которые никто больше не хочет, спасение уже начинает буксовать.

Какие архитектурные проблемы нужно чинить первыми?

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

Нужно ли нанимать больше инженеров во время turnaround?

Обычно нет. Новые сотрудники унаследуют тот же запутанный roadmap и тот же слабый код, так что вы добавите координацию раньше, чем уберёте настоящие блокеры.

Когда fractional CTO имеет смысл в режиме спасения?

Приглашайте fractional CTO, если внутри компании никто не может урезать scope, остановить плохие сделки или перезапустить архитектуру без долгих споров. Внешний технический лидер особенно полезен, когда команде нужны быстрые решения на 30–90 дней, а не ещё одна волна изменений процесса.

Как долго должна действовать спасательная власть?

Ставьте короткий срок — обычно 30–90 дней — и фиксируйте его явно. Так решения принимаются быстрее, меньше политики, и компания успевает пересмотреть, что изменилось, прежде чем спасение превратится в постоянную борьбу за власть.