clojure-norway

odinodin 2026-03-02T08:06:39.692529Z

morn

2026-03-02T08:13:11.008439Z

mårn

teodorlu 2026-03-02T09:05:18.667159Z

Handlingsrom per beslutningsbyrde / https://mikrobloggeriet.no/doc/enklere-9 En kommentar på https://www.kodemaker.no/blogg/2021-11-mer-mindre/, med argument for at prinsippet gjelder bredere enn kode.

🙌 2
slipset 2026-03-02T09:39:46.579989Z

jeg har ikke nødvendigvis tenkt så mye på dette, men som utviklere argumenterer vi ofte med teknisk opsjonalitet, ie hvis vi gjør dette nå, så får vi disse mulighetene i framtiden. Eksempel. Vi byttet fra Compojure til Reitit. En av opsjonene vi kunne få av dette var at vi kunne inspiserere rute-treet (fordi det nå var data) og gjøre noen form for basic testing av alle endepunkter evt se hvor god testdekning vi hadde av rutetreet. Brukte vi denne opsjonen? Nei.

🎯 1
cjohansen 2026-03-02T09:43:16.366149Z

Vi bruker fortsatt compojure 😄

teodorlu 2026-03-02T09:53:39.377139Z

Vi har et sideregister på innsiden, da. Med data.

(->> kontoret.sider.index/page-vars
     (take 3))
