Showcases - Chew-Chew

Simple end-user experiences do not imply simple production systems. The value that Resystems offers to its clients is being able to manage and mitigate that complexity so as to reduce time to market, while increasing system quality and reliability.

This improvement in delivery is achieved through the considered and balanced use of digital modelling techniques, combined with tighter feedback loops in both the design and integration phases of projects.

System Analysis

Unpacking a system is, as they say, “a process.”

When presented with an instant message based fast-food take-away ordering system, such as Chew-Chew, we will start with a rough paper based sketch.

However, while this may be a software-centric system, we would be inviting delays and lower quality if we jumped straight into code:

{
  "what": "fast-food ordering",
  "why": 'we enjoy food',
  "how": true
}

Instead, we move through progressive levels of modelling.

Stakeholder Engagement

In order to facilitate broader stakeholder inclusion, covering both technical and non-technical expertise, Resystems can create 3D renderings of system designs. This provides a tangible visualisation of the system, thereby increasing early engagement and aiding in maintaining a long term vision:

Humans in the system

Who?

We start by understanding who will interact with the system.

Patron

Front of house

Chef

Driver

Owner

Operations

How?

Then we would look at how they will be interacting with the system.

Phone WhatsApp

Tablet Web App

Laptop Web Site

Where?

Additionally we would consider the physical locations of the system interaction.

Home

Restaurant

Office

Bike

Roles
  • patron - places orders via WhatsApp.
  • front-of-house - checks orders via a tablet and sends them to the kitchen using the normal restaurant process (e.g. paper, internal digital system, etc.).
  • chef - prepares the order in the kitchen, based on the normal restaurant processes.
  • driver - delivers the ordered food to the patron.
  • owner - subscribes to Chew-Chew and configures user profiles and restaurant menus.
  • operations - support personnel ensuring that the Chew-Chew system continues to run smoothly.

System design

System

Combining the physical flows together with the information flows, we can see how the whole system interacts.
Focusing on the ordering information flows, we can see how the order data moves from the patron to the front-of-house staff at the restaurant.

Following on from a basic understanding of the human interaction, we can sketch a system design, and begin to unpack the information flows.

Technical Planning

Structure Model

As part of the technical planning, of component implementation and project coordination, it is often expedient to make use of 2D wireframe system designs:

(Note, for clarity we have excluded the telemetry and prober links in the above model.)

Coupling Model

Before stepping down to the design and implementation level of each individual component, however, we can benefit from building up a dependency matrix (N²). In fact this often acts as a good technical system overview and additionally, critically enables the planning team to review interdependencies between subsystems and the related work:


Actor Model

With these design elements in place we can start to model the actual system information processing. This can be done by implementing an actor based software model of the system. The value of this is that it acts as a blueprint for future development, where programmers can easily consult the model, while avoiding the time and cost overheads of deployment to hosted resources.

Actor Model Code

Formal Temporal Model

For more exacting work it is important to be able to specify systems structure in a well-defined and verifiable fashion. For this we may make use of representations such as TLA+. However, we would focus on critical subsystems or critical cross-cutting flows, rather than modelling the full system.

Flow Observables Model

Alternatively we can reach out to the research arm of Resystems, where we are currently developing system specification and observation mechanisms. These observation models will dovetail back into the operationalisation phases of projects.