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.
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.
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:
We start by understanding who will interact with the system.
Then we would look at how they will be interacting with the system.
Additionally we would consider the physical locations of the system interaction.
Following on from a basic understanding of the human interaction, we can sketch a system design, and begin to unpack the information flows.
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.)
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:
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.
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.
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.