Posts tagged "xoa"

Recording available of “Intuitive Experiences with Flex and SAP”

Earlier this month, Matthias Zeller and I presented on “Intuitive Experiences with Flex and SAP”, at SAP’s community event in Palo Alto. The presentation was recorded, and is now available here (we start presenting 24 minutes in to the presentation).

In this presentation, we showcase Project Hendrix at Adobe, we talk about the importance of Design in technology, we talk about how to build Flex experiences upon SAP implementations, and we introduce the idea of Experience Oriented Architecture.

I’d love to hear what you think.

XOA Traits: Coarse-Grained Experience Components

The notion of fine-grained versus coarse-grained services is an oft-debated topic in SOA; if you take a look at this paper by IBM as an example, you’ll see how terse this discussion is, and how completely in absence of the end user of the software application it actually is. I’ll refrain from the debate.

XOA suggests that service granularity, and the services themselves, emerge from the needs of a presentation tier component, of an “experience”. Rather than hypothesize on the services we might want to expose in our banking systems for instance, we allow the user-experience of the application consuming the services to dictate the service, and the parameters/interface/signature of that service.

I recently presented on XOA to some of the innovation team at Credit Agricole, and they shared a great anecdote which I told them I’d use, and they allowed me to credit !

In the design of a service for transfering money between 2 accounts, the IT organization put a check in place in the service…if the account from which the transfer was being made didn’t have sufficient funds, the transfer did not take place. However, there was a very specific use-case from the broker team, where they needed to be able to transfer money from an account that was overdrawn … however, the use-case only revealed itself in the design of the end user-experience, and was never envisaged by the SOA architects. The consequence — no re-use, 2 services created, one of which is a more generic instance of the other, and now code to maintain in 2 places if business rules change. It’s a trivial but real example.

In an Experience Oriented Architecture, we would create a reusable component – in my world, this would be in Flex – that delivered the best imaginable experience for moving money from one account to another.

The component would encapsulate all the design findings from the user-experience team; it would provide visual affordance if the transfer was going to overdraw one particular account as a consequence, it would give meaningful feedback as to when the transfer might take place, or the duration of time for the transfer, it might also look at pending transfers in both accounts to inform that “though this won’t overdraw you right now, by the time the transfer takes place, this cheque will have cleared from this account and you will be overdrawn…do you want to instead transfer on this date, transfer less money, or also move money in from elsewhere to cover the cheque”.

In support of this enhanced, user-informed experience, is most likely some complex choreography of back-end services, most likely some horizontal integration of different back end systems (another trait of XOA I believe … for another day) and some implication to the SOA team on the services that need to be exposed in support of the user-experience the user deserves.

There will of course be complexity involved; the back end systems might include integration between different banking systems …. for a bank (such as Royal Bank of Scotland) that has 2 underlying banking systems as a consequence of a merger between 2 banks (RBS and Natwest), it might be the case that some accounts hold transactions in a CICS mainframe, some in an Oracle 8i system on the other side of the firewall, and the balance checking in both systems is different.

However, the contract with the application developer is “use this Flex MXML component, style and skin it according to the Flex programming model, and implicit in the reuse of this component, we will handle all of the underlying complexities of LiveCycle Data Services integration across CICS mainframes and Oracle 8i, and the nuances of balance transfer across the firewall, or within accounts”.

So XOA drives out coarse grained components (“An Account Transfer Component”), and these components handle the complexity of choreographing and orchestrating underlying services. And as a consequence, the decisions around which services are required, and the interfaces/signatures upon those services, is driven from user-needs, not from Business or IT.

Traits of an XOA (Experience Oriented Architecture)

As the phrase and philosophy of “Experience Oriented Architecture” (XOA) is capturing attention in the halls of San Jose at Adobe, particularly amongst our technical services organization and enterprise business unit, I find that I want to more concretely define what I mean when I think about XOA. It’s leading to a lot of interesting debate and dialogue that is promoting some of the SOA conversations of old, to XOA conversations of new…coarse grained versus fine grained, loosely coupled versus tightly coupled, etc. So let me share some of my own thoughts, on what traits define an architecture as “Experience Oriented”.

Let me start from my original premise – that of XOA as a way to address some common failures of SOA initiatives by taking a more user-centric approach to driving out services and architecture.

Addressing the SOA failure of reuse with XOA

So one of the cited failings of SOA initiatives is the disappointment in the ROI that was anticipated around re-use. SOA contends that by driving out a service tier, these services will be reused by developers across different projects. However, this is tightly coupled to another SOA challenge — too fine grained a service, and the reuse is wrapped up in a whole bunch of bespoke effort, too coarse grained a service and the reuse doesn’t happen because of the specificity of the service. The tension between fine and coarse-grained services is palpable.

So here’s the first traits I see for XOA:

  • Coarse Grained Experience Components
  • Implicit Choreography and Orchestration of Fine Grained Services in the SOA tier

I’ll take them up in another post; though I’d appreciate your thoughts and comments…

Experience Oriented Architecture (XOA) – Addressing the Failures of SOA

The concept of “Experience Oriented Architecture” (XOA) is really picking up momentum within the corridors of Adobe in California, as we continue to think about how we help our customers and partners create innovative customer-centric solutions for the digital enterprise. Though I have spoken about XOA in this blog in the past, I want to share more real-time the hallway conversations that are taking place as we align and define on what we mean by taking an experience-oriented approach to a technology project.

