Overview

Our solution Design phase transforms a business case into a step by step implementation plan. We design domain models, customer experiences, technical architecture, release processes, security mitigations, and support processes. Cocreating these elements with clients ensures we are fully aligned before we begin the implementation phase.

Planning creates space for Agile

Planning is an essential part of our agile methodology. It clears a space in which rapid iterative work can be done without obstructions of process and risk management. We deliver our Design phase in three work streams.

Solution Stream

Technology Stream

Production Stream

Solution stream

The key challenge in all software projects is communication. We bring together a wide range of domain experts and technologists through techniques which capture the ideas and concepts of the solution in a clear, concise, and shared language.

A shared language

We begin the solution stream with domain modelling. This is the process of defining the key entities in a system and the events that link them together. Quality software cannot be written without a clearly defined domain model which encapsulates the knowledge of the domain experts. The challenge is getting the information out of people's heads into formalised structure which can be understood by all members of the project team.

A business is a set of processes

Modelling domains as chains of events is intuitive and powerful because non technical staff already think of business as processes. Traditional software analysis fails to capture accurate domain models because its approach is alien to business people. Instead of thinking of a business as concrete operational processes, it attempts to capture a domain as a set static relationship between abstract entities.

From PostIt notes to human readable code

The first half of our domain modelling process end with a detailed map often captured in remote workshops using a technique called Event Storming. We translate these maps into readable code that can be understood by non technical stakeholders. We do this by using a radical new approach which combines Domain Driven Design with Functional Programming.

This enables domain experts to continue enrichment of the domain model at the a higher resolution of compilable code.

User Actor Data Read Model User Interface Screen Layout Domain Event Command User Action External System Aggregate Policy or Procedure User Interaction Query Command Command User Actor Data Read Model User Interface Screen Layout Domain Event Command User Action External System Aggregate Policy or Procedure User Interaction Query Command Query User Interaction Command User Action External System Data Read Model User Interface Screen Layout Aggregate Policy or Procedure Domain Event User Actor Command Query User Interaction Command User Action External System Data Read Model User Interface Screen Layout Aggregate Policy or Procedure Domain Event User Actor Command Query User Interaction Command User Action External System Data Read Model User Interface Screen Layout Aggregate Policy or Procedure Domain Event User Actor

From domain modelling to users stories and wireframes

Once we have defined the domain model we begin to define user journeys. These user stories are iteratively developed with stakeholder feedback. Guided by the user stories we build interactive wireframes which allow stakeholders to give feedback on the end to end journey.

Finally we turn the wireframes into fully designed interactive prototypes. These prototypes incorporate corporate guidelines and illustrate the look and feel. Together with the domain model and process analysis, we have a sufficiently detailed solution design to move into the integration phase.

Technology stream

H&C’s solutions are designed to complement an organisation's existing technology. To do this we run a dedicated Technology stream to specify the required integrations.

Data and system integrations

Our engineers collaborate directly with client IT departments and co create technical architecture design and specifications with those stakeholders.

Cyber Security and Security by design

Security needs to be baked into solution design. Many of our clients work in regulated industries in which security incidents have critical consequences. We use a variety of techniques including Threat Modelling and Secure Development Lifecycle to ensure our solutions meet the highest possible standards.

Production stream

Onsite testing

Many of our solutions are deployed directly into production facilities or customer centres. To ensure the success of these deployments we plan on site testing in advance during the Design phase. This ensures a smooth transition of the solutions into production with minimal disruption.

Deployment and Release planning

The Design phase also defines the process for ongoing support and evolution of the solution once it is live. These processes should be aligned with the product roadmap and context the solution will be launched into.

Risk assessments and best practices

We work with a broad range of client stakeholders to ensure that risk assessments, performance requirements, scaling forecasts, and FMEA analysis are developed and maintained.

Learn more how your business could innovate by deploying our 5 Phase Methodology

Find out how our technology could drive your success.