CircleAndSqaure
@CircleAndSqaure
Основатель студии Ризн

Что вы делаете если не укладываетесь в срок?

Менеджерская задачка — у вас есть команда узкопрофильных разработчиков из 5 чел, бас фактор = 1. Вы работаете по спринтам поэтому фича должна быть реализована в срок 2 недель. в середине спринта вы понимаете что бэкэнд с высокой долей вероятности не успевает закрыть историю. Какими способами вы можете ускорить разработку и успеть в срок?
  • Вопрос задан
  • 2112 просмотров
Решения вопроса 7
@ponaehal
Упрощаю вопрос:
Я запланировал сделать это за две недели, но ошибся в оценке. Что делать?
Ответ на мой взгляд очевиден:
Извиниться, признать ошибку, сделать выводы. Все остальное (типа привлечение доп ресурсов, введение ночных смен и т.п.) это попытка прикрыть свою ошибку как менеджера за счет компании.
Ответ написан
angrySCV
@angrySCV
machine learning, programming, startuping
Ни ускорить ни замедлить (новых людей подключать, краткосрочно процесс замедлится еще сильнее - на том чтоб работу дополнительного человека координировать), переработки череваты выгоранием и падением мотивации в итоге еще большим сабатажем сроков.
Оценка сроков - это описательная и приблизительная харрактеристика, которая никак не влияет на реальные сроки разработки, вы же не будете что-то делать медленней если сделали быстрее чем планировались сроки, точно также и наоборот.
Как с этим быть - никак, показать что есть, спринт фиксирует ваши обьемы работ на определенный момент времени, чтоб вы могли оценить проделанную работу, и решить куда дальше двигаться.
Ответ написан
PavelUstyugov
@PavelUstyugov
Самозанятый веб-разработчик
это вполне нормально, что определить точный срок не представляется возможным. Программист же не ясновидящий и машиной времени не обладает, чтобы точно определить. В ходе работы с проектом может возникнуть немало обстоятельств, которые изначально невозможно было учесть. Например, ошибки в документации или в релизе фреймфорка.. Это только если разрабатывать продукт на ЯП, который не изменяется годами можно предугадать. А когда пишешь на современных фреймворках, где много подводных камней, то куда деваться? придется срывать сроки.
Еще если задачи легкие и типовые, то можно предугадать срок. А Когда разрабатываешь какой-нибудь сложный онлайн-сервис, который до этого никто еще не делал и мало информации по некоторым технологиям, которые будут использоваться в фреймворке, то нужно просто закладывать побольше срок.
Ответ написан
@bupatiho88
Определить, находится ли фича в списке приоритетных на данный спринт, иными словами является ли она критичной к исполнению для достижения цели спринта
1) Да
1.1) Пытаемся выиграть за счёт потери менее приоритеной фичи, при наличии таковой конечно
1.2) Все на бекенд. Несмотря на узкую специализированность, помочь всё же можно
1.3) Жертвуем качеством кода. Знаю что плохо, объясняем заказчику необходимость дополнительного времени для возврата технического долга.
1.4) Пытаемся выделить какую-то значимую для заказчика часть фичи(важную для бизнеса) и поставить её. Что-то лучше, чем ничего
2) Нет
2.1) Печально, каимся заказчику, движемся дальше

При любом раскладе обсуждаем на ретро проблему, ищем способ не допустить подобного в дальнейшем
Ответ написан
@stratosmi
Разработчик должен обязательно уведомить менеджера (как можно раньше).
А тот - уведомить заказчика (как можно раньше).
Ответ написан
Andrey_Pletenev
@Andrey_Pletenev
Pletenev.com
Варианты, которые есть у менеджера, чтобы ускорить разработку и успеть в срок (из моего опыта):
a) Помочь преодолеть имеющееся затруднение. Если разработчик "буксует", нужно понять в чем конкретный затык. Помочь может совет опытного коллеги, пример чужого кода и даже умение пользоваться поисковиком.
b) Предложить более эффективный способ решения задачи. Как известно, любую задачу можно решить несколькими способами. Иногда разработчик почему-то выбирает самый длинный, крутой и извилистый :)
c) Устранить имеющееся непонимание постановки задачи. К сожалению, иногда задержка вскрывает, что задача была неправильно понята и делается лишняя работа.
d) Уменьшить объем работ, изменив постановку задачи. В данном случае задача понята верно. Но если можно упростить саму задачу без принципиальной потери ценности функционала - это неплохой вариант.
e) Подключить дополнительные ресурсы к решению задачи (подключить дополнительных людей, купить больше их времени). Если это возможно, задача распараллеливается (при условии, что усилия на интеграцию не съедают экономию). Если нельзя распараллелить, применяем парное программирование. Сверхурочные - способ не требующий умственных усилий менеджера, а потому первым приходящий в голову. Не очень хороший вариант, т.к. проблема со сроками перетекает в проблему со стоимостью.
f) Принять решение о замене исполнителя задачи. Это крайний случай, но бывает, если ошиблись и поручили задачу разработчику, который ее "не тянет".

Задача менеджера - принять оптимальное решение, исходя из текущей ситуации.
Если ничего из вышеперечисленного не сделано или не возымело достаточного действия, то недостающие ресурсы и время на автомате начинают черпаться за счет снижения качества. Делаются "костыли" вместо основательных решений, нарушается технологический процесс (время экономится на дизайне, отладке, ревью, тестировании и т.д.)
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
Что вы делаете если не укладываетесь в срок?
Уведомляем заказчика и работаем дальше, если он не против.

Какими способами вы можете ускорить разработку и успеть в срок?
Вы уж определитесь успеваете вы или нет. Если можете ускорить -значит успеваете, если не можете ускорить значит не успеваете.
Вывод - если не успеваете значит ускорить никак нельзя.
Ответ написан
@ivorobioff
Software Engineer
Нужно определить конкретные причины по которым сроки были сорваны, например Вася не вышел на работу потому-что заболел или вы просчитались по времени с реализацией новой либы, так как вы думали что будет "A" а оказалось что "B". Затем, обратитесь к заказчику как можно раньше и сообщите о задержке по причинам которым вы определили. Это даст время заказчику сделать изменения в планах и так далее. Чаще всего заказчики понимают ситуацию и идут на встречу.

Далее, подумайте как можно смягчить урон от проблемы. Расставьте приоритеты. Выполняйте в первую очередь то что реально нужно. То без чего можно обойтись оставьте на потом. Например, вы понимаете, что для того чтобы фича работала там не обязательно должна быть сортировка, вместо автокоплита можно поставить обычный дропдаун, для того чтобы работал функционал не обязательно проектировать и реализовать отдельную либу, фича точно будет работать без юнит тестов и так далее. Конечно, все это надо будет выполнить в любом случае, но лучше так чем ни как.
Ответ написан
1) Предложить бекендеру больше денег за то, что бы он успел в срок
2) Нанять бекендуру помощника на аутсорсе
Ответ написан
Крайне редко когда срыв сроков действительно критичен. Ну ошиблись, ну ничего страшного, будет продукт на недельку позже готов - какая разница? Просто работаю дальше, а под конец, если и правда не успел, менеджер становится в курсе, и все планируется на следующий спринт.
Ответ написан
evgensenin
@evgensenin
yii2, vue, nuxt
господа ответующие, а теперь встаньте на место заказчика, которому часто говорят "кэп, мы чутка не успеваем закрыть спринт", тут вот такие/какие/сякие сложности встретились. раз сказали про "неуспеваем", два сказали, три раза.... ваша реакция?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы