How Backbone worksWhat you provide, what we provide
You tell us three things: what your business is made of, the jobs you need the data to do, and where the data lives. Backbone then builds a governed, tested data warehouse in your own Snowflake account, with code stored in your GitHub repo, one use case at a time. We start from your business, not your systems: a shared model of common business processes, tailored to you. A short end-to-end check proves the plumbing first: a few hours once your data is landed. After that, every use case is checked against a number you already trust before anyone relies on it, and each one reuses what the earlier ones built. A first use case is usually live in 3–4 weeks. Nothing leaves your account, and nothing reaches production without approval, including yours.
Who provides what
You bring knowledge of the business and the authority to decide; we bring the model, the automation and the engineering.
| Area | When | You provide | We provide |
|---|---|---|---|
| Platform | Once, during onboarding | A Snowflake account, a warehouse, and an administrator to run our generated setup script | Development and production databases, the generated warehouse code (dbt), its schedule and approval route |
| Business model | Per use case, as it needs it | Your vocabulary, your exceptions, sign-off on how your business is described | A core ontology of common business processes (order-to-cash, source-to-pay and others), forked and extended with you |
| Data | When a use case first needs a source | Source systems in Snowflake, one system per schema, or access so we can set up the extraction | A full scan of every in-scope table, profiling, and mapping of source fields to your business entities |
| Use cases | Per use case | A short brief: the question, who uses the answer, how often | A structured plan compiled from the brief, reusing what exists and listing every new assumption |
| Proof | Per use case | A trusted figure to prove the use case against: a system we can load (ledger, platform report, bank) or an existing file the use case replaces | Reconciliation on every load against loaded sources, a parallel run against a replaced file, and consistency tests that keep running |
| Decisions | Whenever the data is ambiguous | Rulings (e.g. when is revenue recognised; what counts as a refund) | The question, the evidence, the options, and the impact of each choice |
| Release | Per change | Final approval to move a change into production | DEV evidence: green run, test results, reconciliation, and what changed |
| Access | Per use case | The login details and access scope of people who should be able to ask questions of the data | Governed semantic views and a read-only Claude connector over them |
How it comes together
Every engagement starts with an end-to-end check, then runs the same loop for each use case. Each pass adds only what that use case needs, so the warehouse grows in small, proven steps.
- 1
An end-to-end check first. Before any real use case, we take one critical figure (say, yesterday's orders and their value) from one source all the way through. That covers connection, build, tests, publishing, the production schedule and the approval route. Once your data is landed, the check takes a few hours. It proves everything works in your account with real data, so problems surface straight away, not halfway through a use case.
- 2
We start with the part of the ontology you need. Every client begins with a copy of our core ontology: the entities and relationships that recur across businesses (a party, an order, a product, a payment, an invoice), organised around common business processes. We tailor what the current use case touches (your entity names, your roles (a party can be a customer, a supplier, a store), your exceptions) and later use cases extend it. Moving into purchasing, for example, adds suppliers and bills. The copy is yours; changes to it never leak into anyone else's.
- 3
Connect your sources. If you already have your source systems loaded into their own Snowflake schema, we run a setup script we generate, which grants us read-only access and creates two Backbone-controlled databases (development and production). We scan every in-scope table, so nothing is skipped by sampling. We can set up the extraction if you don't already have them. A source joins when a use case first needs it; the databases and access are set up once, with the end-to-end check.
- 4
You write a brief per use case. A few paragraphs in plain language: the question to answer, who uses it, how often, and anything you already know is tricky. You do not need to know which tables hold the answer. A use case can ship in slices (one store or region first, the rest after), and a brief can leave a decision open until the data shows what it is.
- 5
You name a trusted source. The figure the business already believes — a trial balance, a platform's own report, last month's spreadsheet. We prove our numbers against this.
- 6
We compile a plan. The brief becomes a structured plan: which entities and sources the use case needs, and which metrics, rules and outputs it produces. Most of the model usually exists already, so the plan reuses it and lists only what is new, with each new assumption for you to confirm.
- 7
We build. Backbone generates the warehouse code from the plan — a Data Vault model that keeps full history and lineage, then the business rules and outputs on top — and runs it in your development database. Changes are additive: earlier outputs keep working, and every version of the warehouse is recorded.
- 8
We test and reconcile, on every load. Generated tests check keys, relationships and completeness. Reconciliation tests compare our output to your trusted source. Where that source is a system we load (your ledger, a platform report, the bank), the comparison repeats on every load. Where it is a file the use case replaces, we run in parallel for a closed month or two until every difference is explained, and then retire the file. Consistency tests keep running regardless: balances roll forward, every payout meets the bank, closed months don't move. Differences are explained or traced to a source, never hidden, and open ones go on a differences register that carries across use cases. Sometimes a use case shows the model needs adjusting; we go back and adjust it, which is expected, not a failure.
- 9
We publish. The use case is published as governed semantic views with business definitions, plus the outputs it needs (a monthly pack, a report). Your team can ask questions through a read-only Claude connector (or similar) that answers only from these definitions. By default we provide monthly packs and similar outputs via Claude Artifacts.
- 10
You approve; we promote. Each change is approved on its own: a named member of the engagement team approves the DEV evidence, and your administrator gives the second approval by merging into production. There is no big-bang go-live; your production schedule simply runs the latest approved code every day.
How the warehouse grows: a worked example
Each use case reuses what came before, so later ones need less new work. Here is a typical sequence for an online retailer, starting with sales and moving towards cash and the balance sheet.
| Step | Use case | Proved against | Reuses | Adds |
|---|---|---|---|---|
| 0 | End-to-end check: yesterday's orders and their value | The e-commerce platform's own sales report | — | Orders, customers, products; the e-commerce source; both databases, the schedule, the approval route |
| 1 | Monthly sales reconciliation | Trial balance sales lines (every load); your existing month-end file (parallel run, then retired) | Orders, customers, products | Refunds, discounts, tax; the accounting source; a monthly pack |
| 2 | Payouts to bank | Bank statements | Sales by order, refunds | Payouts, processing fees, bank transactions; the payments and bank sources |
| 3 | Deferred revenue | The balance sheet's deferred income account | Orders, refunds, the sales rules | Fulfilment events; your revenue-recognition ruling |
| 4 | Gift cards and store credit | The gift card liability balance | Orders, refunds, payouts | Gift card issue and redemption events |
By step 4 most of the model already exists, so the work is mainly new rules and a new reconciliation. Every other control in this sequence is data we load, so those reconciliations repeat on every load with nothing for you to maintain.
Where we need you
The system scans, infers and generates; you confirm, correct and decide. Expect to be asked at these points, and nowhere else:
| When | What we ask | Why it is yours |
|---|---|---|
| Once, at kick-off | Agree the tenant name and the critical figure for the end-to-end check | The name becomes permanent object names in your account |
| Each use case: brief | The question, the slice to start with, and the trusted source | You know which answer matters and which number the business believes |
| Each use case: plan | Confirm what is new in the ontology and the assumptions listed | A wrong assumption is cheap to fix here, costly later |
| Each use case: reconciliation | Rule on each open difference: accept, correct the source, or change the rule | Accounting and policy choices are business decisions |
| Each change | Approve and merge to production | Production is your system of record |
Rulings are dated and recorded, so the reasoning behind every number survives staff changes. A later ruling can revise an earlier use case; its tests then follow the new rule.
The operating rhythm
Once the first use case is live, the work settles into a steady cadence rather than a project with an end date.
| Cadence | What happens | Who |
|---|---|---|
| Every day | Production loads new data, runs every test and reconciliation, and refreshes the published views | Automatic; failures come to us |
| Every month-end | Monthly outputs (packs, reports) are produced for the closed month | We produce; you review |
| As they arise | Open differences are investigated and brought to you with evidence | We investigate; you rule |
| Between use cases | The next use case is chosen from your backlog, by value to the business | You decide; we advise on effort and reuse |
What you end up with
Value arrives with each use case, not at the end. Everything lives in your Snowflake account and your git repository, so it stays yours if the engagement ends.
After each use case
- A reconciled output in use: tied to its trusted source by tests that run on every load.
- Governed semantic views with business definitions, and a read-only Claude connector over them.
- The plan, its assumptions and your rulings, dated.
Over time
- A growing ontology: the agreed description of your business, versioned.
- One shared warehouse in two databases (development and production), with full history and source lineage, that each new use case builds on.
- The generated code (dbt) in your repository, with a lineage page showing every model, what it computes and which tests guard it.
- A cumulative decision record: every plan, ruling and approval since the end-to-end check.
Frequently asked questions
Isn't understanding the business the hard part — and isn't that probabilistic if AI does it?
If AI writes the configuration, isn't that just code by another name?
What do the tests actually test? Is it more than checking columns aren't empty?
Who owns a failing test at month end?
Does reconciliation hold up with exceptions, source changes and messy data?
Hundreds of models sounds like a lot. Are they all needed?
Why Data Vault?
We have several ERPs and acquired brands. Does that work?
Does it scale beyond a small data estate?
What technology does it use, and can we see the code?
Can we trace a number back to where it came from?
Will it work with my BI tools, and can people ask questions nobody planned for?
Can I buy the software?
Glossary
| Term | Meaning |
|---|---|
| End-to-end check | One critical figure taken end to end through the whole platform, first, to prove everything works |
| Use case | One job the data must do, delivered as one pass round the loop |
| Ontology | The agreed description of your business: its entities (customer, order, product) and how they relate |
| Core ontology | Our shared starting model of common business processes, which yours is copied from |
| Brief | Your plain-language description of one use case |
| Trusted source | The figure your business already relies on, used to prove our numbers |
| Plan | The structured version of a brief, with every new assumption listed |
| Reconciliation | An automated test comparing our output to the trusted source on every load |
| Differences register | The running list of open differences and how each was resolved |
| Semantic view | A governed, documented view of the data that people and tools query |
| Data Vault | The modelling method underneath: keeps full history and traces every value to its source |