How we work
You work directly with the engineers who build your product. Every step ends with a document you can review and keep.
Requirements
Intake with you: goals, constraints, standards and budget.
Requirements document
Context
We look at the running environment: existing hardware, software, network, production and field conditions.
Findings
Proposal
Approach, phasing and estimate.
Design proposal and quotation
Functional specification
What the system does, agreed with you.
Agreed functional specification
Design specification
How it is built: architecture, interfaces and security.
Reviewed design specification
Build
Development in small, reviewable increments, with reproducible builds.
Source, builds and documentation
Qualification
Tested against the functional specification, at our side and on site.
Test plan and acceptance test reports
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.