Seed UNS hierarchy across 6 sites; rebrand outputs to SCADA IT/OT with ZB template
Lands per-site UNS subtree files (Warsaw West/North, Shannon, Galway, TMT, Ponce) seeded from OpenText facility docs — Warsaw split confirmed as numbered = legacy Zimmer = West, lettered = legacy Biomet = North. Renames project framing from "Shopfloor IT/OT" to "SCADA IT/OT" for accuracy. Extracts a ZB-branded PowerPoint template from example_powerpoint.pptx and wires it into the outputs pipeline. Trims deck from 18 to 16 slides (BOBJ->Power BI transferred to another team, Non-Goals and Asks dropped); goal-state BOBJ analysis pruned to a stub.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Goal State (3-Year Target)
|
||||
|
||||
Target end-state for shopfloor IT/OT interfaces and data collection at the end of the 3-year plan.
|
||||
Target end-state for SCADA IT/OT interfaces and data collection at the end of the 3-year plan.
|
||||
|
||||
> When a section below grows beyond a few paragraphs, break it out into `goal-state/<component>.md` and leave a short summary + link here. See [`CLAUDE.md`](CLAUDE.md#breaking-out-components).
|
||||
|
||||
@@ -8,7 +8,7 @@ Target end-state for shopfloor IT/OT interfaces and data collection at the end o
|
||||
|
||||
**Overarching theme: provide a stable, single point of integration between shopfloor OT and enterprise IT.** Every design decision in this plan reduces back to that goal — one bridge (ScadaBridge central), one event backbone (Redpanda), one machine-data path to Snowflake (the integration service), one place for schemas, one set of conventions. "Stable" and "single" are load-bearing words: stability rules out bespoke one-offs that drift, and singleness rules out parallel integration estates that compete with the unified model. When a decision is ambiguous later in the plan, this theme is the tiebreaker.
|
||||
|
||||
By the end of the 3-year plan, shopfloor IT/OT is built on **one unified integration model across every site** — large campuses (Warsaw West/North), mid-size integrated sites (Shannon, Galway, TMT, Ponce), and the currently-unintegrated smaller sites (Berlin, Winterthur, Jacksonville, and others) all onboard through the same standardized pattern centered on **ScadaBridge** as the IT/OT bridge and **EventHub** as the async backbone. That unified foundation **unlocks enterprise analytics and AI on shopfloor data** by making curated, governed shopfloor data available in **Snowflake** at the right latency and granularity for downstream consumers. In parallel, **legacy point-to-point middleware and bespoke integrations are retired** in favor of ScadaBridge-managed flows, leaving a single, supportable IT/OT integration estate.
|
||||
By the end of the 3-year plan, SCADA IT/OT is built on **one unified integration model across every site** — large campuses (Warsaw West/North), mid-size integrated sites (Shannon, Galway, TMT, Ponce), and the currently-unintegrated smaller sites (Berlin, Winterthur, Jacksonville, and others) all onboard through the same standardized pattern centered on **ScadaBridge** as the IT/OT bridge and **EventHub** as the async backbone. That unified foundation **unlocks enterprise analytics and AI on shopfloor data** by making curated, governed shopfloor data available in **Snowflake** at the right latency and granularity for downstream consumers. In parallel, **legacy point-to-point middleware and bespoke integrations are retired** in favor of ScadaBridge-managed flows, leaving a single, supportable IT/OT integration estate.
|
||||
|
||||
**Explicitly in scope:**
|
||||
- (a) Unifying all sites under one integration model.
|
||||
@@ -795,73 +795,12 @@ _TBD — none remaining for this section. Canonical state vocabulary ownership a
|
||||
|
||||
### Enterprise reporting: BOBJ → Power BI migration (adjacent initiative)
|
||||
|
||||
**Status: in-flight, not owned by this plan.** Enterprise reporting is actively migrating from **SAP BusinessObjects** to **Microsoft Power BI** (see [`current-state.md`](current-state.md) → Aveva Historian → Current consumers). This is a reporting-team initiative, not a workstream of this 3-year plan — but it **overlaps with pillar 2** (analytics/AI enablement) in a way that requires explicit coordination, because both initiatives ultimately consume machine data and both ultimately present analytics to business users.
|
||||
**Status: handled by another team (resolved 2026-04-30).** Enterprise reporting is migrating from SAP BusinessObjects to Microsoft Power BI; the coordination question for this plan was whether and how Power BI would consume machine data, and that question is now owned outside this plan.
|
||||
|
||||
**This plan's posture:** no workstream is added to `roadmap.md`, and no pillar criterion depends on the Power BI migration landing on any particular schedule. However, the plan's Snowflake-side component (**SnowBridge**, which owns both ingest and transform into curated tables in Snowflake) is shaped so that Power BI can consume it cleanly **if and when** the reporting team decides to point there. Whether Power BI actually does so, on what timeline, and for which reports is **not this plan's decision** — it is a coordination question between this plan and the reporting team.
|
||||
**This plan's posture:** no workstream is added to `roadmap.md`, and no pillar criterion depends on the Power BI migration landing on any particular schedule. The **SnowBridge curated layer in Snowflake** is shaped so that Power BI can consume it cleanly if the reporting team chooses to point there. If they do, and reporting-shaped curated tables are needed, the requirements get folded into the SnowBridge workstream at that time.
|
||||
|
||||
#### Three consumption paths for Power BI
|
||||
The previous three-paths analysis (SnowBridge curated layer / Historian direct / both), the recommended position, the eight questions for the reporting team, and the four-bucket decision rubric that lived here were retired when the coordination was handed off. They are preserved in the project's git history (commit before 2026-04-30) for the other team to reference if needed.
|
||||
|
||||
The reporting team's Power BI migration can land on any of three paths. Each has different implications for this plan:
|
||||
|
||||
**Path A — Power BI reads from the SnowBridge curated layer in Snowflake.**
|
||||
- *Fit with this plan's architecture:* **best.** Machine data flows through the planned pipeline (equipment → OtOpcUa → layer 3 → ScadaBridge → Redpanda → SnowBridge → Snowflake → Power BI). The architectural diagram in `## Layered Architecture` above already shows this as the intended shape.
|
||||
- *What it requires from this plan:* the SnowBridge curated layer must be built to serve **reporting**, not only AI/ML. Likely adds **reporting-shaped curated tables or views** tuned for Power BI's query patterns and cross-domain joins. SnowBridge's tag selection must include tags that feed reporting, not only tags that feed the pillar-2 AI use case.
|
||||
- *What it requires from the reporting team:* capacity and willingness to consume Snowflake as a data source (Power BI has a native Snowflake connector; the learning curve is in the semantic layer, not the connection). Commitment to defer at least the machine-data portion of the BOBJ migration until the SnowBridge curated layer is live — which ties the reporting migration's machine-data cutover to this plan's Year 2+ delivery.
|
||||
- *Risk:* **timing coupling.** If the reporting team wants to finish their migration inside Year 1, this path doesn't work for machine-data reports. They'd need to hold on machine-data reports and migrate the rest first — which is tenable (reports migrate in waves anyway) but needs agreement.
|
||||
- *"Not possible before" hook:* Path A opens the door to **cross-domain reports** (machine data joined with MES/ERP data in one query) that BOBJ couldn't easily deliver. This is a strong candidate for pillar 2's "not possible before" use case.
|
||||
|
||||
**Path B — Power BI reads from Historian's MSSQL surface directly.**
|
||||
- *Fit with this plan's architecture:* **neutral.** Historian's SQL interface is its native consumption surface (see [`current-state/legacy-integrations.md`](current-state/legacy-integrations.md) → Deliberately not tracked → Historian SQL reporting consumers). This path is not legacy, not a retirement target.
|
||||
- *What it requires from this plan:* **nothing.** This plan makes no changes to Historian's MSSQL surface.
|
||||
- *What it requires from the reporting team:* a pure tool migration (BOBJ → Power BI, same data path). Shortest path to finishing the Power BI migration on the reporting team's preferred timeline.
|
||||
- *Risk:* **perpetuates the current pattern.** All of the reasons the plan chose a Snowflake-based analytics substrate still apply — cross-domain joins are hard, raw-resolution scale is painful, Historian carries reporting read load on top of its compliance role. Pillar 2's "single analytics substrate" story weakens; the organization ends up running two reporting substrates (Historian SQL for machine data, Snowflake for AI/ML use cases). The machine-data analytics cost moves with Historian rather than with Snowflake's pay-per-use model, which makes the "Snowflake cost story" of this plan less compelling against a baseline that doesn't include reporting load.
|
||||
- *"Not possible before" hook:* none beyond what Historian SQL already offers.
|
||||
|
||||
**Path C — Both, partitioned by report category.**
|
||||
- *Shape:* compliance/validation reports read Historian directly (because Historian is the authoritative system of record and auditors typically want reports against it); machine-data analytics and cross-domain reports read from the SnowBridge curated layer in Snowflake; reports sourced from Camstar/Delmia/ERP stay on their native connectors. Reports migrate per category.
|
||||
- *Fit with this plan's architecture:* **pragmatic.** Acknowledges that enterprise reporting is heterogeneous and that one path doesn't fit everything.
|
||||
- *What it requires from this plan:* Path-A requirements (reporting-shaped SnowBridge curated tables, tag selection in SnowBridge) for the Snowflake portion. No new requirements for the Historian portion.
|
||||
- *What it requires from the reporting team:* a published **report-category → data-source** rubric that dev teams can use to place new reports on the right path. Needs governance; otherwise new reports land wherever feels easiest at the time.
|
||||
- *Risk:* **complexity.** Two semantic layers, two connection paths, two mental models for report authors. Worth it only if the volume of cross-domain / AI-adjacent reporting is high enough to justify Path A alongside Path B.
|
||||
|
||||
#### Recommended position
|
||||
|
||||
**Path C (with Path A as the strategic direction).** Expect most machine-data-heavy reports and all cross-domain reports to move to Snowflake (Path A) over Years 2–3 as the SnowBridge curated layer matures; expect compliance reports to stay on Historian's SQL surface (Path B) indefinitely because Historian is the authoritative regulatory system of record and moving compliance reporting off it introduces chain-of-custody questions we don't want to open. Path B is **explicitly** not a retirement target (see the carve-out in the legacy inventory), so "staying" is a valid end state for compliance reporting.
|
||||
|
||||
**Why not pure Path A:** forces a needless fight over compliance reports that have no business case for leaving Historian.
|
||||
**Why not pure Path B:** gives up the cross-domain reporting upside that is one of the most compelling answers to "what does pillar 2 get us that we couldn't do before?"
|
||||
**Why not leave the decision open:** without a plan position, the reporting team will default to Path B by inertia (it's the shortest path and they're already mid-migration). That locks in the weakest of the three outcomes.
|
||||
|
||||
#### Questions to take to the reporting team
|
||||
|
||||
Use these to land the coordination conversation. Priority order — the first four are the must-answers:
|
||||
|
||||
1. **What's your timeline for completing BOBJ → Power BI?** Specifically, when do you expect to have migrated (a) all non-machine-data reports, (b) machine-data reports that read Historian, and (c) cross-domain reports? This tells us whether holding machine-data reports for Path A is even tenable on your side.
|
||||
2. **Have you made an architectural decision on Power BI's connection to Historian?** Direct MSSQL link, Power BI gateway + on-prem data source, Azure Analysis Services in front of Historian, dataflows, something else? A decision already baked in may be hard to unwind.
|
||||
3. **Has Snowflake been evaluated as a Power BI data source?** If yes, what were the findings (cost, performance, semantic modeling effort)? If no, would you be open to an evaluation once the first SnowBridge curated layer is live in Year 2?
|
||||
4. **Is there a business stakeholder asking for cross-domain reports** (machine data joined with MES/ERP/Camstar data in one report) that BOBJ can't deliver today? A named stakeholder here is the strongest signal that Path A is worth the coordination cost.
|
||||
5. **What's the rough split of your report inventory** between machine-data-heavy reports, compliance reports, cross-domain reports, and pure-enterprise reports? A rough count is enough — we're not looking for a census, just the shape of the portfolio.
|
||||
6. **Does the reporting team have capacity to learn Snowflake-side semantic modeling against the curated tables SnowBridge writes?** (No dbt on their side either — they'd consume curated tables directly via the Power BI Snowflake connector.) If that's a deal-breaker, Path A is off the table and we should plan for Path B + a parallel Snowflake analytics stack that non-reporting users consume.
|
||||
7. **Who owns the decision on Power BI's data sources?** Your team, a BI governance body, IT architecture, the CIO? We need to know who to bring into the Path-A discussion if it progresses.
|
||||
8. **Would you be willing to pilot one cross-domain report on Snowflake (Path A) during Year 2** as a proof point, independent of the rest of the migration? This is a low-commitment way to validate Path A before betting more reports on it.
|
||||
|
||||
#### Decision rubric
|
||||
|
||||
After the conversation, place the outcome into one of these buckets:
|
||||
|
||||
- **Bucket A — Full Path A commitment.** Reporting team commits to migrating all non-compliance reports to Snowflake over Years 2–3. → Update `roadmap.md` (SnowBridge workstream) to include reporting-shaped curated tables in Year 2. Update `goal-state.md` to name cross-domain reporting as a pillar 2 "not possible before" candidate.
|
||||
- **Bucket B — Path C commitment.** Reporting team commits to the hybrid path with a published report-category rubric. → Same roadmap updates as A, plus document the rubric as a link from this subsection.
|
||||
- **Bucket C — Path B lock-in.** Reporting team declines Path A for cost, capacity, or timing reasons. → Update `goal-state.md` here to record the decision. No roadmap changes. Pillar 2's "not possible before" use case must come from a different source (e.g., predictive maintenance, OEE anomaly detection) because cross-domain reporting is off the table.
|
||||
- **Bucket D — Conversation inconclusive.** Reporting team needs more time, or the decision is above their level. → Schedule follow-up. Note which questions were answered and which are still open.
|
||||
|
||||
#### What this does NOT decide
|
||||
|
||||
- Whether the reporting team completes their Power BI migration (their decision).
|
||||
- Whether Historian's SQL surface is ever retired (no — it's the compliance system of record).
|
||||
- Whether this plan's SnowBridge curated layer in Snowflake supports Power BI (yes, it can — the question is only whether the reporting team will consume it).
|
||||
- Whether the SnowBridge's tag selection is driven by reporting requirements (partly — SnowBridge's selection is governed by blast-radius approval, so reporting-team requests are handled through the same workflow as any other).
|
||||
|
||||
_TBD — name and sponsor of the Power BI migration initiative; named owner on the reporting team for this coordination; whether a joint session between this plan's build team and the reporting team has been scheduled; whether a Power BI + Snowflake proof-of-concept can fit into Year 1 as a forward-looking test, independent of the rest of Year 1's scope._
|
||||
|
||||
## Non-Goals
|
||||
|
||||
|
||||
Reference in New Issue
Block a user