Blaine knows the secret...
Accidental architectures arise from information exposure. Knowing what to expose and what to hide takes thought and planning in design. It just doesn't happen.This applies not just to an isolated software application. This applies to an entire enterprise information system. Eliminating unnecessary dependencies among components is the key to managable evolution of software systems.