Customer experience has become a strategic focus for most organisations as a competitive differentiator but the actual implementation of customer experience initiatives is complex and difficult to accomplish. This series of articles proposes a customer experience architecture built on object-oriented principles borrowed from the software engineering domain. The objective of an object-oriented customer experience architecture is to address the complexities associated with operationalising Customer Experience Management.Part one of this series created a context for Customer Experience Management (CEM) and highlighted the challenges associated with operationalising Customer Experience Management. We have defined customer experience as firstly, a customer’s perception that is formed through an interaction with a brand, and secondly, a sum-totality of these perceptions
over length of the customer’s relationship with a brand. It follows from this definition that operationalising Customer Experience Management requires the understanding of every customer interaction in terms of customer experience perceptions as well as the cumulative understanding of these interactions over the life of the customer relationship with a brand.
To this end, a concept of customer experience moment was introduced and defined as an instant through which a customer experience perception towards a brand is created in the customer’s mind. Through the customer experience moment concept, we can analyse and understand how specific customer experience perceptions are created and identify variables that we can manage in order to consistently deliver unique and differentiated customer experiences.
This part (part two) will provide a motivation for why object orientation should be adopted in addressing challenges associated with operationalising customer experience management as well as introduce the “interface” concept from object-oriented programming.
Why Object Orientation?
Operationalising Customer Experience Management is complex as illustrated in part one of this series and, as such, requires a well-thought-out approach in its design and implementation. The development of computer software systems faced a similar challenge around the 1950s as computer hardware was becoming faster and cheaper, the demand for large and complex software systems increased. The programming languages used to develop software systems during these times were mainly assembly and procedural which proved inadequate in addressing the challenges associated with developing large and complex software systems.
One complexity of these software systems was the move to graphical user interfaces where users would interact with a computer programme through graphical objects on the computer screen instead of the traditional command line. The adoption of object-orientation concepts in programming languages enabled software developers to grasp the design and manage the development of large and complex software systems, and this resulted in the invention of object-oriented programming languages such as C++, Java and Python. These languages are currently the standard choice for developing large and complex software systems.
There is an opportunity to address the challenges of operationalising Customer Experience Management by looking to object-orientation. In his book titled "Designing Object-Oriented User Interfaces", Dave Collins outlines that "Basic Human capabilities for perceiving, thinking and acting on objects in the world, have not changed for thousands of years, and these capabilities will not change within the lifetime of anyone reading this book. This creates a tension between rapidly changing technology on one side of the interface and unchanging capabilities of the human on the other side."
While Collins refers to pace of technology change in this context, we can interchange this with the pace at which customer experience is because a strategic differentiator for organisations and the statement still holds true. In order to position customer experience as a strategic differentiator; organisations need to deploy large and complex systems to enable them to design, implement and maintain unique and differentiated customer experiences. We propose the adoption of object-orientation in the development of these large and complex systems in a similar way it has been to successfully computer programming languages.
The “Interface” Between the Organisation and Customers
In object-oriented programming an interface is a set of operations provided by an object to the outside world. The interface defines both the names of the operations as well as the respective behaviour for these operations.
In essence, it is a contract between the object and the outside world. The object guarantees that it will provide the
advertised set of operations and that they will behave in a specified manner. This is a key property that can be applied
to Customer Experience Management.
If we think of an organisation as an object and customers as the outside world; applying object-orientation means that customers can only interact with the organisation through a set of defined operations. For each of these operations, the organisation would have specified the expected behaviours for the respective operations. This is a critical requirement for managing customer satisfaction: customer expectations drive customer experience perceptions. A customer will have a negative experience perception if their experience is not according to their expectations.
To put it differently, using object-orientation, organisations can define a set of operations through which customers can interact with them as well as specify the expected behaviours customers should expect for each of these operations, thus shaping customer expectations.
In part one of this series, we defined a customer experience moment as an instant through which a customer experience perception towards an organisation is created in the customer’s mind. With object-orientation, customer experience moments can only happen through the organisation’s interface, meaning only through operations defined by the organisation and all the expected behaviours would have been defined by the organisation. Customers would know what to expect every time their interacted with an organisation and their experience perceptions would be guided by the defined expectations.
This creates a framework through which all customer experience perceptions towards an organisation can be managed
on a moment by moment basis as well as cumulatively, over the customer’s relationship with the organisation.
In this part of the series, we have provided a motivation on why object-orientation should be adopted in addressing the complexities associated with operationalising Customer Experience Management by examining the successes of its adoption in the development of large and complex software systems.
We also introduced the concept of “interface” from object-oriented programming and applied it to Customer Experience Management by defining that all customer interactions can only happen through the organisation’s interface. By extension, all customer experience moments can only happen through the organisation’s interface.
In part three of this series; we will further explore object-oriented programming concepts and how they can be applied to Customer Experience Management.
Written by Victor Musiwa
Victor is a business process management and information systems professional with over