Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Systems of Engagement for Customer Jobs

DZone's Guide to

Systems of Engagement for Customer Jobs

Read on to see how one executive goes about leading his Agile development team in order to create a better understanding of the end user.

· Agile Zone
Free Resource

See how three solutions work together to help your teams have the tools they need to deliver quality software quickly. Brought to you in partnership with CA Technologies

Monument Valley

On a sunny spring Saturday, I spent a lovely afternoon staring at the beautiful Monument Valley. How did I plan this picture perfect afternoon? Every spring, vacation planning starts with many options and much uncertainty. After weeks of Googling, debating, and planning, I decided on a sunny canyon trip. This was a family spring break vacation job to be done. Planning and execution had many options and much uncertainty.

Professor Clayton Christensen et al have defined a job to be done as:

“Progress that the customer is trying to make in a given circumstance—what the customer hopes to accomplish. This is what we’ve come to call the job to be done.”

Planning a vacation or a wedding, deciding on a car or a college, are all customer jobs. A job, from your first thought to the finish, is a series of smaller jobs. This series of steps from start to finish (or, until its abandoned) is a job loop. Here’s a vacation job loop.

Screen Shot 2017-05-11 at 12.51.38 PM.png

A job goes from one state to next -- like a transition from one state to next in an infinite state machine. For a customer to transition from a state, something needs to happen. That’s a job state machine.

What is this something?

  1. Information Example: Location information, Room availability, etc

  2. Service Example: Buy the tickets, check-in.

  3. Blocker Example: wait to hear from the doctor.

  4. Cancel Example: Cancel the vacation.

  5. Spawn Example: Side trip or activity.
  6. Done.

Here is the job loop with the information or action needed at each state of the job loop.

Screen Shot 2017-06-09 at 5.18.59 PM.png

What are the characteristics of enterprise systems to support this job?

The first step of research is Google. As Gerald Sangudi noted, Google is the biggest system of engagement. It helps you progress. Further research on Tripadvisor, Expedia, and Kayak will help you create a short list. You haven’t bought anything, but you’re making progress.

In the next state, you search on Expedia, Priceline for a suitable package, pricing, and options. Still browsing. All these systems provide accurate information on flights and hotel rooms quickly and effectively.

The system should have:

  • High performance

  • High availability

  • Low latency

  • Low cost

This system of engagement has seemingly incompatible requirements! Distinct from traditional systems, this platform is designed for transactions where higher throughput demands higher prices.

When you finally decide to buy, you give your credit card details and WAIT. This usually takes a few seconds. Reliability of this is step is extremely critical. This is a system of record.

Here's the vacation job loop with various systems of engagement and systems of record needed at each state.

Screen Shot 2017-05-11 at 1.15.46 PM.png

The system of record was designed to reliably record a change in the status: buy, sell, return, and maintain a single version of the truth.

In 2011, Geoffrey Moore defined systems of engagement:

“Amidst the texting and Twittering and Facebooking of a generation of digital natives, the fundamentals of next-generation communication and collaboration are being worked out…So at a minimum, if you expect these folks to be your customers, your employees, and your citizens (and, frankly, where else could you look?), then you need to apply THEIR expectations to the next generation of enterprise IT systems...Systems of Engagement … will overlay and complement our deep investments in systems of record."

Clearly, enterprise customer engagement isn’t about the LIKEs or RETWEETs. The enterprise systems need to help customers to progress in their job loop, one state at a time.

An effective enterprise system design understands this:

  1. What job is the customer trying to accomplish?

  2. What state is the customer now in within the job?

Customer needs the right information, the right level of information, or a service at each state. Otherwise, the customer will abandon the company or the job. Non-consumption is the biggest market in most market segments.

With due respect and recognition to Geoffrey Moore, I am redefining systems of engagement based on customer jobs to be done: a system of engagement helps customers to get the right information, in their context, and to make progress on their journey to get a job done.

Systems of engagement tasks include:

  • Understanding the customer job, context to help them progress.

  • Providing answers to questions in addition to search.

  • Understanding the customer’s context to give relevant information.

  • Improving customer experience.

    • “Going a day later will reduce the ticket price by $200.”

    • “Are you sure you want to visit Death Valley, CA in July? It’ll be 120F. The best times to go are in April and November.”

  • Working well with other internal and external systems.

  • Working well with systems of record to share information.

  • Providing high throughput at low latency with a reasonable cost.

This applies to all jobs, whether it be planning a vacation or a wedding, or deciding on a car or a college.

Let’s look at the high-level differences between the two systems.

Systems of Engagement (SoE)

Systems of Record (SoR)

The right information in the right context

Contract matters. Systems guarantee record of action.

Helps to make decisions

Implement the decisions.

There are the behavioral and technical differences between the two systems.

Systems of Engagement (SoE)

Systems of Record (SoR)

A large number of concurrent users. A large number of queries with low latency expectations.

Comparatively fewer users, it can be slower, but it must be reliable.

Customers understand that this information is reasonably accurate and things are final only when they buy.

Reliable, reliable, reliable.

All the relevant data and metadata is stored locally. It’s important to keep the data up-to-date. Acts as a source of truth.

Get information from multiple sources and services to help users act quickly.

All the relevant data and metadata is stored locally or kept up to date frequently. Data from this system is sent out to other systems for downstream actions.

Complex criteria search. Customer ordering.

Checkout. Buy. Confirm.

Systems should scale. Scale out to support orders of magnitude of operations compared to SoR.

System should scale enough to support the transactions.

Summary:

Customers hire your company for the products and services you offer that can help them to get the job done. Each job loop acts like a state machine. The systems you build need to understand the customer job, the context (state), and help the customer to transition to the next state effectively. This is done through systems of engagement and systems of record which coordinate the backend actions. Building these systems to do the job effectively is key to improving customer experience, engagement, and progress.

References:

  1. Original article Systems of Engagement for Customer Jobs: Keshav Murthy. 
  2. Wikipedia [Now, deprecated]

  3. Know Your Customers’ “Jobs to Be Done”: Christensen et al.

  4. Enterprise IT 2010-2020: The Era of Systems of Engagement

  5.  The Future of Enterprise IT: Geoffrey Moore

  6. Forrester Blogs

  7. Competing against Luck: Christensen et al.

Discover how TDM Is Essential To Achieving Quality At Speed For Agile, DevOps, And Continuous Delivery. Brought to you in partnership with CA Technologies

Topics:
systems development ,customer experience ,agile

Published at DZone with permission of Keshav Murthy. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}