Quality considerations for services
Architecting services from an enterprise perspective does not just involve identifying and fitting pieces together, but managing and addressing cross cutting concerns or non functional requirements (NFRs). We see lot of discussion on SOA being around abstracting the business functions as reuse-able services. But what is still tabooed are the quality attributes that have to be associated with services to make them truly enterprise class.
To start considering about quality it would be a good idea to take a holistic view and apply ISO/IEC 9162-1 (and subsequent revisions) quality model to form the basis of defining quality requirements for service. The four characteristics (Effectiveness, Productivity, Safety and Customer Satisfaction) of Quality-In-Use defined by the model needs to be much more appreciated for services that are envisioned to be adaptable and reusable. A good starting point could be work from ISO/IEC JTC1, Subcommittee SC 7, in developing ISO/IEC 25000 called SQuaRE which provides requirements specification, planning, management, measurement and evaluation. Also the work from SEI can be looked for understanding engineering methods which takes the view of gathering the quality requirements based on various stakeholders needs. These can help developing specific quality models for the services.
More over, with quality models to translate and derive quality requirements for services the obligation is on the IT architects to additionally worry about the existing system qualities. So, a flat view over services has to be complimented with an approach of looking into quality (both borrowed from existing systems and new)right at the initial stages of concpetualizing. This adds a new dimension of complexity during the adoption of SOA. Our thought and work in this area are being presented as tutorial at WICSA 2007.