;; => (#'kontoret.sider.adresseskjema.page/page
;;     #'kontoret.sider.adressevaskside.page/page
;;     #'kontoret.sider.driftside.page/page)

(->> kontoret.sider.index/page-vars
     first
     deref)
;; => {:id :pages/adresseskjema,
;;     :client-module :kontoret,
;;     :layout
;;     {:render #'matnyttig.ui.layouts/render-app-layout,
;;      :data-requests
;;      [{:feed
;;        [:feed/personalia
;;         {:bruker/id [:ring/request :sesjon/aktiv-bruker :bruker/id]}],
;;        :as :bruker}
;;       {:feed
;;        [:feed/brukers-features
;;         {:bruker/id [:ring/request :sesjon/aktiv-bruker :bruker/id]}]}]},
;;     :required-permissions #{:rettighet/føre-tilsyn},
;;     :render #'kontoret.sider.adresseskjema.ui/render,
;;     :route ["adresseskjema"],
;;     :data-defining-params #{}}

eaj 2026-03-02T14:21:52.890059Z

Jeg tror handlingsrom vs. beslutningsbyrde er et godt mål. Å ta et valg gir per definisjon mindre handlingsrom, men å ta feil valg kan innsnevre handlingsrommet såpass mye at å få til det du egentlig prøver på plutselig blir kjempevanskelig. Minner meg om https://www.kodemaker.no/blogg/2021-04-21-lag-ditt-eget-rammeverk/: Får håpe du liker valgene som allerede er blitt tatt for deg!

🎯 1
teodorlu 2026-03-02T15:15:39.925609Z

med et eget rammeverk, kan man også legge til rette for at ny kode man skriver ikke ta valg! Ingen beslutningsbyrde når man ikke må ta valg.

hypirion 2026-03-02T09:23:18.117469Z

Morn!

Sardtok 2026-03-02T09:24:42.048519Z

Go'mørning!

😁 1
cjohansen 2026-03-02T09:26:47.560529Z

Morn!

oms 2026-03-02T09:40:06.430439Z

Morn!

Zeniten 2026-03-02T12:16:01.618469Z

Morn!

eaj 2026-03-02T06:43:25.106349Z

God morgen!

slipset 2026-03-02T06:49:36.811729Z

Mrn. I går lærte jeg om Littles Law. For dem som driver med PR’er er det ganske kult. Den sier basically at throughput = (work in progress)/cycle time. Dette betyr altså at hvis du vil øke throughput, så må du enten ha mer wip eller kortere cycle time. I en PR verden så kan man se på throughput som antall PR’er merger til master, og cycle time som tiden fra PR’en blir åpnet til den blir merget. Så, bruker man lang tid i review prosessen, er det nesten umulig å få høy throughput uten å jobbe på ørten ting samtidig. Og da er det vel akkurat på tide at @christian767 våkner og sier at hvis du merger rett til master så er cycle time i PR prosessen 0 og throughout går mot uendelig. Og for dem som synes at dette føles litt som essensen i the Goal, så tror jeg det er helt riktig.

slipset 2026-03-05T08:29:56.993819Z

Dette er tre ulike personer, ja

👍 1
cjohansen 2026-03-02T08:29:40.312099Z

Min første tanke halvveis inn i første setning var "Dette er jo The Goal!" 😄 Så, en rett på den.

cjohansen 2026-03-02T08:29:48.569579Z

Min neste tanke var "Slutt med PR" 😂

cjohansen 2026-03-02T08:30:47.780189Z

Å jobbe rett på main gir deg ikke uendelig med throughput, men du fjerner seremoni og koordinering rundt "review" som forsinkende ledd. Så du kommer nærmere den faktiske throughputen folka dine har.

🎯 3
➕ 1
teodorlu 2026-03-02T08:39:09.724829Z

Kostnaden av WIP øker også over tid. Samme dag koster 100 linjer WIP-kode 1 penge. Morgenen etter koster de samme 100 linjene 1.2 penger. På ettermiddagen koster de 1.5 penger.

💯 3
cjohansen 2026-03-02T08:40:14.251769Z

Det er et veldig godt poeng!

cjohansen 2026-03-02T08:40:28.081529Z

Forståelsen av koden er mye mer ferskvare enn deler produsert i en fabrikk.

1
eaj 2026-03-02T09:12:25.925659Z

Selv om jeg liker tanken på at noen åpner en varmeovn hvor herdingsprosessen var ferdig i går en gang, og nå må bruke mye tid på å finne ut hvem sine deler er dette, og hva er de egentlig til?

😁 1
😄 1
cjohansen 2026-03-02T09:14:37.254119Z

Fint bilde! 😊

isak 2026-03-03T15:57:09.092049Z

@teodorlu kan du forklare det med WIP kostnader?

teodorlu 2026-03-04T07:49:06.632759Z

Jo lenger du lar uferdig arbeid ligge, jo dyrere blir kostnaden. Det er uferdig, og du må jobbe jobbe deg rundt at det er uferdig. @isak var det det du lurte på?

isak 2026-03-04T14:58:19.762159Z

@teodorlu ja. ok - fair.

teodorlu 2026-03-04T15:17:08.647969Z

På jobb er vi en del som har lest The Goal av Elyahu Goldratt, 1984. Boka er en historie om en person som jobber med forbedring av en fabrikken, og tittelen henviser til målet når man skal lage fabrikk, > maximize throughtput while minimizing inventory and operational cost På norsk oversetter jeg det til > maksimer gjennomstrømning mens du minimerer uferdig arbeid og operasjonell kostnad Når funksjonalitet i et produkt er gjennomstrømningen, er uferdig funksjonalitet uferdig arbeid, og prisen på utviklere og systemer operasjonell kostnad. Så det er fabrikk-metaforen igjen! Og fabrikk-metaforen er super for å "holde ting enkelt og nå målet" (minimer beslutningsbyrde), men passer ikke like supert når vi skal ut og utforske nye ting (lage nytt handlingsrom).

👍 1
eaj 2026-03-04T15:24:37.022759Z

Jeg synes oversettingen inventory → uferdig arbeid taper litt av den opprinnelige konteksten, og stemmer for varelager. Det er ikke bare uferdig funksjonalitet som medfører en kostnad, men også ferdig funksjonalitet som ingen bruker.

👍 1
teodorlu 2026-03-04T15:29:04.480579Z

Enig! Spurte nettopp sidemannen om en oversettelse, men vi kom ikke på noe bra. Så "løsningen" ble å skrive på norsk og engelsk 😂

isak 2026-03-04T15:54:20.366379Z

Jeg har lest den også, fin den. Med WIP og grener, PRs osv i programmering så tenker jeg mest på cognitive load. Det å holde et system i hodet er vannskelig nok, men når du ganger det med flere grener, versjoner, osv. blir det ganske tungt.

🎯 2
isak 2026-03-04T16:01:54.541459Z

+ context switching kostnader

👍 1
teodorlu 2026-03-04T16:11:13.835519Z

nettopp. Alt av "rusk" mellom de mentale tannhjulene som ødelegger og distraherer.

👍 1
slipset 2026-03-04T18:16:46.403709Z

Vi har claudet litt rundt dette på jobben. Og ja, vi bruker PR’er og sånt Men det er artig her å se hvor varelageret blir stående for ulike utviklere

🔥 1
teodorlu 2026-03-04T22:25:50.062729Z

Er venstre og høyre to forskjellige personer?

msolli 2026-03-02T07:12:10.365959Z

Morn!

boosja 2026-03-02T07:14:18.691449Z

Morn!

teodorlu 2026-03-02T07:16:05.015819Z

morn!

mokr 2026-03-02T07:19:18.971169Z

Morn!

teodorlu 2026-03-02T07:19:22.444479Z

> Og da er det vel akkurat på tide at @ cjohansen våkner og sier at hvis du merger rett til master så er cycle time i PR prosessen 0 og throughout går mot uendelig. Vi er nok ikke helt på 0 WIP. Tanker må tenkes, og commits lever på utviklermaskinene før push. Men vi slipper i alle fall litt mental sjonglering om "alternative virkeligheter i åpne PR-er".