Я бы сказал, что это плохо модульная система, которая требует, чтобы разработчики видели все , чтобы сделать что-нибудь .
Очень похожим аспектом этой проблемы является проблема кривой обучения. Если у вас большая система, вы бы хотели, чтобы новые сотрудники могли работать в какой-то части системы без необходимости разбираться в деталях каждого бита.
Я работал над проектом, в котором мы с моим партнером разделили код на пользовательский интерфейс и коммуникационные устройства. (Этот проект был симулятором интеграции оборудования, и наш код моделировал как клиента, так и оборудование.) Он предоставил мне фиктивную DLL для его внутренних устройств, и я написал пользовательский интерфейс почти на 95%, прежде чем мы интегрировали оба. Я никогда не видел его кода.