Вам дали ряд рекомендаций, которые ваши начальники сочли подходящими для вашего рабочего места и проблемной области. Поэтому чтобы быть уверенным в изменении этих рекомендаций, речь идет не о том, чтобы доказать, что интерфейсы - это вообще хорошо, а о том, что они вам нужны на рабочем месте.
Как вы доказываете, что вам нужны интерфейсы в коде, который вы пишете на своем рабочем месте? Находя место в вашей реальной кодовой базе (не в некотором коде от чьего-либо продукта, и, конечно, не в каком-нибудь игрушечном примере о Duck, реализующем метод makeNoise в IAnimal), где решение на основе интерфейса лучше, чем решение на основе наследования. Покажите своим боссам проблему, с которой вы сталкиваетесь, и спросите, имеет ли смысл изменить руководящие принципы для приспособления к подобным ситуациям. Это обучающий момент, когда все смотрят на одни и те же факты, а не бьют друг друга по голове общностями и спекуляциями.
Похоже, что руководящим принципом является забота об избежании чрезмерной инженерии и преждевременном обобщении. Так что, если вы аргументируете в духе , у нас должен быть здесь интерфейс, на случай, если в будущем мы должны ... , это благими намерениями, но для ваших боссов это вызывает такое же чрезмерное инженерные сигналы тревоги, которые мотивировали руководство в первую очередь.
Подождите, пока не появится хороший объективный пример, который касается как методов программирования, которые вы используете в производственном коде, так и тех вещей, о которых вы начинаете спорить с вашими менеджерами.