Views, for working between stakeholders and developers (this can capture user stories / workflows too)
Requirements, particularly for non-functional (quality) attributes - this is where tradeoffs happen
Evaluation, of the system's ability to deliver on functional and non-functional (quality) attributes
Incremental Implementation, especially skeletons, and the ability to sub in for early stubs
Information-hiding should encapsulate what can and is likely to change, behind well defined interfaces
Separation of concerns allows teams to work independently, producers vs providers often have changes in one or the other, rarely both ...
Caution with dependencies on commercial products, design so that upgrades are straightforward, or alternatives can readily drop in, the architecture can't fail due to a variable outside of your control
Proliferate patterns, between components, for developoment/release processes - this will increase reliability, understandability, modifiability and velocity