How we work
From understanding to validation
We work from system architecture through implementation, with particular strength where software has to interact with real products, devices, manufacturing systems or operational workflows. Six stages, each with a defined output.
- 01
Understand
Define the product, operational environment, user and real constraint.
We start with the product or operation as it exists: how it is used, where it runs, who touches it, what it connects to, and the physical, commercial and regulatory limits it works within. The output is a written statement of what the system has to do and what it must not do.
Produces
- System context and boundaries
- Users, operators and integrations
- Constraints: physical, commercial, regulatory
- Success criteria and acceptance conditions
- 02
Architect
Define system boundaries, interfaces, data flows, technology and failure modes.
The architecture records where each responsibility lives (device, edge, cloud, application, business system), how the parts communicate, what data moves and who owns it, and what happens when a link, a device or a service fails. Technology and build-or-integrate decisions are made here, with reasons, so they can be reviewed before code is written.
Produces
- System architecture and interface definitions
- Data flows and ownership
- Technology and integration decisions with reasons
- Failure modes and degraded operation
- 03
Prototype
Resolve high-risk technical assumptions before committing to full implementation.
Where the architecture depends on something unproven (a radio link at range, a protocol on a particular controller, an inference model on a constrained processor, a third-party API under load), we build the smallest thing that answers the question and test it against real hardware or real data.
Produces
- Working prototypes of the high-risk elements
- Measured results against the assumption
- Architecture revisions where the result demands them
- 04
Engineer
Build the product, software and underlying systems.
Implementation in short increments, each one reviewed and tested, with the embedded, cloud, application and integration work planned so that the pieces meet at defined interfaces rather than at the end. Infrastructure, deployment and observability are built alongside the product, not after it.
Produces
- Firmware, services, applications and platforms
- Deployment pipelines and environments
- Monitoring, logging and diagnostics
- Technical documentation kept current with the build
- 05
Integrate
Connect devices, platforms, external systems and operational workflows.
Each interface to an existing system (ERP, CRM, production, service, identity, third-party platforms) is specified, built and tested on its own terms, with the failure and reconciliation behaviour defined. The operational workflow is walked end to end with the people who run it.
Produces
- Tested integrations with defined contracts
- Reconciliation and error handling
- Operational runbooks and handover material
- 06
Validate
Test the complete system in the environment where it will actually operate.
Acceptance runs against the criteria set at the start, in the field, on the vessel, on the line or at the remote site, including the degraded and disconnected cases. Validation closes with a handover: documentation, access, and the support arrangement that was agreed for the system going forward.
Produces
- Acceptance results against the agreed criteria
- Field and degraded-mode test records
- Handover documentation and access
Principles
What stays constant across projects
- Risk first
- The assumptions that could sink the project (a link, a protocol, a processor, a third-party API) are tested before the bulk of the build, not discovered during it.
- Interfaces are the design
- Every boundary between device, edge, cloud, application and business system is written down: the contract, the failure mode and the owner.
- Real environment, real data
- Testing happens against actual hardware and actual data as early as the project allows, and acceptance happens where the system will run.
- Built to be maintained
- Documentation, tests and deployment are part of the delivery. The system can be changed by whoever maintains it next, including a team that is not us.
- Scope in writing
- Each stage has a defined output and each engagement a stated boundary. Changes to either are agreed, not absorbed.
How an engagement is structured
Most projects begin with the first two stages as a scoped piece of work: understanding the product or operation and producing the system architecture. That gives both sides a written basis for the build, including the technical risks and the prototypes that will resolve them.
Engineering, integration and validation then run as defined phases against that architecture. Where a system depends on hardware, suppliers or an operational calendar, the phases are planned around those dates rather than around ours.
Handover is part of the scope. The system is delivered with its documentation, its deployment and monitoring in place, and an agreed arrangement for support after acceptance.
Not every project is one we should take on. Where Cayley fits, and what we choose not to sell.
Discuss a project
If a product, operation or business system spans devices, software, data and real-world constraints, we can help define and engineer the system around it.
