Designing your technology stack is a challenge, but many organisations do themselves no favours by forgetting the customer and trying to construct their entire stack around one or two ‘tent pole’ systems. These systems market themselves as grand, unifying platforms with everything an organisation needs in one neat package (which, in reality, is rarely the case). This approach leads to scenarios where adding new capabilities to the organisation’s technology means either accepting whatever modules your core vendor(s) can offer, or replacing the entire platform (a very painful process). Neither option is great so organisations end up dithering and innovation becomes painfully slow.
We find ourselves in these situations often because technology choices were made on the premise of most-features-wins — selecting platforms which tick the most checkboxes — and designing our organisation around the structure of the grand, all-encompassing platform(s) we select rather than selecting technology to fit us. During this process the experience and needs of our customers (or donors, in the case of charities) is forgotten. The job of designing how people interact with our organisation ends up being, in effect, delegated to the IT department.
These all-encompassing systems also restrict our ability to change. Having swathes of customer data, identity information and personalisation data stuck in a sprawling marketing automation platform, originally picked because it “did everything we’re ever going to need”, means adding new applications and new customer touchpoints becomes difficult or impossible, depending on how much data that technology vendor lets you get out of their ecosystem.
So, instead of traditional enterprise architecture approaches which focus on the technology we prefer to start with the human at the centre of all this — the customer, supporter or user.
How to design your technology stack from the customer experience out
The idea is this: the people our organisation serves have needs, and there are things we’d like to help and encourage them to do. Start with those things and design the customer experience (or the donor/beneficiary experience for charities) first.
From there, think about the journeys those customers should take and identify the touch-points and tasks along those journeys (we do a lot of customer journey mapping with clients to facilitate this). These touch-points and tasks are served by applications which should be owned by and continually refined and experimented with by the business, not IT or your technology vendor. Then, and only then, consider the platforms and enterprise services that support those applications. This is the layer IT should own, and this is the place where you will slot in your larger pieces of vendor technology. Those business-level applications are often smaller and shorter-lived whereas the enterprise services change more slowly and require more governance. For more on that dynamic, see McKinsey’s “A two-speed IT architecture for the digital enterprise”.
In terms of responsibilities, the business knows the customers so they own the applications which fulfil those customer needs. IT owns the platform that those applications runs on, but the platform serves the application needs rather than the platforms dictating what applications are possible.
You can think of this approach as a stack, each one being defined by and supporting the one above:
- Customer experience
- Customer activities/journeys
- Business applications
- Enterprise services
Critically, the user experience is central so we start there and work our way out (top to bottom in the list above). This guides and informs your enterprise architecture choices so your core technology platforms serve the customer experience, not the other way round. It’s the antidote to the all too common mistake of choosing technology first and cobbling together whatever customer experience your prematurely-selected technology allows (see sidebar, “common mistakes when choosing technology”).
You ultimately have to morph your processes and customer experience to fit whatever your technology inherently ‘wants’ you to (and no matter how flexible a vendor says their technology is, every system ‘wants’ to behave a certain way — see sidebar, “Selecting for scenario fit”).