How we work

You work directly with the engineers who build your product. Every step ends with a document you can review and keep.

  1. Requirements

    Intake with you: goals, constraints, standards and budget.

    Requirements document

  2. Context

    We look at the running environment: existing hardware, software, network, production and field conditions.

    Findings

  3. Proposal

    Approach, phasing and estimate.

    Design proposal and quotation

  4. Functional specification

    What the system does, agreed with you.

    Agreed functional specification

  5. Design specification

    How it is built: architecture, interfaces and security.

    Reviewed design specification

  6. Build

    Development in small, reviewable increments, with reproducible builds.

    Source, builds and documentation

  7. Qualification

    Tested against the functional specification, at our side and on site.

    Test plan and acceptance test reports

  8. Delivery and support

    Handover of the full source and build environment for the software in your product; updates and maintenance.

    Release and maintenance agreement

For small engagements, some of these deliverables are combined to fit the project.

Principles

Security by design
Secure boot, signed updates and a PKI from the first prototype, not bolted on before certification.
Mainline first
Upstream kernels and maintained crates over vendor forks, so products can still be updated in ten years.
Reproducible everything
Builds, versions and release documents come from the repository, not from someone's laptop.
No lock-in
Your product, your software. You receive the full source, build environment and documentation.