Wednesday, May 25, 2011

SOA-UX, Services-Oriented User Experience Design Architecture

During a recent solution strategy session for a very large enterprise, a need developed for creating visual prototypes and simulations illustrating the end-state of the enterprise system to be built. The system, or really "solution" (since the ROI would be derived not only from IT, but also from organization change, process re-engineering, physical and digital asset value realization) included many audiences and stakeholder roles plus many distinct (though integrated) business services. "Services" is the key term here, i.e. not "applications" or "websites" – customers would find and use these business services offered by the company, governed with managed agreements and supported by information technology.

The best practice SOA methodologies separate business concerns from underlying fulfillment concerns, in a manner that enables reuse and evolution of each – maximizing ROI (hopefully). Business service architecture strategies begin frequently with the "What" (what is the scope and nature of the business service offered), the "Who" (who are the participants in the service agreement) and operate constrained by the "Why" (i.e., the ROI objectives drive performance measures and limitations, KPIs, etc.). "How", "when", "where", "which" and all other implementation questions follow these first three concerns.

For netcentric services, i.e. those business services intended to be delivered leveraging networked, digital technologies and content (like websites), the User Experience (UX) should be considered both in the strategy and business requirements (i.e. it’s part of the "What", and helps define the "Who" and "Why"), and in the implementation (i.e. UX design tasks, artifacts, deliverables). "Great-UX" is a corporate asset, and a positive, useful "experience" (regardless of the specific tasks or processes executed) is itself a business service. As Navigation Arts puts it, "user experience is the only sustainable competitive advantage a business can employ in the online world today".

Therefore, a successful online capability created with SOA principles requires early UX insight, and a successful UX is best associated with an SOA approach to the business service design. Best practices in SOA and UX are inexorably linked for successful online services. UX is both a governance mechanism (i.e. a set of standards, methods, guidelines) and is itself a business service.

So, in constructing a services architecture to fulfill business objectives, the first step includes Services Identification, usually approached from a "Business Domain" perspective. Let’s say the Domain is "Customer Support", and the business objective is to enable more customers to derive value from ongoing support dialogue. This objective should lower the number of commonly-repeated service requests and decrease the time it takes for the company’s stakeholders to alert the company to "root-cause" information concerning incidents (i.e. customers may find they have similar problems, and offer different, additional information after viewing what others are discussing). The new business service is "online self-service knowledge management", or from the Marketing Team perspective, the "Social Help Desk".

This business service has a few subordinate, composite services (i.e. that themselves are made up of multiple, more granular services), like an automated process for "incident discovery and alerting", a manual "live chat" service, and an application component to "search for issues like yours". Note the developing inventory and relationship of services isn’t constrained by or prescribing specific technology – though the end-state definition of the service will be informed by the technology context (i.e. define something we can actually buy or build, within budget and compliance).

The roles involved at this stage of an SOA project include those like "Solution Architect", "Enterprise Architect", "Business Architect" and "SOA or Functional Architect" – all helping to identify layers (to comparable abstraction) of reusable, independently-governed and measurable service that make sense in the overall Enterprise investment context.

What about the business service "provide a great customer experience" (i.e. provide "Great-UX")? This is certainly a measurable business objective, and should be a service that supports the successful delivery of service like "Live Chat". Unless Great-UX is the actual, independent outcome to be delivered (as in entertainment and advertising), Great-UX is a service component of the broader, composite business services. The "live chat" service may include a tailored "Great-UX" service, for example.

But what is this "Great-UX" service made of? For live chat, it may include reusable items, like common branding, buttons, navigation anchors or feedback signals. It may also include custom UX elements for this specific business service, like a Chat window frame design, a "click-to-share" interactive metaphor, or a "communications status" dashboard interface, not found anywhere else in the overall provision of the Social Help Desk.

The important thing to consider in the definition and initial design approach of UX services, is that UX services are both mapped effectively to the corresponding definitions of the business services, and are themselves defined with reuse in mind (included likely instances of unintended use, for example in third-party applications or syndicated channels).

SOA-UX, delivered.

No comments: