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

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

Мы должны просто построить эту чертову штуку.

Rundown

  • Имя: "Смерть по плану"
  • AKA: детализ.
  • Сводка: возникает, когда группа пытается так тщательно спланировать проект, что у них не хватает времени на его создание.
  • Тип: Управление
  • Обычное?: Дженкинс! Созовите встречу, чтобы мы могли это решить!

Расскажи мне историю!

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

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

Конечно, я знаю это только потому, что делал это раньше.

Помните проект Кафе? Тот, о котором я говорил в посте Изобретая квадратное колесо заново? У этого проекта было множество проблем, и одна из них заключалась в том, что моя команда, в том числе я, чувствовала необходимость спланировать его в максимальной степени. Это включало целые собрания, посвященные тексту, отображаемому для пользователей на странице, с вопросами типа Должны ли мы показывать краткое название элемента или полное имя? и Что происходит при отключении электроэнергии? и Какого цвета должны быть устройства отображения?

Если бы я шутил.

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

Предполагаемая «торговая точка в кафе» заняла девять месяцев. Первые шесть были заполнены собраниями по планированию. Мы не подошли к завершению. Проект умер отчасти из-за того, что мы пытались спланировать так много вещей, что фактически не смогли его завершить. Это остается самым крупным проектом, над которым я когда-либо работал, но не запущенным в производство.

Стратегии решения

Могли ли мы спасти проект торговой точки Cafe от гибели по плану? Конечно, но это должно произойти очень рано. Современная разработка программного обеспечения осознала проблему смерти от планирования и адаптировалась. Эта адаптация теперь обычно называется итеративной разработкой, или, если говорить кратко, Agile.

Независимо от того, в какой степени вы согласны с реализацией Agile-разработки, цель одна и та же: создавать короткие контролируемые сегменты, предоставлять рабочий продукт как можно скорее, а затем вносить в этот продукт изменения по мере необходимости. Большая часть мира программного обеспечения перешла к той или иной разновидности этой идеи, потому что программное обеспечение как продукт изменчиво и должно быстро адаптироваться.

В то время моя компания находилась на начальной стадии адаптации Agile-методов. Этот проект и его неудача подтолкнули компанию к более быстрой адаптации Agile.

Итеративная разработка, создание минимально жизнеспособного продукта (MVP) с последующим изменением этого продукта небольшими, взвешенными способами - вот способ избежать смерти путем планирования.

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

Один из ваших проектов потерпел неудачу из-за смерти из-за планирования? Вы можете что-нибудь об этом рассказать? Я бы хотел это услышать! Делитесь в комментариях! Или же вернитесь на страницу указателя серий, чтобы увидеть еще несколько антипаттернов.

Удачного кодирования!

Первоначально опубликовано на сайте exceptionnotfound.net 5 сентября 2018 г.