I've been giving some thought to a canonical way to describe the forces upon a software-intensive system - the word "forces" here means "a powerful effect or influence." As noted by Henry Petrosky in Small Things Considered, there is no such thing as a perfect design. Indeed, every engineering process serves to generate a solution that reasonably balances the specific forces upon the system under development; relax a certain constraint or turn up a given force and the team would produce a subtle- to materially-different solution. In the domain of software, many of these forces take the form of ilities, such as dependability, scalability, and maintainability.
I've jotted down a list of about 50 ilities, but need to give a bit more thought to how these specific ilities cluster.