tl;dr:(1) Reliable estimations, so that estimated effort is within ~15% of actual effort. (2) Orthogonality & cohesion - architecture can be changed independently without affecting each other, and architectural components are "loosely coupled." (3) Reproducibility, a build configuration is capable of producing a "deterministic and reproducible output." (4) Confident Deployments. (5) Teams organized to mirror architecture.