Ответ
Короткие сроки часто возникают из-за рыночного давления, конкуренции или желания быстрее получить отдачу от инвестиций. Бизнес-заказчики без технического бэкграунда могут недооценивать сложность разработки. Иногда это следствие agile-практик, где сроки искусственно сжимаются для коротких спринтов.
Основные причины:
- Рыночное окно: Страх упустить возможность или отстать от конкурентов.
- Финансовое давление: Необходимость показать результат инвесторам или руководству к определённой дате.
- Планирование на основе желаний, а не возможностей: Отсутствие этапа детальной оценки или консультации с технической командой.
- Гибкие методологии: Непонимание, что спринт — это фиксированный контейнер для работы, а не произвольный дедлайн для любой задачи.
Практический пример и риски:
// Бизнес ожидает: "Добавь кнопку оплаты за 2 дня"
public void AddPaymentButton() {
// Реальность:
IntegrateWithPaymentGateway(); // +3 дня (документация, API-ключи, тестовый режим)
UpdateDatabaseSchema(); // +1 день (миграции, бэкапы)
WriteLoggingAndMonitoring(); // +1 день (для отлова ошибок транзакций)
// Срок сорван, качество под угрозой
}
Последствия: накопление технического долга, выгорание команды, низкое качество продукта и, в итоге, более долгий и дорогой фикс.
Что делать разработчику:
- Прозрачность: Детально декомпозировать задачу и показать все этапы (анализ, разработка, тесты, ревью, деплой).
- Буфер на риски: Всегда закладывать время на непредвиденные сложности (например, работу с легаси-кодом).
- Регулярная синхронизация: Постоянно обсуждать прогресс и влиять на ожидания, используя данные из трекера задач (velocity, capacity).
Ответ 18+ 🔞
А, ну это классика, блядь! Сроки, которые в рот не возьмёшь! Как будто фичи на деревьях растут, и их только собрать надо. А на самом деле — пиздец, а не оценка.
Смотри, в чём обычно корень зла. Сидит какой-нибудь менеджер, у которого горит жопа, потому что конкуренты какую-то хуйню выпустили. Или инвесторы на уши встали, требуют "результатов к вчера". И он, этот горе-стратег, без единого понятия о коде, начинает строчить ТЗ, где всё просто: "сделай мне красиво и быстро". Ага, щас, только рот разинул.
Откуда ноги растут, ёпта:
- Окно рыночное: Боятся, что опоздают, как последние лохи. "Вася, надо вчера, а то нас обгонят!"
- Деньги давят: Нужно к квартальному отчёту отчитаться, что не просто так бабки проебали, а "продукт вышел".
- Хотелки вместо плана: Вообще нихуя не спрашивают у тех, кто будет делать. Просто рисуют в уме картинку и говорят: "Ну это же две кнопки, чё там делать-то месяц?"
- Agile извращения: Ну тут вообще отдельная песня. Все прочитали про спринты и думают, что если запихнуть в двухнедельный спринт задачу на три месяца, то она волшебным образом сожмётся. Блядь, спринт — это не машина времени, а просто коробка для работы! Всё, что не влезло, выпадает и размазывается по полу.
Вот смотри, как это на практике выглядит:
// Бизнес думает: "Хуяк-хуяк — и кнопка оплаты готова за два дня!"
public void AddPaymentButton() {
// А в реальности-то:
IntegrateWithPaymentGateway(); // +3 дня (пока разберёшься с их кривой документацией, ключи получишь, в тестовом режиме попробуешь)
UpdateDatabaseSchema(); // +1 день (миграции написать, бэкапы сделать, чтоб ничего не сломалось)
WriteLoggingAndMonitoring(); // +1 день (а как без этого? чтобы, если что-то сломается, не искать ошибку как иголку в стоге сена)
// И вот уже срок ебнулся, а качество — ниже плинтуса.
}
И чем это всё пахнет? А пахнет оно пиздецом. Код превращается в свалку (техдолг, блядь), команда выгорает и смотрит на монитор пустым взглядом, в продукте багов — как говна за баней. А потом всё это придётся переделывать, но уже втрое дольше и дороже. Гениально, да?
Так и что делать-то, если ты в этой мясорубке оказался?
- Не молчи, как Герасим! Распили задачу на мелкие-мелкие кусочки и покажи всем эту простыню. Пусть видят, что там не только "кнопку нарисовать", а ещё анализ, разработка, тесты, ревью, деплой и прочая хуйня.
- Буфер на всякий пиздец. Всегда добавляй время на неожиданности. Легаси-код, который развалится от одного взгляда? Библиотека, которая обновилась и всё сломала? Запланируй на это время заранее, а не потом геройствуй ночами.
- Не давай им забыться. Тяни их на регулярные созвоны, тычь носом в графики из Jira, показывай, сколько задач команда реально делает за спринт. Пусть их хотелки сталкиваются с суровой реальностью цифр.