I first spoke about XOA at a Butler Group presentation in London, in July 2007, when invited to speak at a Service Oriented Architecture conference. The contentious position I wanted to take amongst a SOA audience, was that focussing on the SOA challenges like governance, fine grained versus coarse grained services, OASIS specifications and service bus approaches was fine and well, but it was missing the most important consideration in software development — that all of our efforts are in service of an end user, and that we must put them in the center of our approach.

To position this argument, I cited 3 of the acknowledged failures of SOA initiatives (in terms of not realizing the intended ROI), as taken from an Information Week article from March 2007:

  • Re-use (by creating a well-exposed service-tier, one hopes that services will be re-used more readily)
  • Business Agility (with a well-exposed suite of services, one hopes that others will be able to more rapidly deliver new products to market)
  • Alignment of Business and IT functions (with the service-tier arguably the exposition of the underlying IT infrastructure to support business needs, it could be argued that an SOA initiative brings these groups to the same table, and offers the opportunity for an alignment that otherwise can fail to occur)

I very much believe that the philosophy of Experience Oriented Architecture (XOA) can address these failures, by reframing the problem around users, not systems.

I thought a quote from Annrai O’Toole, the CEO of ClearCape, that appeared in the March 2007 edition of Information Age was apt here, “…unless you really understand what services you are going to create and why, there is no point in doing SOA. You must have a revolutionary approach.”

I believe that XOA, though simple in concept, is indeed a revolutionary approach to thinking about how to create innovative customer-centric solutions in today’s digital enterprise.

Do you know of any other approaches ?

Presenting on Intuitive Experiences with Flex + SAP in Palo Alto

Next Friday, I’m co-presenting with Matthias Zeller (Group Product Manager, LiveCycle Mosaic) at the SAP Inside Track 2010 event in Palo Alto, Ca. We are presenting a technical deep-dive on Project Hendrix, explaining how Adobe is able to leverage it’s own technologies, including Flex, LiveCycle Data Services, LiveCycle ES, LiveCycle Collaboration Service and LiveCycle Mosaic, to deliver the best imaginable experience for end-users upon an existing SAP CRM infrastructure.

Our abstract for our presentation is as follows:

“In this presentation, Steven Webster and Matthias Zeller will demonstrate how to create innovative and intuitive user-experiences upon existing SAP solutions by leveraging Adobe technologies including Flex and LiveCycle. Project Hendrix is an internal application to Adobe, developed to empower agents in contact centers around the world to help more customers, first time, in less time, every time. Built atop an existing investment in SAP CRM, the innovations in user-experience provide an interface that allows agents to focus on performing their tasks simply, easily and effectively, hiding from them the complexities of numerous underlying enterprise systems. Steven and Matthias will demonstrate the application and user-experience, before deep-diving into the technical details and best-practices that enable this Flex interface to be moulded upon SAP by technology integrations such as LiveCycle Data Services and JCO. They will challenge product engineering teams to think about how to bring design into the engineering process, share Adobe’s approach to bringing user-experience design, business requirements and software delivery together, and introduce the concept of “Experience Oriented Architecture” as a design and development approach to fusing Rich Internet Applications and Service Oriented Architecture. SAP development has never looked better.”

A number of our enterprise customers and partners have significant investments and experience in developing complex, mission and business critical systems upon SAP. What we have shown with Hendrix, is how we can realize additional return on these enterprise investments, unlocking further ROI through a design process, and by creating simpler, easier and more effective user experiences that are more useful, more usable and more desirable.

If you’re going to be in or around Palo Alto, I’d love to catch up with you at the event…you can find more details here.

SAP development has never looked better.

Webinar on “Intuitive User Experiences”

On Wednesday 28 April, at 11am PT, I’m co-presenting with Ron Rogowski of Forrester Research on “The Value of Creating Intuitive User Experiences”. This online webinar will focus on the approach to creating user-centric applications, and the business value that emerges from intuitive user-experiences.

During this presentation, I’ll be talking about a project my team have been responsible for delivering over the last year, that is internally code-named “Hendrix”. This has been a tremendous collaboration within Adobe, bringing together our TXI team of technologists and user-experience designers with our IT organization, leveraging our 3D methodology for blending user-centric design thinking with agile software engineering, and in turn, creating an application that allows our agents in our contact centers to more effectively service Adobe customers – to help more customers, first time in less time. Every time.

Project Hendrix is something I am very much looking forward to talking more and more about in the days, weeks and months ahead…the business problem we were tackling (which has resonated with a tremendous number of customers to whom I have shown Project Hendrix in Customer Briefings in San Jose), the 3D approach we took to really understanding user needs, and how meeting user needs could meet business goals, as well as getting deep and dirty with the technical details of how we delivered an Experience Oriented Architecture … a tremendously complex implementation of a beautifully simple user-experience that leverages Adobe technology throughout the technology stack to attenuate the complexity of underlying systems such as our SAP CRM system.

It’s incredibly rewarding to have the project going live to our agents, and to be able to begin to talk about it with designers and developers, customer and community, and with the industry at large.

Sign up for the webinar here.