portfolio-optimiser/docs/presentasjon-fagpersonens-bidrag.html
Kjell Tore Guttormsen ddc33eed8b docs: fagpersonens bidrag - spørsmål/sjekkliste til fagperson (ORDRE 20260824T092912Z) [skip-docs]
Leveranse for sidespor-ordren: konkret presentasjon om hva en fagperson
bidrar med før/under en kjøring (rolle, sjekkliste, feiltyper, dom som
produkt). Kun ny fil - ingen andre docs endret, ingen kodeendring.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WmF3iYHFYvQbD8F7AGxYqg
2026-08-24 15:24:51 +02:00

609 lines
32 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="no">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hva løsningen trenger fra deg</title>
<style>
:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin:0; background:#fff; color:#000;
font:17px/1.6 -apple-system, "Segoe UI", system-ui, sans-serif; }
.slide { display:none; min-height:100vh; padding:6vh 6vw 14vh; max-width:52rem; margin:0 auto; }
.slide.on { display:block; }
h1 { font-size:2.1rem; margin:0 0 .5em; line-height:1.2; }
h2 { font-size:1.5rem; margin:0 0 .9em; line-height:1.3; }
h3 { font-size:1.02rem; margin:1.6em 0 .5em; }
.kicker { color:#666; text-transform:uppercase; letter-spacing:.1em;
font-size:.72rem; margin:0 0 1.4em; }
.step { display:inline-block; border:2px solid #000; border-radius:4px;
padding:.05em .55em; font-weight:700; margin-right:.5em; }
p { margin:0 0 1em; }
ol, ul { padding-left:1.4em; margin:0 0 1em; }
li { margin:.5em 0; }
.lead { font-size:1.15rem; color:#444; }
table { border-collapse:collapse; width:100%; margin:1.2em 0; font-size:.94rem; }
th, td { border-bottom:1px solid #ddd; text-align:left; padding:.5em .6em; vertical-align:top; }
th { color:#666; font-weight:600; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
.done { border:2px solid #000; padding:.7em 1em; margin:1.4em 0; font-size:.95rem; }
.done b { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em;
color:#666; margin-bottom:.25em; }
.note { border-left:3px solid #ccc; padding:.3em 0 .3em 1.1em; color:#444;
margin:1.4em 0; font-size:.95rem; }
.ask { border-left:5px solid #000; padding:.2em 0 .2em 1.1em; margin:1.3em 0;
font-size:1.06rem; font-weight:600; }
code { font:.92em ui-monospace, SFMono-Regular, Menlo, monospace; }
figure { margin:1.6em 0; }
figure svg { width:100%; height:auto; display:block; }
figcaption { font-size:.82rem; color:#666; margin-top:.6em; text-align:center; }
nav { position:fixed; bottom:0; left:0; right:0; padding:.7em 6vw;
background:#fff; border-top:1px solid #ddd;
display:flex; gap:1em; align-items:center; font-size:.85rem; }
button { font:inherit; padding:.3em .9em; cursor:pointer; border:1px solid #bbb;
background:#fff; color:#000; border-radius:4px; }
#pos { color:#666; margin-left:auto; }
.d { fill:none; stroke:#000; stroke-width:2; }
.dt { fill:#000; font:13px -apple-system,"Segoe UI",system-ui,sans-serif; }
.dt-s { fill:#444; font:11px -apple-system,"Segoe UI",system-ui,sans-serif; }
.dim { stroke:#bbb; }
.dimt { fill:#999; font:12px -apple-system,"Segoe UI",system-ui,sans-serif; }
</style>
</head>
<body>
<!-- 1 -->
<section class="slide on">
<p class="kicker">Kostnadskutt i veg- og tunnelprosjekter</p>
<h1>Hva løsningen trenger fra deg</h1>
<p class="lead">Du er fagpersonen. Løsningen finner ingen besparelser uten det du vet —
og den kan ikke gjette seg til det.</p>
<p>Denne presentasjonen er de <b>sju spørsmålene</b> du blir stilt før en kjøring bestilles,
hva du skal svare, og hva du må skaffe på forhånd. Eksemplene er hentet fra
<b>utbedringsprosjekter på veg</b> og <b>tunnelprosjekter</b>.</p>
<table>
<tr><th>Spørsmål</th><th>Du leverer</th><th>Tid</th></tr>
<tr><td>1. Hvilke hypoteser skal vurderes?</td><td>36 tiltak du tror på, med begrunnelse</td><td>1 møte</td></tr>
<tr><td>2. Hva koster det i dag?</td><td>kostnadslinjer: mengde × enhetspris</td><td><b>dager til uker</b></td></tr>
<tr><td>3. Hvilke interne data finnes?</td><td>uttrekk og registre dere allerede har</td><td>timer</td></tr>
<tr><td>4. Hvilke eksterne data trengs?</td><td>normer, priser, erfaringstall — og hvilke <b>åpne API-er</b> som er relevante</td><td>timer</td></tr>
<tr><td>5. Hva kan ikke fravikes?</td><td>krav, minstenivåer, avtaler</td><td>1 møte</td></tr>
<tr><td>6. Hva er allerede gjort?</td><td>liste over gjennomførte tiltak</td><td>timer</td></tr>
<tr><td>7. Hva pleier å skje i praksis?</td><td>din erfaring med kalkyle vs. virkelighet</td><td>1 møte</td></tr>
</table>
<div class="note">Spørsmål 2 er det eneste som pleier å ta uker. Alt annet kan besvares
på en dag hvis du er tilgjengelig.</div>
</section>
<!-- 2 -->
<section class="slide">
<p class="kicker">Før spørsmålene</p>
<h2>Hva løsningen gjør — og hvorfor du blir spurt</h2>
<p>Løsningen leser en liten, kuratert kunnskapsbase om <b>ett prosjekt</b>, foreslår
kostnadsreduserende tiltak, og <b>kontrollerer regnestykket deterministisk</b> mot prosjektets
faktiske kostnadslinjer før noe forslag slipper ut.</p>
<figure>
<svg viewBox="0 0 720 150" role="img" aria-label="Fra din kunnskap til din dom">
<rect class="d" x="4" y="30" width="160" height="70" rx="4"/>
<text class="dt" x="84" y="58" text-anchor="middle">Din kunnskap</text>
<text class="dt-s" x="84" y="78" text-anchor="middle">tall, rammer, hypoteser</text>
<path class="d" d="M168 65 h44"/><path class="d" d="M204 58 l8 7 l-8 7"/>
<rect class="d" x="216" y="30" width="160" height="70" rx="4"/>
<text class="dt" x="296" y="58" text-anchor="middle">Forslag</text>
<text class="dt-s" x="296" y="78" text-anchor="middle">flere agenter, flere runder</text>
<path class="d" d="M380 65 h44"/><path class="d" d="M416 58 l8 7 l-8 7"/>
<rect class="d" x="428" y="30" width="130" height="70" rx="4"/>
<text class="dt" x="493" y="52" text-anchor="middle">Kontroll</text>
<text class="dt-s" x="493" y="70" text-anchor="middle">avstemmer mot</text>
<text class="dt-s" x="493" y="86" text-anchor="middle">ekte kostnadslinjer</text>
<path class="d" d="M562 65 h42"/><path class="d" d="M596 58 l8 7 l-8 7"/>
<rect class="d" x="608" y="30" width="108" height="70" rx="4"/>
<text class="dt" x="662" y="58" text-anchor="middle">Din dom</text>
<text class="dt-s" x="662" y="78" text-anchor="middle">ja / nei / justert</text>
<path class="dim" d="M662 104 v18 h-578 v-18" fill="none"/>
<path class="dim" d="M84 111 l-6 -8 M84 111 l6 -8" fill="none"/>
<text class="dimt" x="373" y="140" text-anchor="middle">dommen din går inn i neste kjøring</text>
</svg>
</figure>
<p><b>Kontrollen kan avgjøre om et tall er mulig. Den kan ikke avgjøre om tiltaket er klokt.</b>
Det gjør du, etterpå — og det er den vurderingen løsningen lærer av.</p>
<div class="note">Derfor er spørsmålene under ikke en kartlegging. De er de fire tingene
kontrollen ikke kan finne på egen hånd: <b>hva noe koster</b>, <b>hva som ikke er lov</b>,
<b>hva som allerede er gjort</b>, og <b>hva som pleier å skje i drift</b>.</div>
</section>
<!-- 3 -->
<section class="slide">
<p class="kicker">Før spørsmålene</p>
<h2>Din rolle, og hva du <em>ikke</em> skal gjøre</h2>
<table>
<tr><th></th><th>Du — fagpersonen</th><th>Den tekniske personen</th></tr>
<tr><td><b>Eier</b></td><td>innholdet og korrektheten</td><td>formen og strukturen</td></tr>
<tr><td><b>Leverer</b></td><td>tallene, rammene, tiltakene, dommene</td><td>oversettelsen til dokumenter og datafiler</td></tr>
<tr><td><b>Format</b></td><td>det du allerede jobber i: regneark, notat, uttrekk, PDF</td><td>markdown og JSON</td></tr>
<tr><td><b>Aldri</b></td><td>skriver systemfiler eller skjema</td><td>utleder et tall du ikke har oppgitt</td></tr>
</table>
<p><b>Du skal aldri levere ferdige dokumenter.</b> Lever et regneark, et notat, et skjermbilde
fra fagsystemet, en henvisning til en håndbok. Oversettelsen er ikke din jobb.</p>
<div class="done"><b>Regelen som ikke kan brytes</b>
Mangler et tall, står det som <b>manglende</b>. Det utledes ikke, og det rundes ikke av til
noe som «virker rimelig». Et tall ingen kan peke på en kilde for, forurenser alt som bygger på det.</div>
<div class="note">Det finnes ingen automatikk som lager kunnskapsbasen av regnearkene deres.
Oversettelsen er håndarbeid, og det er derfor forberedelsen tar én til to uker.</div>
</section>
<!-- 4 -->
<section class="slide">
<p class="kicker">Spørsmål 1 av 7</p>
<h2><span class="step">1</span> Hvilke hypoteser vil du at løsningen skal vurdere?</h2>
<div class="ask">«Hvis du fikk én uke til å lete etter penger i dette prosjektet —
hvor ville du sett først, og hvorfor?»</div>
<p>Løsningen <b>forbedrer</b> hypotesene dine framfor å finne opp sine egne fra bunnen. Jo mer
konkrete de er, jo bedre blir svaret. Den foreslår også sitt eget i tillegg — men dine går først.</p>
<p><b>Fire tiltakstyper dekker det meste.</b> Bruk dem som huskeliste, ikke som fasit:</p>
<table>
<tr><th>Tiltakstype</th><th>Utbedring på veg</th><th>Tunnel</th></tr>
<tr><td><b>Ny teknologi erstatter gammel</b></td>
<td>LED i veglys · nye rekkverkstyper med lengre levetid</td>
<td>LED-armaturer · frekvensstyrte vifter</td></tr>
<tr><td><b>Behovsstyring framfor fast drift</b></td>
<td>vinterdrift utløst av målestasjon/prognose framfor fast rode-utkalling</td>
<td>ventilasjon styrt på målt CO/NO₂ framfor fast drift · finere dimmetrinn på dagsonen</td></tr>
<tr><td><b>Tilstandsbasert framfor intervallbasert</b></td>
<td>dekkefornyelse etter målt spor og jevnhet framfor fast syklus · grøfterens etter tilstand</td>
<td>vask og renhold etter målt tilsmussing framfor fast frekvens</td></tr>
<tr><td><b>Levetidsforlengelse framfor utskifting</b></td>
<td>forsegling eller tynndekke framfor full reasfaltering · reparasjon framfor bytte av rekkverk</td>
<td>rehabilitering av eksisterende installasjon framfor full utskifting</td></tr>
</table>
<p><b>En femte som ofte glemmes:</b> <i>redusert omfang</i> — å utbedre mindre der tilstanden
ikke krever mer. Den er ofte den største, og den er alltid den vanskeligste å foreslå.</p>
<div class="done"><b>Ferdig når</b>
Du har 36 hypoteser, hver med én setning om <b>hvorfor</b> du tror på den. Begrunnelsen mates
ordrett inn til løsningen — det er der fagkunnskapen din faktisk gjør en forskjell.</div>
</section>
<!-- 5 -->
<section class="slide">
<p class="kicker">Spørsmål 1, fortsatt</p>
<h2>Filteret som avgjør om en hypotese er brukbar</h2>
<p>Et tiltak må kunne uttrykkes som en <b>kostnadslinje</b> — en mengde ganger en enhetspris.
Kan det ikke det, kan løsningen foreslå det, men <b>ikke kontrollere det</b>. Da er svaret verdt
akkurat like mye som et vanlig godt råd.</p>
<table>
<tr><th></th><th>Hypotese</th><th>Blir til</th></tr>
<tr><td></td><td>Færre vinterutkallinger med prognosestyring</td><td>antall utkallinger × kr per utkalling</td></tr>
<tr><td></td><td>Lengre intervall mellom tunnelvask</td><td>antall vask per år × kr per vask</td></tr>
<tr><td></td><td>Finere dimming av tunnelbelysningen</td><td>kWh per år × kr per kWh</td></tr>
<tr><td></td><td>Tynndekke framfor full reasfaltering</td><td>× kr per m²</td></tr>
<tr><td></td><td>«Bedre samhandling med entreprenøren»</td><td>ingen mengde, ingen enhetspris</td></tr>
<tr><td></td><td>«Tidligere involvering av fagressurser»</td><td>ingen mengde, ingen enhetspris</td></tr>
</table>
<p>De to nederste kan godt være riktige. De hører bare hjemme et annet sted enn her.</p>
<div class="done"><b>Gjør dette</b>
Skriv om hver hypotese til formen «<b>noe</b> ganger <b>en pris</b>». Klarer du det ikke, spør
deg selv hva som faktisk endrer seg i regnskapet — svaret er som regel mengden.</div>
</section>
<!-- 6 -->
<section class="slide">
<p class="kicker">Spørsmål 2 av 7 — det tunge</p>
<h2><span class="step">2</span> Hva koster dette i dag?</h2>
<div class="ask">«For hver hypotese: hvilken kostnadslinje treffer den, hva er mengden,
og hva er enhetsprisen — og hvor kommer tallet fra?»</div>
<p>Dette er det steget som stopper prosjekter. Uten ekte kostnadslinjer har kontrollen
<b>ingenting å avstemme mot</b>: et internt konsistent, oppdiktet forslag går rett gjennom, og
kjøringen ser helt normal ut.</p>
<table>
<tr><th>Prosjekttype</th><th>Typiske linjer</th><th>Formen</th></tr>
<tr><td rowspan="4"><b>Utbedring veg</b></td>
<td>dekkefornyelse</td><td>× kr/m²</td></tr>
<tr><td>vinterdrift</td><td>utkallinger/år × kr per utkalling, eller km × kr/km</td></tr>
<tr><td>veglys, energi</td><td>kWh/år × kr/kWh</td></tr>
<tr><td>grøfterens, kantklipp, rekkverk</td><td>løpemeter × kr/lm</td></tr>
<tr><td rowspan="4"><b>Tunnel</b></td>
<td>belysning, energi</td><td>kWh/år × kr/kWh</td></tr>
<tr><td>ventilasjon, energi</td><td>kWh/år × kr/kWh</td></tr>
<tr><td>vask og renhold</td><td>vask/år × kr per vask</td></tr>
<tr><td>utskifting av komponenter</td><td>antall × kr/stk</td></tr>
</table>
<p><b>Ta med alle linjene som er i spill</b> — ikke bare linjen til det tiltaket du tror mest på.
Et forslag som viser til en kostnadskode som ikke finnes i grunnlaget, blir avvist.</p>
<div class="done"><b>Ferdig når</b>
Hver linje har en mengde og en enhetspris, og du kan si <b>hvor hvert tall kom fra</b>.
Får du ikke tak i tallene: si det uttrykkelig, så ingen leser et godkjent-resultat som mer enn det er.</div>
<div class="note"><b>Vanligste fellene:</b> et tall som er fordelt fra en større post uten at det
står · et tall fra før forrige ombygging · en enhetspris uten årstall, som ikke kan prisjusteres ·
en investeringskostnad som dekker <em>hele</em> anlegget mens tiltaket bytter én del.</div>
</section>
<!-- 7 -->
<section class="slide">
<p class="kicker">Spørsmål 3 av 7</p>
<h2><span class="step">3</span> Hvilke interne data finnes — og hvem henter dem?</h2>
<div class="ask">«Hvilket system holder dette tallet i dag, og kan noen hente det ut for meg?»</div>
<p>Ikke spør om integrasjoner. Spør per tall. Fem kategorier dekker det meste:</p>
<table>
<tr><th>Kategori</th><th>Utbedring veg</th><th>Tunnel</th><th>Uten den</th></tr>
<tr><td><b>A. Kostnad og regnskap</b><br><span class="dimt">faktura, kalkyle, kontraktspriser</span></td>
<td>enhetspriser fra driftskontrakt, sluttkostnad fra tilsvarende prosjekt</td>
<td>energifaktura, priser fra siste elektroanbud</td>
<td><b>kontrollen er uforankret</b></td></tr>
<tr><td><b>B. Objekt og mengde</b><br><span class="dimt">hva anlegget består av</span></td>
<td>km veg, m² dekke, antall stikkrenner, meter rekkverk, alder og tilstand</td>
<td>antall armaturer og effekt, antall vifter og pumper, lengde, antall løp</td>
<td>ingen mengde å gange med</td></tr>
<tr><td><b>C. Bruk og driftsprofil</b><br><span class="dimt">hvor mye, hvor ofte, hvor lenge</span></td>
<td>ÅDT, antall vinterutkallinger, saltmengde, klippefrekvens</td>
<td>brenntimer, driftstimer vifter, vaskefrekvens, trafikkfordeling</td>
<td>årsforbruket kan ikke regnes</td></tr>
<tr><td><b>D. Historikk</b><br><span class="dimt">hva som er gjort</span></td>
<td>utførte dekkefornyelser med årstall og strekning</td>
<td>utskiftinger, oppgraderinger, rehabiliteringer med årstall</td>
<td>tiltak foreslås på nytt, gevinst dobbelttelles</td></tr>
<tr><td><b>E. Kontrakt og avtale</b><br><span class="dimt">hva som er bundet</span></td>
<td>driftskontraktens omfang og løpetid, opsjoner</td>
<td>serviceavtaler, garantiperioder</td>
<td>tiltak foreslås som ikke kan bestilles</td></tr>
</table>
<div class="done"><b>Gjør dette</b>
For hver kategori: skriv ned <b>hvilket system eller regneark</b> tallet ligger i, og
<b>hvem</b> som kan hente det ut. Et CSV-uttrekk eller et skjermbilde er nok — det trengs
ingen integrasjon for å komme i gang.</div>
</section>
<!-- 8 -->
<section class="slide">
<p class="kicker">Spørsmål 4 av 7</p>
<h2><span class="step">4</span> Hvilke eksterne data er nyttige?</h2>
<p>Eksterne data brukes til to ting: å <b>begrense</b> hva som er lov, og å <b>kalibrere</b> hva
som er realistisk. Fire kategorier:</p>
<p><b>Det aller meste av dette finnes allerede som åpne API-er.</b> Tilgang er sjelden problemet.
Å vite <em>hvilke</em> kilder som er relevante for akkurat dine tiltak, er det — og det er en
fagvurdering. Neste side er den jobben.</p>
<table>
<tr><th>Kategori</th><th>Hva det er</th><th>Hva det gjør i kjøringen</th></tr>
<tr><td><b>F. Normer og krav</b></td>
<td>håndbøker og vegnormaler som gjelder tiltaket — for tunnelbelysning
f.eks. Håndbok V124 og N500, med paragraf</td>
<td>setter gulvet ingen besparelse kan gå under; hindrer forslag som bryter krav</td></tr>
<tr><td><b>G. Priser og indekser</b></td>
<td>kraftpris og nettleie, prisindekser, markedspriser fra sammenlignbare anbud</td>
<td>gjør enhetsprisen etterprøvbar og prisjusterbar</td></tr>
<tr><td><b>H. Erfaringstall for realisering</b></td>
<td>litteratur og evalueringer om <b>gapet mellom beregnet og faktisk</b> effekt</td>
<td>korrigerer den beregnede besparelsen ned til det som pleier å komme ut</td></tr>
<tr><td><b>I. Produkt- og leverandørdata</b></td>
<td>effekt, levetid, garanti, dokumenterte ytelser</td>
<td>gir parametere til tiltaksnotatene i stedet for antakelser</td></tr>
</table>
<p><b>Kategori H er den som er vanskeligst å skaffe og som betyr mest.</b> Finnes det ingen norsk
måling på ditt område, er det helt i orden å låne et tall fra utenlandsk litteratur — men da skal
det stå uttrykkelig <b>at det er lånt</b>, og fra hva.</p>
<div class="done"><b>Ferdig når</b>
Hvert tall som ikke er målt hos dere, har en <b>navngitt kilde med årstall</b> ved siden av seg —
og det er tydelig merket hva som er eget materiale og hva som er lånt.</div>
</section>
<!-- 8b -->
<section class="slide">
<p class="kicker">Spørsmål 4, fortsatt — nesten det viktigste</p>
<h2>Åpne API-er og MCP-servere: jobben er å peke ut de riktige</h2>
<div class="ask">«Hvilke åpne datakilder bruker fagmiljøet ditt allerede —
og hvilke skulle du ønske du hadde hatt?»</div>
<p>Det tekniske er sjelden flaskehalsen. Det finnes ferdige MCP-servere for en rekke offentlige
norske datakilder, og et hvilket som helst åpent REST-API kan pakkes som én. <b>Det som mangler,
er noen som kan si hvilke kilder som er verdt å koble til.</b> Det er deg.</p>
<h3>Fem spørsmål per kandidatkilde</h3>
<table>
<tr><th>Spør</th><th>Hvorfor det avgjør</th></tr>
<tr><td><b>1.</b> Hvilket tall i regnestykket svarer den på?</td>
<td>En kilde som ikke treffer en kostnadslinje eller en parameter, tilfører støy — ikke presisjon.</td></tr>
<tr><td><b>2.</b> Er den autoritativ for nettopp det tallet?</td>
<td>Ville du sitert den i en rapport? Hvis ikke, skal den ikke ligge til grunn her heller.</td></tr>
<tr><td><b>3.</b> Hvor ofte endrer tallet seg?</td>
<td>Sjelden ⇒ hent på forhånd. I løpet av dager ⇒ argument for oppslag underveis.</td></tr>
<tr><td><b>4.</b> Hvem eier tilgangen, og koster den noe?</td>
<td>Åpent uten nøkkel · åpent med registrering · lukket og krever avtale. Tre helt ulike tidslinjer.</td></tr>
<tr><td><b>5.</b> Hvilken lisens har dataene?</td>
<td>Avgjør om resultatet kan deles videre, og med hvem.</td></tr>
</table>
<h3>To måter en kilde kommer inn — og de er ikke likeverdige</h3>
<table>
<tr><th></th><th>Hent på forhånd</th><th>Slå opp underveis (MCP)</th></tr>
<tr><td><b>Når</b></td><td>før kjøringen</td><td>mens forslaget formes</td></tr>
<tr><td><b>Blir</b></td><td>et dokument i kunnskapsbasen, med opphav og dato</td><td>et verktøy løsningen kan kalle selv</td></tr>
<tr><td><b>Fordel</b></td><td>du kan lese og korrigere dataene <em>først</em></td><td>fanger opp noe som endrer seg</td></tr>
<tr><td><b>Krever</b></td><td>at noen henter uttrekket</td><td>uttrykkelig liste over tillatte oppslag</td></tr>
<tr><td><b>Nettverk under kjøring</b></td><td>null</td><td>ja — og alt navngis på forhånd</td></tr>
</table>
<p><b>Velg «hent på forhånd» når du kan.</b> Det er billigere, det kan kvalitetssikres av et
menneske før det brukes, og det gjør at du etterpå kan si nøyaktig hva en kjøring har rørt.
Uten eksplisitt oppsett gjør en kjøring <b>null</b> nettverkskall.</p>
<div class="done"><b>Ferdig når</b>
Du har en navngitt liste: <b>kilde · hvilket tall den svarer på · hvor ofte det endrer seg ·
hvem som eier tilgangen</b>. Fem treffsikre kilder slår femti mulige.</div>
<div class="note"><b>Advarsel:</b> flere kilder gjør ikke svaret bedre av seg selv. Alt som kobles
til, blir lest. Ti kilder som ikke treffer et tall i regnestykket, koster like mye oppmerksomhet
som ti som gjør det.</div>
</section>
<!-- 9 -->
<section class="slide">
<p class="kicker">Spørsmål 5 av 7</p>
<h2><span class="step">5</span> Hva kan ikke fravikes?</h2>
<div class="ask">«Hvilke krav, nivåer og avtaler er det ingen besparelse som kan gå under —
og avviker noe av det hos dere?»</div>
<p>Rammene er den viktigste halvdelen av anleggsbeskrivelsen. Uten dem foreslår løsningen tiltak
som bryter krav ingen har fortalt den om, og du bruker tid på å avvise det samme igjen og igjen.</p>
<table>
<tr><th>Type ramme</th><th>Utbedring veg</th><th>Tunnel</th></tr>
<tr><td><b>Fagkrav med minstenivå</b></td>
<td>krav til friksjon, jevnhet, sporddybde, siktforhold</td>
<td>lystekniske minstekrav i sonene, luftkvalitetskrav, hysteresetid ved nivåendring</td></tr>
<tr><td><b>Sikkerhetskrav</b></td>
<td>rekkverksklasser, arbeidsvarsling</td>
<td>krav til nødbelysning, ventilasjon ved brann, redundans</td></tr>
<tr><td><b>Antakelser som ikke holder</b></td>
<td>«vi kan ikke forutsette at strekningen kan stenges»</td>
<td>«vi kan ikke forutsette nattstenging for arbeid»</td></tr>
<tr><td><b>Kontraktsbundet</b></td>
<td>driftskontraktens omfang ut avtaleperioden</td>
<td>serviceavtaler, garantibetingelser</td></tr>
<tr><td><b>Budsjett og anskaffelse</b></td>
<td colspan="2">hva som kan bestilles i hvilket år, terskelverdier</td></tr>
</table>
<div class="done"><b>Ferdig når</b>
En fagperson som <em>ikke</em> kjenner anlegget kan lese listen og vite hva som er lov å foreslå.
Er et krav strengere hos dere enn i normen — si det. Det er nøyaktig det du vet og normen ikke sier.</div>
</section>
<!-- 10 -->
<section class="slide">
<p class="kicker">Spørsmål 6 av 7</p>
<h2><span class="step">6</span> Hva er allerede gjort — og hva er allerede vurdert?</h2>
<div class="ask">«Hva er bygget om de siste årene, når, og på hvor stor del av anlegget?
Og har noen vurdert et av disse tiltakene før?»</div>
<p>Løsningen vet ingenting om anlegget utover det kunnskapsbasen sier. Står et gjennomført tiltak
ingen steder, blir det <b>foreslått på nytt</b> — med en besparelse som allerede er tatt ut.</p>
<table>
<tr><th>Du leverer</th><th>Hva det hindrer</th></tr>
<tr><td><b>Gjennomførte tiltak</b> — hva, når, på hvor mye av anlegget</td>
<td>dobbelttelling av en gevinst som allerede er hentet</td></tr>
<tr><td><b>Kostnadstall som viser dagens situasjon</b>, ikke situasjonen før forrige tiltak</td>
<td>at kontrollen avstemmer mot et grunnlag som ikke finnes lenger</td></tr>
<tr><td><b>Tidligere vurderinger</b> — hva fagfolk mente om et forslag, og hvorfor</td>
<td>at samme diskusjon tas om igjen fra null</td></tr>
<tr><td><b>Tiltak som ble forsøkt og ikke virket</b>, med begrunnelse</td>
<td>den dyreste gjentakelsen av alle</td></tr>
</table>
<div class="done"><b>Ferdig når</b>
Ingen i rommet kan peke på et gjennomført tiltak som ikke står i basen, og kostnadstallene
stemmer med det anlegget faktisk bruker i dag.</div>
</section>
<!-- 11 -->
<section class="slide">
<p class="kicker">Spørsmål 7 av 7 — det mest verdifulle</p>
<h2><span class="step">7</span> Hva pleier å skje mellom kalkyle og virkelighet?</h2>
<div class="ask">«Når dere har gjort noe slikt før — hvor mye av den beregnede besparelsen
kom faktisk ut? Og hva var det som spiste resten?»</div>
<p>Kontrollen kan avgjøre om et tall er <b>mulig</b>. Den kan ikke avgjøre om anlegget faktisk
leverer det. Der stopper regnestykket og din erfaring begynner — og det er den <b>eneste</b>
kunnskapen i hele prosessen som ikke kan hentes fra et system.</p>
<p><b>Et godt svar navngir mekanismen, ikke bare tallet.</b> Eksempel fra tunnelbelysning, der
tre kjente mekanismer trekker gevinsten ned:</p>
<table>
<tr><th>Mekanisme</th><th>Hvorfor den spiser gevinst</th></tr>
<tr><td>Påkrevd forsinkelse ved nivåendring</td>
<td>holder anlegget på det <em>høyere</em> nivået gjennom svingninger — asymmetrisk i energi</td></tr>
<tr><td>Den delen av tiltaket som ikke blir implementert</td>
<td>halve gevinsten kan ligge i en del som rutinemessig faller ut av leveransen</td></tr>
<tr><td>Kalibrering med sikkerhetsmargin</td>
<td>systematisk og ensrettet: ingen driftsorganisasjon justerer seg til for lite lys</td></tr>
</table>
<p>De samme spørsmålene på vegsiden: <i>Ble den nye driftsrutinen faktisk fulgt hele vinteren?
Ble tilstandsmålingene brukt til å styre, eller bare rapportert? Hvor mye av tynndekket måtte
gjøres om igjen innen tre år?</i></p>
<div class="done"><b>Ferdig når</b>
Du har sagt, med egne ord: «forvent rundt <b>X</b> prosent av det som er beregnet, fordi <b>Y</b>
Har du et tall fra et eget prosjekt — det er den enkeltleveransen som forbedrer basen mest.
Har du det ikke, si det: et navngitt kunnskapshull er innhold, et oppdiktet tall er forurensning.</div>
</section>
<!-- 12 -->
<section class="slide">
<p class="kicker">Kvalitet</p>
<h2>Fire krav til hvert tall du leverer</h2>
<table>
<tr><th>Krav</th><th>Hvorfor</th></tr>
<tr><td><b>1. Kilde.</b> Hvor kom tallet fra — system, faktura, håndbok, notat?</td>
<td>Et tall uten kilde kan ikke etterprøves, og da kan heller ikke resultatet det.</td></tr>
<tr><td><b>2. Årstall.</b> Hvilket år gjelder det for?</td>
<td>Et beløp uten årstall kan ikke prisjusteres. Da er det ubrukelig, uansett hvor riktig det var.</td></tr>
<tr><td><b>3. Målt eller antatt.</b> Er dette avlest, eller er det anslått?</td>
<td>Begge deler er brukbart. Å forveksle dem er ikke.</td></tr>
<tr><td><b>4. Omfang.</b> Hva dekker tallet — hele anlegget, eller den delen tiltaket treffer?</td>
<td>Feil omfang er den vanligste grunnen til at et riktig tiltak blir avvist.</td></tr>
</table>
<div class="done"><b>Den enkleste formen</b>
Én linje per tall: <code>hva · verdi · enhet · kilde · år · målt/antatt</code>.
Et regneark med de seks kolonnene er en fullgod leveranse.</div>
</section>
<!-- 13 -->
<section class="slide">
<p class="kicker">Fallgruver</p>
<h2>De fem feilene som koster mest</h2>
<ol>
<li><b>Ingen ekte kostnadstall.</b> Kjøringen går, resultatet ser normalt ut, og kontrollen
dømmer bare mot tall forslaget fant på selv. Den dyreste feilen, fordi den er usynlig.</li>
<li><b>Gjennomførte tiltak står ikke i basen.</b> De foreslås på nytt, og besparelsen
dobbelttelles.</li>
<li><b>Utledede tall.</b> Et tall ingen kan peke på en kilde for, forurenser alt som bygger
på det. Mangler et tall, skal det stå som manglende.</li>
<li><b>For mye materiale.</b> Alt som legges inn, leses i sin helhet. Ti sider støy koster like
mye oppmerksomhet som ti sider substans. Lever det som er relevant, ikke alt som finnes.</li>
<li><b>Ingen som dømmer etterpå.</b> Kjøringen produserer et forslag ingen svarer på, og
løsningen lærer ingenting. En base ingen dømmer imot, står stille.</li>
</ol>
</section>
<!-- 14 -->
<section class="slide">
<p class="kicker">Etterpå</p>
<h2>Din dom er produktet — ikke forslaget</h2>
<p>Etter kjøringen får du hvert vurderte tiltak tilbake, ett for ett, med kontrollens begrunnelse.
Du svarer én av tre ting:</p>
<table>
<tr><th>Svar</th><th>Når</th><th>Hva du skriver</th></tr>
<tr><td><b>Godkjent</b></td><td>tallet står seg som det er</td>
<td>kort. En lang begrunnelse for et enkelt ja gir bare støy.</td></tr>
<tr><td><b>Godkjent med korreksjon</b></td><td>regnestykket stemmer, men drift leverer mindre</td>
<td><b>det vanligste ekte svaret</b> — og det som bærer mest læring: hvor mye, og hvorfor.</td></tr>
<tr><td><b>Avvist</b></td><td>virkeligheten rundt tallet holder ikke</td>
<td>hvorfor. «Ikke gjennomførbart» lærer ingenting; «forutsetningen om X holder ikke her, fordi Y» gjør det.</td></tr>
</table>
<p><b>Skriv hvorfor, ikke hva.</b> Begrunnelsen er det eneste som bærer fagkunnskap videre til
neste kjøring — på dette prosjektet og på liknende prosjekter senere.</p>
<div class="note">Et avvist forslag er ikke en feilet kjøring. En avvisning med en god begrunnelse
er ofte mer verdt enn en godkjenning, fordi den lukker en retning for godt.</div>
</section>
<!-- 15 -->
<section class="slide">
<p class="kicker">Ta med denne</p>
<h2>Sjekkliste: dette skaffer du før kjøringen</h2>
<h3>Blokkerende — uten disse kjøres det ikke</h3>
<ul>
<li>Hvilket prosjekt eller anlegg det gjelder, med ett entydig navn</li>
<li>Kostnadslinjene tiltakene kan treffe: <b>mengde × enhetspris</b>, med kilde og årstall</li>
<li>36 hypoteser, hver med én setning om hvorfor</li>
<li>Liste over hva som allerede er gjennomført, med årstall</li>
<li>Kravene som ikke kan fravikes</li>
<li>Navnet på den som skal avgi dommen etterpå</li>
</ul>
<h3>Gjør svaret vesentlig bedre</h3>
<ul>
<li>Objekt- og mengdedata: antall, effekt, alder, tilstand</li>
<li>Driftsprofil: timer, frekvenser, ÅDT, utkallinger</li>
<li>Erfaringstall for realiseringsgrad — eget eller lånt, merket hvilket</li>
<li><b>Navngitte åpne datakilder</b>: hva hver av dem svarer på, og hvem som eier tilgangen</li>
<li>Produkt- og leverandørdata for de aktuelle tiltakene</li>
<li>Tidligere vurderinger, inkludert de som endte i nei</li>
</ul>
<h3>Avklares med den tekniske personen</h3>
<ul>
<li>Hvilke systemer tallene hentes fra, og hvem som henter dem</li>
<li>Om en kilde skal hentes på forhånd eller slås opp underveis</li>
<li>Om noe skal kontaktes under kjøring — og hvem som godkjenner det</li>
</ul>
<div class="done"><b>Realistisk tidsbruk</b>
Én til to uker. Det tunge er ikke teknikken — det er å få tak i kostnadstallene og å få skrevet
ned rammene.</div>
</section>
<nav>
<button id="prev">← Forrige</button>
<button id="next">Neste →</button>
<span id="pos"></span>
</nav>
<script>
const slides = document.querySelectorAll('.slide');
let i = 0;
function show(n) {
i = Math.max(0, Math.min(slides.length - 1, n));
slides.forEach((s, k) => s.classList.toggle('on', k === i));
document.getElementById('pos').textContent = (i + 1) + ' / ' + slides.length;
window.scrollTo(0, 0);
}
document.getElementById('prev').onclick = () => show(i - 1);
document.getElementById('next').onclick = () => show(i + 1);
document.addEventListener('keydown', e => {
if (e.key === 'ArrowRight' || e.key === 'PageDown' || e.key === ' ') show(i + 1);
if (e.key === 'ArrowLeft' || e.key === 'PageUp') show(i - 1);
});
show(0);
</script>
</body>
</html>