Description
The task of balancing the quality attributes as part of the design process can be one of the more complex activities that the IT Architect has to perform.
Overview
One of the keys to successfully navigating this challenge is dependent on how well the IT Architect has gathered the Service Level Requirements. The Services Level Requirements will eventually translate in to a Service Level Agreement with the users and customers of the solution being implemented, deployed and operated.
The service description based on the ITIL approach would typically have the following items captured for a service in the requirements;
- Description of the service
- Who uses the service
- Components that make up the service Infrastructure/Applications
- Definition of how service is managed during interruption
- Times that the service is available
- Information on when service is unavailable (updates)
- Process for informing of outage
- Requirements for performance
- Capacity required including busy hours
- User or request response times
- Time to recover based on interruptions
- Level 1, 2 or 3 response times
- Business Continuity
These requirements are focused on the production environment they do not clearly state other requirements from a maintenance, change management and operations perspective.
The Quality Attributes are also constrained by the Financial elements of the Business Case.
The IT Architect is also constrained by the resources made available to them including Budget, Time to Market, privacy and new technologies. If the customer requires a highly available solution defined by regulatory requirement but does not have a budget available for Disaster Recovery, how is the solution going to be delivered?
Proven Practices
As the IT Architect you should explain to the stakeholders the Quality Attributes under the following groupings or contexts.
– Live Operations
– Change Management/Enhancements
– Organisations Strategy
– Financial
There are industry standards such as ITIL and IVI (Innovation Value Institute) that can provide frameworks for capturing the requirements to define the Quality Attributes necessary to design the appropriate solution.
Sub-Capabilities
Live Operations
Applications and Systems will spend the majority of their lives in their operational environment, typically the effort or cost is 90%+ of the life time cost of the applications. So it is critical to get these attributes correct.
Some of the Quality Attributes that could be associated with Live Operations have been identified are; accessibility,
availability, correctness, dependability, failure transparency, fault-tolerance, manageability, responsiveness and usability.
- Iasa Certification Level Learning Objective CITA- Foundation Learner will be able to name the key quality attributes that impact Live Operations
- Learner will be able to explain the importance of gathering non-functional requirements for Live Operations
- CITA – Associate Learner will be able to describe the differences between various quality attributes related to Live Operations
- Learner will be able to describe the KPIs and Measures associated with each Quality Attribute associated with Live Operations
- CITA – Specialist Learner will be able to describe the relationship between Quality Attributes relating to Live Operations, either that have negative, neutral or positive relationship
- Learner will be able to describe to stakeholders the trade offs between conflicting Quality Attributes in detail for a solution
- CITA – Professional Learner will be able to document the Quality Attributes that are linked to the Architecturally Significant Decisions
- Learner will know the risk of not meeting the correct level of Quality on one or more of the Attributes and be able to justify this where appropriate
Change Management
When the solution is being designed the IT Architect may be directed by the organisations principles of Buy vs Build. The constraints associated with this principle has a significant impact on the Change Management process. Change Management either as Configuration or Customisation via code.
Some of the Quality Attributes that could be associated with Change Management; adaptability, composability, configurability, customisability, debugability, deployability, extensibility, flexibility, maintainability, tailor ability and testability.
- Iasa Certification Level Learning Objective CITA- Foundation Learner will be able to name the key quality attributes that impact Change Management
- Learner will be able to explain the importance of gathering non-functional requirements for Change Management
- CITA – Associate Learner will be able to describe the differences between various quality attributes related to Change Management
- Learner will be able to describe the KPIs and Measures associated with each Quality Attribute associated with Change Management
- CITA – Specialist Learner will be able to describe the relationship between Quality Attributes relating to Change Management, either that have negative, neutral or positive relationship
- Learner will be able to describe to stakeholders the trade offs between conflicting Change Management in detail for a solution
- CITA – Professional Learner will be able to document the Quality Attributes that are linked to the Architecturally Significant Decisions
- Learner will know the risk of not meeting the correct level of Quality on one or more of the Attributes and be able to justify this where appropriate.
Organisations Strategy
When the IT Architect has to identify and design a solution that is aligned with the Organisations long term strategy and if incorrectly chosen has serious consequences to the organisations ability to deliver on its organisations business strategy.
Some of the Quality Attributes that could be associated with Organisations Strategy; agility, compatibility, evolvability, interchangeability, portability, safety, securability and compliance with industry and regulatory standards.
- Iasa Certification Level Learning Objective CITA- Foundation Learner will be able to name the key quality attributes that impact the Organisations Strategy
- Learner will be able to explain the importance of gathering non-functional requirements for Organisations Strategy
- CITA – Associate Learner will be able to describe the differences between various quality attributes related to Organisations Strategy
- Learner will be able to describe the KPIs and Measures associated with each Quality Attribute associated with Organisations Strategy
- CITA – Specialist Learner will be able to describe the relationship between Quality Attributes relating to Organisations Strategy, either that have negative, neutral or positive relationship
- Learner will be able to describe to stakeholders the trade offs between conflicting Quality Attributes in detail for a solution
- CITA – Professional Learner will be able to document the Quality Attributes that are linked to the Architecturally Significant Decisions
- Learner will know the risk of not meeting the correct level of Quality on one or more of the Attributes and be able to justify this where appropriate
Financial Business Case
The solution needs to be financial sustainable and be designed, delivered, operated inline with the Business Case.
Building a solution to a price is an important duty of the IT Architect. The IT Architect needs to be involved early on in the development of the Business Case to identify the Financial constraints.
Some of the Quality Attributes that could be associated with the Business Case; affordability, effectiveness, efficiency and upgradability.
- Iasa Certification Level Learning Objective CITA- Foundation Learner will be able to name the key quality attributes that impact Financial Business Case
- Learner will be able to explain the importance of gathering non-functional requirements for Financial Business Case
- CITA – Associate Learner will be able to describe the differences between various quality attributes related to Financial Business Case
- Learner will be able to describe the KPIs and Measures associated with each Quality Attribute associated with Financial Business Case
- CITA – Specialist Learner will be able to describe the relationship between Quality Attributes relating to Financial Business Case, either that have negative, neutral or positive relationship
- Learner will be able to describe to stakeholders the trade offs between conflicting Quality Attributes in detail for a solution
- CITA – Professional Learner will be able to document the Quality Attributes that are linked to the Architecturally Significant Decisions
- Learner will know the risk of not meeting the correct level of Quality on one or more of the Attributes and be able to justify this where appropriate
Resources
Articles:
https://msdn.microsoft.com/en-us/library/ee658094.aspx
https://en.m.wikipedia.org/wiki/List_of_system_quality_attributes
https://en.m.wikipedia.org/wiki/Non-functional_requirements
https://en.m.wikipedia.org/wiki/FURPS
https://en.m.wikipedia.org/wiki/Requirement#Types_of_requirement
Blogs/Webcasts/News/Reference Resources:
Software Architecture in Practice, Third Edition by Rick Kazman,Paul Clements, Len Bass Publisher: Addison-Wesley Professional Release Date: September 2012 ISBN: 9780321815736
Economics-Driven Software Architecture by Ivan Mistrik , Rami Bahsoon , Rick Kazman , Yuanyuan Zhang ISBN-10: 0124104649
Training:
ITIL Training https://www.axelos.com/qualifications/itil-qualifications
Author
Alistair Herriott Head of Strategy and Architecture, Communications and Media – Bearing Point