This post is a starting point to look into capturing my knowledge around Software Architecture quality attributes.

Software Quality attributes are software characteristics that describe the perceived value of the system. While software functionality delivers value to end-users, there are certain things users won't tolerate. The simplest example might be the response time of the web page.

Quality attributes, along with Functional requirements, Constraints, and Architectural concerns, constitute the inputs for the system design.

Like many things in software, it is not a new thing. And there is comprehensive coverage of quality attributes given by ISO 25010.

QA-Taxonomy-ISO-25010

I use this taxonomy as a good starting point in categorizing quality attributes.

The following series of posts cover different categories of quality attributes. All posts grouped into several topics like:

  • Questionnaire - what would be the right questions to ask stakeholders in the context of this particular attribute?
  • Tactics - what are the tactics which could help achieve quality attribute?
  • Examples - what is a good way to define measurable attributes?
  • Checklist - is there anything important we have to think about with regards to quality attributes?