All posts
Starting out

The thing that was quick
was never going to hold

By Woodfrog · 6 min read · Accurate as of

Nearly every organisation we work with is on their second attempt. The first one was not incompetent. It was built to answer a question quickly, and it did, and that is precisely why it did not last.

How version one gets built

There is pressure to show something. A person who knows some SQL connects to a couple of source systems, writes queries that produce the numbers people asked about, and puts them behind a dashboard. It takes weeks and everyone is pleased.

The shortcuts that made it fast are all reasonable in isolation. Pull straight from production. Transform inside the report. Skip the raw layer because storage felt wasteful. Grant broad access because the team is small and trusted.

The four things that end it

Someone new needs different numbers, and the logic lives inside dashboards where it cannot be reused, so it gets rewritten slightly differently.

A source system changes and everything breaks at once with no lineage to say what was affected.

The company grows past the point where everyone can see everything, and access has to be retrofitted onto a design that assumed it would not.

Someone asks for a number as it stood last March, and there is no raw history to compute it from.

Why the rebuild is worse than the build

The first version had no users and no expectations. The second has both. It has to be built while the first one keeps running, migrated without a gap in numbers, and delivered to people who now compare everything to what they already have.

It also has to overcome the credibility cost of the first one. The rebuild is frequently the project where the business decides data is expensive and does not work.

What you can do at the start instead

Not much more than version one, honestly. Keep the raw data. Define metrics in one place rather than inside reports. Get lineage from the pipeline rather than from a document. Assume access will need to be restricted later and put it somewhere it can be.

None of those slow down the first dashboard by much. All of them are extremely expensive to add afterwards.

Common questions

Is it wrong to build something quick first? No. Getting a number in front of someone fast is how a data function earns the right to exist. The mistake is letting the quick version become the permanent one by default rather than by decision.

We are already on version one. Is it too late? Not usually. Keeping raw data from today onward, and defining metrics in one place, both work as retrofits. What is genuinely hard to recover is history you never kept.

On these comparisons. Billing models are stable and publicly documented, and that is what is described here. Specific list prices are not, because they move and because real contracts are commonly well below list at volume, so ask any vendor what they would actually quote you. Reviewed August 2026, next review February 2027.
Next step

See it on your own data.

Thirty minutes on the half you came for. Bring the report that breaks every month, or the decision you never settled.