Year one · two sources
Finance + orders. Drawing charts directly still holds.
Connecting is addictive. ERP this year, WMS next year, then a slice each of stores, devices, and ecommerce. Every new source, someone says “ship a chart we can look at first.” The chart can be looked at. The extract is one-off: field names mapped by hand, failures rerun, mismatch then another Excel dump. Add one more source and every one-off explodes together. Standardize APIs first. That is not delaying visualization. It is refusing to let visualization become a new chimney.
Finance + orders. Drawing charts directly still holds.
Each new chart a new pipe. Definitions start to fork.
Same master data, failures reconcilable, charts are subscribers.
The risk of each system calculating its own becomes policy when connecting accelerates, not “sometimes we do not match.” See When every system calculates its own numbers, what breaks. Once APIs are standardized, the next chart is faster; see Once APIs are standardized, the next chart is faster. Master data is still the nail in the bus; see Without master data, visualization lies. Only then talk about whether a platform is needed—do not let a platform slogan replace an API list. See Do mid-size companies have to buy a data platform.
Draw first only in one case: few sources, few KPIs, you explicitly call it a one-off probe, and you wrote a retire date. A probe with no retire date becomes a production pipe. Source upgrades that rename fields are the first killer after connect. Write a change-notice window into the contract, or the dashboard will silently go wrong the week the other side ships. Do not replace an API with a live production database connect. Direct looks fast. Permissions and locks bind you to their maintenance window. Chain roll-up especially cannot survive each store privately wiring each platform; see How chain roll-up avoids forked definitions. Connecting “everything we can reach” as an exhibit slides back into the museum; see Treating systems as a warehouse exhibit vs a decision entry.
On the list, each source writes: primary key, increment field, failure retry, row-count reconciliation, who notifies source-side change. Without those, every chart is temporary. Order connects by decision entry, not by how old the system is. A source the weekly meeting does not use, even if it is easy to connect, goes later—avoid exhibit growth. DaXi delivers a draft of this list before the first operations chart, so the project does not promise “every system can connect” inside a demo animation. To sequence your current sources, submit the list on the Data service page. Overall engineering rhythm: From brief to launch: how a data project actually runs.
Mocks can come later. First have finance and operations write on a whiteboard which already-standardized APIs the next chart will subscribe to. If they cannot write it, you are still drawing chimneys. Connecting will only get messier.
Source upgrades that rename fields are the first killer after connect. Write a change-notice window into the contract, or the dashboard will silently go wrong the week the other side ships.
Do not replace an API with a live production database connect. Direct looks fast. Permissions, locks, and versions bind you to their maintenance window.
Order connects by decision entry, not by how old the system is. A source the weekly meeting does not use, even if it is easy to connect, goes later—avoid exhibit growth. Each new source first delivers a reconcilable row count and a failure alert, then it may appear on any chart.
List source systems and whether each chart still has a private extract.