Было много хороших ответов, но так как там почти мертвый раскол, я тоже брошу свою шляпу на ринг.
По своему опыту инженера-программиста я обнаружил, что это не простая проблема. Это действительно зависит от размера , масштаба и цели приложения. Старые приложения в силу инерции, необходимой для их изменения, как правило, являются монолитными, поскольку это было обычной практикой в течение длительного времени (Майя подходила бы для этой категории). Я предполагаю, что вы говорите о новых приложениях в целом.
В достаточно небольших приложениях, которые более или менее одинаковы, накладные расходы, необходимые для обслуживания многих отдельных частей, обычно превышают полезность разделения. Если он может поддерживаться одним человеком, он может быть сделан монолитным, не вызывая слишком много проблем. Исключением из этого правила является случай, когда у вас есть много разных частей (фронтенд, бэкэнд, возможно, несколько слоев данных между ними), которые удобно разделены (логически).
В очень больших приложениях даже одной задачи разделение на части имеет смысл в моем опыте. Вы можете уменьшить подмножество возможных классов ошибок в обмен на другие (иногда более простые для устранения) ошибки. В целом, у вас также могут быть группы людей, работающих изолированно, что повышает производительность. Многие приложения в наши дни, однако, делятся довольно хорошо, иногда в ущерб себе. Я также участвовал в командах, где приложение было излишне разделено на множество микросервисов, что создавало много накладных расходов, когда вещи перестали общаться друг с другом. Кроме того, необходимость хранить все знания о том, как каждая часть общается с другими частями, становится намного сложнее с каждым последующим разделением. Существует баланс, и, как вы можете судить по ответам здесь, способ сделать это не очень ясно,
If the animation and modelling capabilities were split into their own separate application and developed separately, with files being passed between them, would they not be easier to maintain?
Не смешивайте, проще расширять с более легким в обслуживании модулем - ведь он не свободен от сложностей или сомнительных конструкций. Майя может быть адом на земле, чтобы поддерживать, в то время как его плагины - нет. Или наоборот.