“Notice that this series is called ‘Evolutionary architecture and emergent design.’ Why the distinction between evolutionary and emergent? Emergent architecture, as one of my colleagues pointed out to me, isn’t such a hot idea. If you accept the premise that architecture is about things hard to change later, it becomes difficult to allow an architecture to emerge. Architecture concerns infrastructure elements that must exist before you can start the application. However, just because you can’t allow architecture to emerge doesn’t mean that it can’t evolve. If you have created a flexible architecture and taken care not to create an irreversible decision, you can allow it to evolve over time as new concerns appear. […] One of the core ideas behind evolutionary architecture is to defer decisions as late as you can, which allows you to substitute alternatives that recent experience has shown are superior.”
– Neal Ford
From an article on software design from IBM.com, here.