Почему бизнес может ставить слишком короткие сроки?

Ответ

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

Основные причины:

  • Рыночное окно: Страх упустить возможность или отстать от конкурентов.
  • Финансовое давление: Необходимость показать результат инвесторам или руководству к определённой дате.
  • Планирование на основе желаний, а не возможностей: Отсутствие этапа детальной оценки или консультации с технической командой.
  • Гибкие методологии: Непонимание, что спринт — это фиксированный контейнер для работы, а не произвольный дедлайн для любой задачи.

Практический пример и риски:

// Бизнес ожидает: "Добавь кнопку оплаты за 2 дня"
public void AddPaymentButton() {
    // Реальность:
    IntegrateWithPaymentGateway(); // +3 дня (документация, API-ключи, тестовый режим)
    UpdateDatabaseSchema();        // +1 день (миграции, бэкапы)
    WriteLoggingAndMonitoring();   // +1 день (для отлова ошибок транзакций)
    // Срок сорван, качество под угрозой
}

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

Что делать разработчику:

  1. Прозрачность: Детально декомпозировать задачу и показать все этапы (анализ, разработка, тесты, ревью, деплой).
  2. Буфер на риски: Всегда закладывать время на непредвиденные сложности (например, работу с легаси-кодом).
  3. Регулярная синхронизация: Постоянно обсуждать прогресс и влиять на ожидания, используя данные из трекера задач (velocity, capacity).

Ответ 18+ 🔞

А, ну это классика, блядь! Сроки, которые в рот не возьмёшь! Как будто фичи на деревьях растут, и их только собрать надо. А на самом деле — пиздец, а не оценка.

Смотри, в чём обычно корень зла. Сидит какой-нибудь менеджер, у которого горит жопа, потому что конкуренты какую-то хуйню выпустили. Или инвесторы на уши встали, требуют "результатов к вчера". И он, этот горе-стратег, без единого понятия о коде, начинает строчить ТЗ, где всё просто: "сделай мне красиво и быстро". Ага, щас, только рот разинул.

Откуда ноги растут, ёпта:

  • Окно рыночное: Боятся, что опоздают, как последние лохи. "Вася, надо вчера, а то нас обгонят!"
  • Деньги давят: Нужно к квартальному отчёту отчитаться, что не просто так бабки проебали, а "продукт вышел".
  • Хотелки вместо плана: Вообще нихуя не спрашивают у тех, кто будет делать. Просто рисуют в уме картинку и говорят: "Ну это же две кнопки, чё там делать-то месяц?"
  • Agile извращения: Ну тут вообще отдельная песня. Все прочитали про спринты и думают, что если запихнуть в двухнедельный спринт задачу на три месяца, то она волшебным образом сожмётся. Блядь, спринт — это не машина времени, а просто коробка для работы! Всё, что не влезло, выпадает и размазывается по полу.

Вот смотри, как это на практике выглядит:

// Бизнес думает: "Хуяк-хуяк — и кнопка оплаты готова за два дня!"
public void AddPaymentButton() {
    // А в реальности-то:
    IntegrateWithPaymentGateway(); // +3 дня (пока разберёшься с их кривой документацией, ключи получишь, в тестовом режиме попробуешь)
    UpdateDatabaseSchema();        // +1 день (миграции написать, бэкапы сделать, чтоб ничего не сломалось)
    WriteLoggingAndMonitoring();   // +1 день (а как без этого? чтобы, если что-то сломается, не искать ошибку как иголку в стоге сена)
    // И вот уже срок ебнулся, а качество — ниже плинтуса.
}

И чем это всё пахнет? А пахнет оно пиздецом. Код превращается в свалку (техдолг, блядь), команда выгорает и смотрит на монитор пустым взглядом, в продукте багов — как говна за баней. А потом всё это придётся переделывать, но уже втрое дольше и дороже. Гениально, да?

Так и что делать-то, если ты в этой мясорубке оказался?

  1. Не молчи, как Герасим! Распили задачу на мелкие-мелкие кусочки и покажи всем эту простыню. Пусть видят, что там не только "кнопку нарисовать", а ещё анализ, разработка, тесты, ревью, деплой и прочая хуйня.
  2. Буфер на всякий пиздец. Всегда добавляй время на неожиданности. Легаси-код, который развалится от одного взгляда? Библиотека, которая обновилась и всё сломала? Запланируй на это время заранее, а не потом геройствуй ночами.
  3. Не давай им забыться. Тяни их на регулярные созвоны, тычь носом в графики из Jira, показывай, сколько задач команда реально делает за спринт. Пусть их хотелки сталкиваются с суровой реальностью цифр.