Fixed fee
Used when deliverables, dependencies, client inputs, exclusions, milestones, and acceptance criteria can be agreed before work begins.
Best fit: discovery, architecture, due diligence, defined platform phases, and bounded integrations.
Engagements
We use fixed fees when the outcome and acceptance criteria can be defined, capped time and materials when discovery must continue during delivery, and managed subscriptions for embedded engineering capacity. Commercial terms follow scope. They are not published as a rate card.
Contract models
Used when deliverables, dependencies, client inputs, exclusions, milestones, and acceptance criteria can be agreed before work begins.
Best fit: discovery, architecture, due diligence, defined platform phases, and bounded integrations.
Used when legacy systems, equipment behavior, vendor dependencies, or evolving field conditions make the full scope unknowable at contract signature.
Consumption is shared against milestones. Each cap requires an explicit decision before more work begins.
Used for engineers or a delivery team embedded in the client’s operating model over a defined period.
Roles, capacity, overlap, governance, notice, continuity, and replacement terms are defined in the agreement.
Before signature
During delivery
Ownership and exit
Code is committed to a repository controlled by the client from the beginning of delivery.
Hosting, monitoring, communications, and vendor services run in client controlled accounts. Third party fees remain visible to the client.
Documentation, runbooks, access, architecture decisions, known risks, and working context are transferred to the client or its chosen operator.
Procurement
We can review a standard mutual confidentiality agreement before detailed discovery and can work under client procurement terms once responsibilities, intellectual property, security, payment, and acceptance provisions are clear.
Depending on the program, that may be a discovery proposal, an advisory scope, a delivery phase, or an engineering team mandate.
Start a scoping conversation →