—Services
Seven areas of
engineering work
Each description below states the purpose of the service, the scope it typically covers, and the deliverables that can result from it. Actual scope is agreed per project; nothing here promises a specific outcome.

Custom software development
To support a specific operational process with an application designed for it, where configuring an off-the-shelf product would distort the process or leave essential parts unsupported.
Typical scope
Requirements analysis and process mapping, data modelling, application architecture, implementation of business logic and user interfaces, automated testing, and release into a working environment. Scope is agreed in increments, each of which produces functionality that can be reviewed in use.
Possible deliverables
- Written requirements and a documented data model
- Source code in a repository owned by the client
- Automated test suite covering business rules
- Deployed application in the agreed environments
- Architecture notes and handover documentation
Web application development
To provide browser-based access to a system for defined groups of users — staff, customers or partners — with roles, permissions and workflows implemented explicitly.
Typical scope
Interface architecture and component structure, responsive and accessible layouts, authentication and authorisation, form and validation behaviour, state management against a documented API, and performance work on list, search and reporting views.
Possible deliverables
- Responsive web interface across mobile, tablet and desktop
- Role and permission model implemented in the interface and on the server
- Reusable component structure and styling system
- Accessibility and cross-browser review notes
- Build and deployment configuration
Backend development and API integration
To hold business logic, data and integrations in a service layer that multiple clients can use consistently and that can be tested independently of any interface.
Typical scope
API design and documentation, database schema and migrations, authentication, background and scheduled processing, third-party integrations, error handling and logging, and the handling of partial failure through retries and idempotent operations.
Possible deliverables
- Documented API with a stable contract
- Database schema with versioned migrations
- Integration adapters with retry and failure handling
- Structured logging and diagnostic endpoints
- Integration and contract tests
Cloud infrastructure and deployment
To run software in environments that can be recreated, reviewed and changed safely, rather than configured manually and remembered informally.
Typical scope
Environment design, infrastructure defined in configuration, container or serverless packaging, continuous integration and deployment pipelines, secret management, monitoring and alerting, backup and restore procedures.
Possible deliverables
- Infrastructure configuration under version control
- Automated build, test and deployment pipeline
- Separate environments with documented promotion steps
- Monitoring, alerting and log aggregation setup
- Backup, restore and rollback procedures
Software modernization
To make an existing system changeable again — reducing the risk of each modification — without interrupting the operations that depend on it.
Typical scope
Assessment of the current codebase and infrastructure, identification of high-risk and high-change areas, characterisation tests around existing behaviour, staged runtime and dependency upgrades, extraction of modules behind interfaces, and incremental migration of functionality.
Possible deliverables
- Written assessment of the current system and its risks
- Prioritised, sequenced modernization plan
- Tests covering existing behaviour before it is changed
- Upgraded runtimes, frameworks and dependencies
- Restructured modules with documented boundaries
Quality assurance and testing
To establish evidence that the system behaves as specified, and to make regressions visible before they reach production.
Typical scope
Test strategy suited to the system, unit and integration tests for business rules and boundaries, end-to-end coverage of critical paths, test data management, execution in the continuous integration pipeline, and a defect process in which issues are reproduced before they are fixed.
Possible deliverables
- Documented test strategy
- Automated test suites running on every change
- End-to-end coverage of critical user paths
- Defect reports with reproduction steps
- Pipeline reporting of test results
Technical maintenance and support
To keep a delivered system secure, current and operational, and to continue developing it at an agreed pace after the initial release.
Typical scope
Dependency and security updates, monitoring review, corrective fixes, performance investigation, small feature increments, and periodic review of infrastructure cost and configuration. Working arrangements and priorities are agreed in advance.
Possible deliverables
- Scheduled dependency and security updates
- Issue triage with agreed prioritisation
- Corrective fixes released through the standard pipeline
- Monitoring and incident notes
- Regular written status reports
08How services combine
Most engagements use several of these together
A new platform usually combines custom development, web application work, backend and API development, cloud deployment and quality assurance, followed by maintenance. Work on an existing system usually starts with modernization and testing before new functionality is added. Services can also be provided individually where a specific gap needs to be filled.
