Вы говорите о разных вещах.
Сначала я думаю, что вы всегда должны помнить ЯГНИ , поэтому, если нет абсолютно никаких намеков на то, что оно вам понадобится, то, вероятно, это не так, поэтому не используйте его.
ЕСЛИ известно, что изменение произойдет, но вы на самом деле не имеете ни малейшего представления о том, какую форму он примет, тогда попытка излишнего дизайна станет препятствием. Если у менеджера есть возможность получить его в течение двух дней, но вы тратите 2 недели, пытаясь превратить его в шаблон стратегии, тогда неудивительно, что он злится.
Используйте шаблоны только тогда, когда они вам нужны, или вы достаточно уверены, что они вам понадобятся, а если нет, то у вас будет достаточно времени для рефакторинга, и имейте в виду, что рефакторинг может быть планируется позже, когда это необходимо.
Еще одна заметка. Использование шаблонов проектирования само по себе не увеличивает возможности сопровождения кода . На самом деле, это может стать анти паттерном. Вы можете разрабатывать прекрасно поддерживаемый код без шаблонов, потому что ваш код может не нуждаться в шаблонах ...
Наконец ... есть кое-что, что я всегда люблю говорить о менеджерах. Конечно, некоторые из них могут принадлежать Дилберту, но не стоит недооценивать своего менеджера. Чаще, чем вы думаете, у вашего менеджера больше информации, чем у вас, поэтому, если он говорит, что это должно быть сделано за два дня ... возможно, есть веская причина для этого. Это не помогает иметь идеальный, чистый, поддерживаемый код продукта, который вы не смогли продать в обанкротившейся компании.