diff --git a/README.md b/README.md index 9a33613..afe53f8 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Every organization has a strategy. Few manage to turn it into goals that teams actually work toward. -OKR (Objectives and Key Results) is a proven framework for that translation — used by Google, Intel, and increasingly by Norwegian public sector organizations like NAV and FINN.no. But adopting OKR is hard. The methodology sounds simple ("write inspiring goals with measurable results") until you try it. Then you hit real questions: +OKR (Objectives and Key Results) is a proven framework for that translation — used by Google and Intel, and documented in Norwegian practice: Digdir runs OKR in its product delivery model, NAV product teams use it at team level, Oslo Origo built and open-sourced its own OKR tracker, and FINN.no has more than six years of it. Every adopter named here has a public source in `skills/okr-offentlig-sektor/references/okr-sources.md` § 4; organizations we could not source are not named. But adopting OKR is hard. The methodology sounds simple ("write inspiring goals with measurable results") until you try it. Then you hit real questions: - *How do we connect our OKR to the goals in our tildelingsbrev?* - *What's a good Key Result vs. just an activity disguised as one?* @@ -147,7 +147,7 @@ Drop documents — tildelingsbrev PDFs, virksomhetsplan docx, meeting notes — > /okr:freshen-references ``` -`/okr:help` lists all 14 commands, 7 agents, and a recommended workflow keyed to where you are in the tertial cycle. `/okr:freshen-references` is a knowledge-base self-evaluator: it scores the 16 domain reference files against an anchored quality rubric and polls named public sources (UN EGDI, EU eGov Benchmark, OECD DGI, Digdir, WCAG, forvaltningsloven) to flag outdated `Sist oppdatert` markers. +`/okr:help` lists all 14 commands, 7 agents, and a recommended workflow keyed to where you are in the tertial cycle. `/okr:freshen-references` is a knowledge-base self-evaluator: it scores 16 of the 17 domain reference files against an anchored quality rubric — the quality rubric itself is excluded, since scoring the scoring instrument is circular — and polls named public sources (UN EGDI, EU eGov Benchmark, OECD DGI, Digdir, WCAG, forvaltningsloven) to flag outdated `Sist oppdatert` markers. --- diff --git a/agents/kaskadebygger-agent.md b/agents/kaskadebygger-agent.md index f0c781a..ea1fe12 100644 --- a/agents/kaskadebygger-agent.md +++ b/agents/kaskadebygger-agent.md @@ -30,13 +30,22 @@ Du er en ekspert på å kaskadere OKR mellom organisasjonsnivåer og sikre verti Org-kontekst kan være sendt med i Task-prompten fra den kallende kommandoen — bruk den hvis den finnes. Hvis ikke, les prosjekt-lokal `.claude/okr.local.md` (relativt til brukerens prosjekt-cwd) direkte. Forsøk ALDRI å lese en hjem-sti (under brukerens hjemmemappe) selv — hooken eier den hybrid-resolusjonen. Finnes ingen org-kontekst: fortsett uten — ikke feil. -## Kaskaderingsprinsipp +## Kaskaderingsprinsipp: align, don't cascade + +Mekanisk kaskadering (hvert nivå kopierer nivået over; org-KR blir automatisk teamets +Objective) er forlatt som hovedstrømsråd — den gir rigiditet, mikrostyring og tap av +eierskap. Bygg **alignment via lineage**: teamet formulerer egne OKR som *bidrar til* +de overordnede målene, og du gjør bidraget sporbart. ``` -Organisasjon KR → Team Objective → Team KR +Organisasjon KR → (lineage) → Team Objective → Team KR ``` -**Viktig**: Et overordnet Key Result blir ofte teamets Objective, ikke en direkte kopi. +- Et overordnet KR er **input til** teamets Objective — det omformuleres, kopieres ikke. +- Team-KR måler teamets eget bidrag, ikke org-nivåets måltall om igjen. +- Kan teamet ikke påvirke et org-KR: rapporter **ingen kobling** som gap. Ikke konstruer + et bidrag for å fylle hullet. +- Aldri individ-OKR — kaskaden stopper på teamnivå. ## Din oppgave @@ -51,7 +60,7 @@ Organisasjon KR → Team Objective → Team KR - Unngå overlapp med andre team 3. **Bygg team-OKR**: - - Overordnet KR → Team Objective + - Overordnet KR → teamet omformulerer til sitt eget Objective (ikke en kopi) - Team definerer egne KR som måler deres bidrag - Behold outcome-fokus (ikke aktiviteter) diff --git a/commands/kaskade.md b/commands/kaskade.md index 1d7d6d9..1c004f2 100644 --- a/commands/kaskade.md +++ b/commands/kaskade.md @@ -1,7 +1,7 @@ --- name: okr:kaskade description: Kaskader OKR fra organisasjon til team og visualiser alignment -allowed-tools: Read, AskUserQuestion, Task +allowed-tools: Read, AskUserQuestion, Task, Glob argument-hint: "[overordnet OKR eller team]" --- @@ -11,21 +11,41 @@ Hjelp brukeren med å kaskadere OKR fra organisasjonsnivå til team, og sikre al ## Kontekstbevissthet -OKR-kontekst injiseres automatisk via hook. Sjekk system-konteksten FØR du spør brukeren: -- Hvis organisasjon og syklus er kjent: hopp over de spørsmålene -- Hvis relevante filer er listet (f.eks. `.claude/okr/syklus/T1-2026/okr-teamet.md`): - les den filen direkte i stedet for å be brukeren lime inn innhold -- Hvis `.claude/okr/strategisk-kontekst/` inneholder relevante docs: les dem -- Hvis org-OKR allerede finnes i `.claude/okr/strategisk-kontekst/overordnede-okr.md` - (fra system-kontekst), les den. Hopp over spørsmålet om org-OKR. +Hooken for-injiserer ikke lenger en fil-liste — den emitterer kun kjerne-profil ++ en peker til wikien. Oppdag kaskade-konteksten direkte fra disk FØR du spør brukeren: +- Glob `.claude/okr/strategisk-kontekst/overordnede-okr.md` — finnes den, les den + direkte som kaskadens øverste nivå i stedet for å be brukeren lime inn org-OKR. +- Glob `.claude/okr/syklus/*/` for eksisterende team-OKR. Både gaps (org-KR uten + team-støtte) og orphans (team-OKR uten org-kobling) krever begge sider. +- Glob `.claude/okr/strategisk-kontekst/tildelingsbrev-*.md` når org-OKR mangler — + styringskravene er da det øverste nivået å koble mot. +- Trenger du bredere kontekst fra brukerens wiki, invoker `okr-second-brain-search`. +- Kjenner du allerede organisasjon og syklus fra kjerne-profilen: hopp over de spørsmålene. -## Kaskaderingsprinsipp +## Kaskaderingsprinsipp: align, don't cascade + +Mekanisk kaskadering — der hvert nivå kopierer nivået over, og et KR automatisk blir +neste nivås Objective — er forlatt som hovedstrømsråd: den gir rigiditet, mikrostyring +og tap av eierskap i teamet. Anbefalingen er **alignment via lineage**: teamet +formulerer sine EGNE OKR som *bidrar til* de overordnede målene, og lineage-en gjør +bidraget sporbart. ``` -Organisasjon KR → Team Objective → Team KR +Organisasjon KR → (lineage) → Team Objective → Team KR ``` -Et overordnet Key Result blir (ofte) et underliggende teams Objective. Teamets Key Results viser teamets unike bidrag. +Bruk mønsteret som utgangspunkt for samtalen, ikke som avledningsregel: +- Et overordnet KR er **input til** teamets Objective — teamet omformulerer det til + noe de selv eier og forstår. Ikke en kopi. +- Team-KR måler teamets eget bidrag, ikke org-nivåets måltall om igjen. +- Kan teamet ikke påvirke et org-KR: riktig svar er **ingen kobling** (rapporter det + som gap), ikke et konstruert bidrag. +- Aldri individ-OKR — kaskaden stopper på teamnivå. Se + `${CLAUDE_PLUGIN_ROOT}/skills/okr-offentlig-sektor/references/individual-vs-team-okr.md`. + +Norsk praksis peker samme vei: NAVs produktteam får Objectives fra produktleder, men +omformulerer dem til noe teamet kan bruke, og setter Key Results i fellesskap +(`okr-sources.md` § 4). ## Arbeidsflyt @@ -44,8 +64,8 @@ Et overordnet Key Result blir (ofte) et underliggende teams Objective. Teamets K - Unngå overlapp med andre team 4. **Bygg team-OKR**: - - Org KR → teamets Objective (gjør inspirerende) - - Team-KR = spesifikke bidrag + - Org KR → teamet omformulerer til sitt eget Objective (inspirerende, ikke en kopi) + - Team-KR = teamets spesifikke bidrag - Behold outcome-fokus 5. **Visualiser alignment**: diff --git a/skills/okr-offentlig-sektor/references/okr-sources.md b/skills/okr-offentlig-sektor/references/okr-sources.md index 7af48ed..8cafd67 100644 --- a/skills/okr-offentlig-sektor/references/okr-sources.md +++ b/skills/okr-offentlig-sektor/references/okr-sources.md @@ -217,6 +217,16 @@ Viktig forskning på hvordan OKR fungerer i team-kontekst. --- +### NAV — OKR på produktteam-nivå (statlig etat) + +**Kontekst:** NAVs egen produktblogg beskriver hvordan et produktteam bruker OKR til å prioritere oppgaver og kommunisere ut av teamet. Objectives settes først av produktleder sammen med teameierne, men **omformuleres av teamet** til noe de forstår og kan bruke i det daglige; Key Results settes av hele teamet. Dokumentasjonen gjelder team-/produktnivå — **etatsnivå-OKR er ikke dokumentert**. + +**Lærdom:** Et konkret norsk eksempel på «align, don't cascade»: retningen kommer ovenfra, men eierskapet — formuleringen og målepunktene — ligger i teamet. + +**Kilde:** [aksel.nav.no – produktbloggen: «Hvordan produktstrategien samler teamet vårt»](https://aksel.nav.no/produktbloggen/hvordan-produktstrategien-samler-teamet-vart) (first-party). *Provenans: first-party.* + +--- + ### Oslo kommune (Origo) — egen OKR-tracker (kommunal) **Kontekst:** Oslo Origo, Oslo kommunes digitale byrå, bruker OKR for sine team og har bygget — og åpen-kildekode-publisert — sitt eget OKR-verktøy («OKR-tracker»). @@ -385,6 +395,31 @@ Norskutviklet OKR-plattform, integrert med Microsoft 365. --- +## 7. Alternative og supplerende rammeverk + +Disse er ikke OKR, men brukes ofte ved siden av — og forveksles jevnlig i litteraturen. +Attribusjonen under er verifisert mot primærkilde. + +### NCT (Narrative, Commitments, Tasks) + +**Kontekst:** Mål-rammeverk for produktteam, lansert av **Ravi Mehta** (tidligere Entrepreneur in Residence i Reforge, som dekker NCT i sitt Product Leadership-program). Narrative = 1–3 setninger om hva teamet vil oppnå i perioden og hvorfor det betyr noe; Commitments = 3–5 objektivt målbare mål teamet forplikter seg til; Tasks = arbeidet som kan kreves for å innfri dem. + +**Attribusjon — vanlig feil:** NCT stammer fra Mehta/Reforge, **ikke** fra 2. utgave av Wodtkes *Radical Focus*. Ser du den koblingen i en kilde, er kilden feil. + +**Lærdom:** NCT-ens poeng er den eksplisitte strategiske konteksten (narrativet) som OKR-formatet ikke har plass til. I offentlig sektor dekkes tilsvarende behov av tildelingsbrev-koblingen — se `okr-offentlig-governance.md`. + +**Kilde:** [Ravi Mehta – An alternative to OKRs](https://www.ravi-mehta.com/an-alternative-to-okrs-how-to-set-and-achieve-ambitious-goals/) (first-party); [Reforge – 5 Frameworks for Setting Better Product Goals](https://www.reforge.com/blog/product-goal-setting-frameworks). *Provenans: first-party + utgiver.* + +### Evidence-Based Management (EBM), Scrum.org — 2024-revisjonen + +**Kontekst:** EBM måler organisatorisk verdi gjennom fire Key Value Areas: Current Value, Unrealized Value, Time-to-Market og Ability-to-Innovate. **Referer alltid 2024-guiden.** Grunnbegrepene (de tre målnivåene og de fire KVA-ene) er uendret fra forrige utgave; det som er nytt i 2024 er (1) en eksplisitt kobling mellom KVA-ene og måletypene **Input, Activity, Output, Outcome, Impact**, (2) at Input og Impact nå er listet som egne måletyper, og (3) klargjorte KVA-beskrivelser. + +**Lærdom:** Måletype-skillet Output vs. Outcome vs. Impact er direkte overførbart til KR-kvalitet — det er samme skille `/okr:kvalitet` scorer på Outcome-dimensjonen. + +**Kilde:** [Scrum.org – EBM Guide 2024: What's New](https://www.scrum.org/resources/blog/evidence-based-management-guide-2024-whats-new) (first-party); [EBM-guiden](https://www.scrum.org/resources/evidence-based-management) (first-party). *Provenans: first-party.* + +--- + ## Bruk i skillen Når brukeren spør "Hvor kan jeg lære mer om OKR?", kan du referere til denne filen og anbefale: @@ -396,4 +431,4 @@ Når brukeren spør "Hvor kan jeg lære mer om OKR?", kan du referere til denne --- -*Sist oppdatert: Januar 2026* +*Sist oppdatert: Juli 2026*