338 lines
7.1 KiB
Markdown
338 lines
7.1 KiB
Markdown
|
|
# IOM Prioriteringsroadmap
|
||
|
|
|
||
|
|
> Vilka lager ger mest värde snabbast för quiXzoom Fas 1
|
||
|
|
> Status: Utkast | 2026-06-26
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Sammanfattning
|
||
|
|
|
||
|
|
Alla 10 lager är värdefulla, men inte alla är kritiska för Fas 1. Denna roadmap prioriterar utifrån:
|
||
|
|
- **Tid till värde**: Hur snabbt ger det kundnytta?
|
||
|
|
- **Teknisk komplexitet**: Hur mycket arbete krävs?
|
||
|
|
- **Beroenden**: Vilka lager måste finnas innan andra kan byggas?
|
||
|
|
|
||
|
|
> **Status:** Produktionspaus hävd 2026-06-25. Full fart framåt.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Fas 1: Grund (Månad 1-2)
|
||
|
|
|
||
|
|
### Lager 1 — Objektshierarkin (Taxonomi) ✅ KRITISK
|
||
|
|
|
||
|
|
**Varför först:** Allt annat bygger på detta.
|
||
|
|
|
||
|
|
**Scope:**
|
||
|
|
- Definiera 3-5 domäner för quiXzoom Fas 1
|
||
|
|
- `BYG` (Byggnad): Fasader, tak, fönster, entréer
|
||
|
|
- `BEL` (Belysning): Gatubelysning, trafiksignaler
|
||
|
|
- `TRN` (Transport): Vägar, broar, parkeringar
|
||
|
|
- `ENE` (Energi): Laddstationer, transformatorer
|
||
|
|
- `COM` (Kommersiellt): Skyltfönster, reklam, butiksfronter
|
||
|
|
|
||
|
|
**Exempel:**
|
||
|
|
```
|
||
|
|
BYG (Byggnad)
|
||
|
|
├── FAC (Fasad)
|
||
|
|
│ ├── WIN (Fönster)
|
||
|
|
│ │ ├── GLA (Glas)
|
||
|
|
│ │ ├── FRM (Fönsterkarm)
|
||
|
|
│ │ └── SIL (Fönsterbleck)
|
||
|
|
│ ├── PAN (Fasadpanel)
|
||
|
|
│ └── ENT (Entré)
|
||
|
|
```
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- JSON-fil med hierarki
|
||
|
|
- Valideringsregler (3 bokstäver, unika inom förälder)
|
||
|
|
- Dokumentation med exempel
|
||
|
|
|
||
|
|
**Tid:** 1 vecka
|
||
|
|
**Komplexitet:** Låg
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Lager 2 — Global Object ID (GOID) ✅ KRITISK
|
||
|
|
|
||
|
|
**Varför först:** Utan ID kan man inte referera till objekt.
|
||
|
|
|
||
|
|
**Scope:**
|
||
|
|
- Format: `[DOM]-[SYS]-[SUB]-[OBJ]-[SEQ]`
|
||
|
|
- Sekvens: Löpnummer per objekttyp
|
||
|
|
- Regler: Permanent, unikt, oföränderligt
|
||
|
|
|
||
|
|
**Exempel:**
|
||
|
|
```
|
||
|
|
BYG-FAC-WIN-GLA-0001 # Fönsterglas #1
|
||
|
|
BYG-FAC-WIN-GLA-0002 # Fönsterglas #2
|
||
|
|
BYG-FAC-ENT-DOR-0047 # Entrédörr #47
|
||
|
|
```
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- ID-genereringsfunktion
|
||
|
|
- Kollisionsdetektering
|
||
|
|
- API-endpoint: `POST /objects` → returnerar GOID
|
||
|
|
|
||
|
|
**Tid:** 3 dagar
|
||
|
|
**Komplexitet:** Låg
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Lager 5 — Standardiserade egenskaper ✅ KRITISK
|
||
|
|
|
||
|
|
**Varför först:** Gör det möjligt att jämföra objekt och filtrera.
|
||
|
|
|
||
|
|
**Scope (minimal):**
|
||
|
|
| Egenskap | Typ | Exempel |
|
||
|
|
|---|---|---|
|
||
|
|
| `condition` | 1-5 | 3 (tillfredsställande) |
|
||
|
|
| `location` | lat/lng | 59.3293, 18.0686 |
|
||
|
|
| `risk_level` | 1-5 | 3 |
|
||
|
|
| `function_status` | enum | "operational" |
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- JSON-schema
|
||
|
|
- Validering
|
||
|
|
- Filter-API: `GET /objects?condition=4&risk_level>3`
|
||
|
|
|
||
|
|
**Tid:** 3 dagar
|
||
|
|
**Komplexitet:** Låg
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Lager 6 — Observationer ✅ KRITISK
|
||
|
|
|
||
|
|
**Varför först:** Det är vad quiXzoom faktiskt samlar in.
|
||
|
|
|
||
|
|
**Scope (minimal):**
|
||
|
|
```yaml
|
||
|
|
observation:
|
||
|
|
id: "OBS-2026-0012847"
|
||
|
|
timestamp: "2026-06-26T09:15:00Z"
|
||
|
|
object_goid: "BYG-FAC-WIN-GLA-2847"
|
||
|
|
observer: "zoomer:anna_k"
|
||
|
|
findings:
|
||
|
|
- type: "dirt_accumulation"
|
||
|
|
description: "Smuts på fönster"
|
||
|
|
confidence: 0.94
|
||
|
|
media:
|
||
|
|
- type: "image"
|
||
|
|
url: "..."
|
||
|
|
ai_analysis:
|
||
|
|
overall_condition: 3
|
||
|
|
```
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- Observation-API
|
||
|
|
- Bilduppladdning
|
||
|
|
- AI-integrationspunkt
|
||
|
|
|
||
|
|
**Tid:** 2 veckor
|
||
|
|
**Komplexitet:** Medel
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Fas 2: Struktur (Månad 2-3)
|
||
|
|
|
||
|
|
### Lager 3 — Objektets DNA (Metadata)
|
||
|
|
|
||
|
|
**Varför nu:** När objekt skapas behöver de metadata.
|
||
|
|
|
||
|
|
**Scope (minimal):**
|
||
|
|
```yaml
|
||
|
|
object:
|
||
|
|
goid: "BYG-FAC-WIN-GLA-2847"
|
||
|
|
object_type: "window_glass"
|
||
|
|
material: ["glass"]
|
||
|
|
dimensions: {width: 2.1, height: 1.5, unit: "m"}
|
||
|
|
installation_date: "2020-03-15"
|
||
|
|
owner: "org:ikea"
|
||
|
|
```
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- Metadata-API
|
||
|
|
- Materialkatalog (20 vanligaste)
|
||
|
|
- Dimensionsvalidering
|
||
|
|
|
||
|
|
**Tid:** 1 vecka
|
||
|
|
**Komplexitet:** Låg
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Lager 7 — Felklassificering
|
||
|
|
|
||
|
|
**Varför nu:** AI behöver koder för att klassificera.
|
||
|
|
|
||
|
|
**Scope (minimal — Fas 1-relevanta):**
|
||
|
|
```
|
||
|
|
2000 — Ytskada
|
||
|
|
├── 2100 — Smuts / Nedsmutsning
|
||
|
|
├── 2200 — Färgförändring
|
||
|
|
└── 2300 — Skada på yta
|
||
|
|
|
||
|
|
3000 — Strukturell skada
|
||
|
|
├── 3100 — Spricka
|
||
|
|
├── 3200 — Deformation
|
||
|
|
└── 3300 — Materialförlust
|
||
|
|
|
||
|
|
4000 — Saknad / Trasig komponent
|
||
|
|
├── 4100 — Saknad del
|
||
|
|
└── 4200 — Trasig del
|
||
|
|
|
||
|
|
5000 — Blockering
|
||
|
|
├── 5100 — Fysisk blockering
|
||
|
|
└── 5200 — Synlig blockering
|
||
|
|
```
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- Felkods-API
|
||
|
|
- AI-klassificeringsmapping
|
||
|
|
- Mänsklig gransknings-UI
|
||
|
|
|
||
|
|
**Tid:** 1 vecka
|
||
|
|
**Komplexitet:** Låg
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Lager 4 — Komponentstruktur (BOM) 🔄 FÖRENKLAT
|
||
|
|
|
||
|
|
**Varför senare:** Komplext, men ger stort värde för underhåll.
|
||
|
|
|
||
|
|
**Scope (förenklat för Fas 1):**
|
||
|
|
```yaml
|
||
|
|
# Endast 1 nivå djup
|
||
|
|
object:
|
||
|
|
goid: "ENE-EVC-CHA-AC22-003"
|
||
|
|
components:
|
||
|
|
- goid: "ENE-EVC-CHA-FND-003"
|
||
|
|
name: "Fundament"
|
||
|
|
- goid: "ENE-EVC-CHA-POL-003"
|
||
|
|
name: "Stolpe"
|
||
|
|
- goid: "ENE-EVC-CHA-CBL-003"
|
||
|
|
name: "Kabel"
|
||
|
|
```
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- BOM-API (1 nivå)
|
||
|
|
- Komponentkoppling
|
||
|
|
|
||
|
|
**Tid:** 1 vecka
|
||
|
|
**Komplexitet:** Medel
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Fas 3: Intelligens (Månad 3-4)
|
||
|
|
|
||
|
|
### Lager 8 — Riskmodell
|
||
|
|
|
||
|
|
**Varför nu:** Kräver observationer och felkoder för att fungera.
|
||
|
|
|
||
|
|
**Scope (förenklat):**
|
||
|
|
```yaml
|
||
|
|
risk:
|
||
|
|
dimensions:
|
||
|
|
safety: 0-10
|
||
|
|
economic: 0-10
|
||
|
|
operational: 0-10
|
||
|
|
|
||
|
|
# För Fas 1: endast 3 dimensioner
|
||
|
|
weights:
|
||
|
|
safety: 0.4
|
||
|
|
economic: 0.3
|
||
|
|
operational: 0.3
|
||
|
|
```
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- Riskberäknings-API
|
||
|
|
- Risktröskel-alerts
|
||
|
|
- Dashboard-visning
|
||
|
|
|
||
|
|
**Tid:** 1 vecka
|
||
|
|
**Komplexitet:** Medel
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Lager 9 — Relationer (Kunskapsgraf) 🔄 FÖRENKLAT
|
||
|
|
|
||
|
|
**Varför senare:** Kraftfullt men komplext.
|
||
|
|
|
||
|
|
**Scope (förenklat):**
|
||
|
|
```yaml
|
||
|
|
# Endast 3 relationstyper
|
||
|
|
relations:
|
||
|
|
- type: "part_of"
|
||
|
|
target: "BYG-FAC-001"
|
||
|
|
|
||
|
|
- type: "owned_by"
|
||
|
|
target: "org:ikea"
|
||
|
|
|
||
|
|
- type: "adjacent_to"
|
||
|
|
target: "BYG-FAC-WIN-GLA-2848"
|
||
|
|
```
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- Relations-API
|
||
|
|
- Enkel grafquery
|
||
|
|
|
||
|
|
**Tid:** 2 veckor
|
||
|
|
**Komplexitet:** Medel
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Fas 4: Vision (Månad 4-6)
|
||
|
|
|
||
|
|
### Lager 10 — Digital tvilling
|
||
|
|
|
||
|
|
**Varför sist:** Bygger på alla andra lager.
|
||
|
|
|
||
|
|
**Scope:**
|
||
|
|
- Grafvisualisering
|
||
|
|
- Tidslinje per objekt
|
||
|
|
- Prediktiva modeller
|
||
|
|
- Kontradiktionsdetektering
|
||
|
|
|
||
|
|
**Leverans:**
|
||
|
|
- Dashboard
|
||
|
|
- API för komplexa frågor
|
||
|
|
- Exporter (PDF, Excel)
|
||
|
|
|
||
|
|
**Tid:** 4-6 veckor
|
||
|
|
**Komplexitet:** Hög
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Sammanfattning: Prioritering
|
||
|
|
|
||
|
|
| Fas | Lager | Tid | Värde | Komplexitet |
|
||
|
|
|---|---|---|---|---|
|
||
|
|
| 1 | 1 (Taxonomi) | 1v | ⭐⭐⭐⭐⭐ | Låg |
|
||
|
|
| 1 | 2 (GOID) | 3d | ⭐⭐⭐⭐⭐ | Låg |
|
||
|
|
| 1 | 5 (Egenskaper) | 3d | ⭐⭐⭐⭐⭐ | Låg |
|
||
|
|
| 1 | 6 (Observationer) | 2v | ⭐⭐⭐⭐⭐ | Medel |
|
||
|
|
| 2 | 3 (Metadata) | 1v | ⭐⭐⭐⭐ | Låg |
|
||
|
|
| 2 | 7 (Felkoder) | 1v | ⭐⭐⭐⭐ | Låg |
|
||
|
|
| 2 | 4 (BOM, förenklat) | 1v | ⭐⭐⭐ | Medel |
|
||
|
|
| 3 | 8 (Risk) | 1v | ⭐⭐⭐⭐ | Medel |
|
||
|
|
| 3 | 9 (Relationer, förenklat) | 2v | ⭐⭐⭐ | Medel |
|
||
|
|
| 4 | 10 (Digital tvilling) | 4-6v | ⭐⭐⭐⭐⭐ | Hög |
|
||
|
|
|
||
|
|
**Total tid till full IOM:** 4-6 månader
|
||
|
|
**Tid till första kundvärde:** 2-3 veckor (Fas 1)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Rekommendation
|
||
|
|
|
||
|
|
Börja med **Fas 1** omedelbart. De fyra lagren är tekniskt enkla och ger direkt värde:
|
||
|
|
1. Zoomers kan klassificera objekt (Lager 1)
|
||
|
|
2. Objekt får permanenta ID:n (Lager 2)
|
||
|
|
3. Systemet kan filtrera och jämföra (Lager 5)
|
||
|
|
4. Observationer sparas strukturerat (Lager 6)
|
||
|
|
|
||
|
|
Detta möjliggör redan i vecka 3:
|
||
|
|
- "Visa alla smutsiga fönster i Stockholm"
|
||
|
|
- "Hur många observationer har vi på objekt X?"
|
||
|
|
- "Vilka objekt har försämrats sedan förra månaden?"
|
||
|
|
|
||
|
|
Resten bygger ni ovanpå efterhand.
|