Не, спецификация интерфейсов не спасает. Так как кто-то должен принять решение - а по каким принципам вообще взаимодействуют сервисы и продукты отдельных команд. Благо паттернов очень много.
Я уж не говорю о том, что кто-то должен сделать DDD по всему большому проекту, например. С учетом развития бизнеса на ближайшие лет 10
Ну уже и Переслегин не знает, что будет через 10 лет )). Так что строить "на века" в эпоху Сингулярности как-то не очень. Как ни странно, неплохро работает "намертво примотать скотчем". Просто программисты не сознаются, какими костылями делается вся архитектура )) так что кодинг - это необходимый скилл и источник печали ИТ архитектора