Todos os arquitetos de software estão cientes de que modificações em um sistema de software durante a sua vida útil são simplesmente um fato da vida. E, por este motivo, deve-se considerar a probabilidade de alteração no aplicativo uma boa prática durante definição da arquitetura. Quanto mais flexibilidade puder ser considerada no projeto inicial, menos dolorosas e caras serão as alterações.
Observe o uso de "pode" na frase anterior. Prever modificações requer uma estimativa de esforço e custo para fazer uma alteração e a realidade é que você só saberá ao certo quanto vai custar uma mudança depois de ter sido feita.
Na verdade, as mudanças podem até ser especificadas no plano de projeto para versões subsequentes. Na maioria das vezes, porém, as possíveis modificações terão de ser elicitadas pelos stakeholders, e definidas pela experiência do arquiteto.