Engineering

Engineered to be relied on.

What makes software trustworthy is mostly invisible: the decisions made before the first screen exists.

Principles

Five decisions we make on every project.

  • Reliable

    Software that people depend on has to behave the same way on a busy day as on a quiet one. We design for the failure cases first: a dropped connection, a half-finished entry, two people editing the same record.

  • Maintainable

    A system is looked after for years, so it is written to be read, with every change recorded and reversible.

  • Secure

    Access is controlled per user and per role, and sensitive information is kept out of reach of the browser. Security is part of the design, not a review at the end.

  • Fast

    Speed is decided by architecture, not by tuning at the end. People should see what changed without having to ask for it.

  • Fit for purpose

    The right amount of engineering for the problem. We do not add complexity a project does not need, and we say so when a requirement is outside what we should take on.

Practice

How a build is run.

Scope first

The scope is agreed in writing before the build begins.

Every change recorded

Nothing is changed without a record, and any change can be reversed.

Tested before release

The software is tested before it is deployed to production.

Handover is part of the work

Deployment, documentation and training are in the process, not after it.

Maintained after launch

The system is looked after under contract for as long as it runs.

Explained on request

You can always ask for a plain explanation of how your own system works.

Our internal methods, architecture, technology choices and source code stay confidential.

Bring us the hard requirement.