When you look at a software architecture and its documentation, you can predict the software system’s qualities. Making architecture decisions based on quality attributes makes it easier to fulfill those requirements. … A software architecture allows you to predict a software system’s qualities and avoid costly rework.