The best way to predict the future is to create it.
The goal of software architecture is to minimize the amount of knowledge you need to have in order to build a system.