Why does an architect need this skill?
No software product can exist without a solid foundation. The Quality Attributes provide the solution for this foundation. Since the architect is the key person in building the software, they need to be the master of the QAs.
Common tasks involved in this skill?
The architect needs to be able to describe what each quality attributes represents, how to measure each attribute and how the attributes affect each other. They need to be able to prioritize the importance of the Quality Attributes and its effect on the project since inception to production and throughout maintenance.
What is their ownership in this skill?
The architect is the main owner of the Quality Attributes (also knows as non-functional requirements).
Name an example of how an architect would use this in daily activities?
They need to be able to measure the attributes for an existing software application.
They need to be able to identify the risks and recommend the most optimal solution.
Describe why an architect should be involved in this skill at a corporate level
Since no one else owns the non-functional requirements, aka Quality Attributes, the Architect needs to be the master and identify these attributes as well as be responsible for their implementation.
Primary push back and/or challenges for architects
The functional requirements usually take priority. No one except the Architect owns the quality attributes. Therefore, it is the Architect ’s job to make sure all the stakeholders understand how important is to spell out the non-functional requirements, prioritize them, and allocate the time and resources to take care of the QAs throughout the life cycle of the project.
How would a stakeholder engage an architect for assistance utilizing this skill?
During the early stages of a project the Architect needs to be involved in the discussions that shape the definition of the project. This is to help identify the constraints and spell out the trade offs between the Quality Attributes.