Ændringslog
Væsentlige ændringer i bogen og dens værktøj. De nyeste poster står øverst. Datoer bruger ISO 8601 (ÅÅÅÅ-MM-DD).
[Unreleased]
Changed
- Tilføjede
id-idogit-itsom identiske kopier afid-001ogit-001, koblet ind på sitet og serveret på/id-id/og/it-it/. - Site:
is-is,nl-nlogsv-seer nu koblet ind og serveret på/is-is/,/nl-nl/og/sv-se/, ved siden af deres-001-kopier. - Tilføjede swahili (Tanzania) som
sw-tz, en identisk kopi afsw-001med tilsvarende.locale-peer-id-sidefiler og sin egensitemap.xml.sw-tzer koblet ind på sitet og serveret på/sw-tz/. - Tilføjede italiensk (
it-001) som den 34. komplette oversatte lokalitet: alle 63 emner og alle andre afsnit, med tilsvarende.locale-peer-id-sidefiler.it-001er koblet ind på sitet og serveret på/it-001/. - Tilføjede swahili (
sw-001) som den 33. komplette oversatte lokalitet: alle 63 emner og alle andre afsnit, med tilsvarende.locale-peer-id-sidefiler.sw-001er koblet ind på sitet og serveret på/sw-001/. - Tilføjede islandsk (
is-is) ogis-001som den 31. og 32. komplette oversatte lokalitet: alle 63 emner og alle andre afsnit, med tilsvarende.locale-peer-id-sidefiler, hvoris-001har samme indhold somis-is.is-001er koblet ind på sitet og serveret på/is-001/. - Site: rodsidens omdirigering efter browserens sprog falder nu tilbage til sprogets internationale overmængde, når der ikke er et præcist match:
en-AUgår til/en-001/,es-MXtil/es-001/ogzh-TWtil/zh-001/. En alias-URL som/en/hopper ikke længere videre til/en-001/via lokalitetsvælgeren.
Added
spec/locales.mdkræver nu, at hver mappe underlocales/hedder<language>-<region>; rene to-bogstavsnavne er kun alias for site-URL’er, ogtests/validate.pyhåndhæver det. Der fandtes ingen to-bogstavsmappe, så intet blev slettet.- Tilføjede svensk (
sv-001) som den 30. komplette oversatte lokalitet: alle 63 emner og alle andre afsnit, med tilsvarende.locale-peer-id-sidefiler, med samme indhold somsv-se. Koblet ind på sitet og serveret på/sv-001/(alias/sv/). - Tilføjede japansk (
ja-001), koreansk (ko-001) og nederlandsk (nl-001) som den 27. til 29. komplette oversatte lokalitet: alle 63 emner og alle andre afsnit, med tilsvarende.locale-peer-id-sidefiler, med samme indhold somja-jp,ko-krognl-nl. Koblet ind på sitet og serveret på/ja-001/,/ko-001/og/nl-001/(aliasser/ja/,/ko/og/nl/).
Added
- Oversatte afsnittene forord, eksempler, bidrag og projekt (14 filer, plus en ændringslog, en forside
index.mdog en indholdsfortegnelse pr. lokalitet) til hver oversat lokalitet:ar,bn,cy,de,es,fr,hi,id,ja,ko,nl,pt,ru,sv,urogzh, hvor lokaliteter i dublettpar (ar-001/ar-egog så videre) holdes identiske. Mapper bruger navnene pr. lokalitet ispec/section-names.json. Det nyetools/gen_translated_nav.pyopdaterer hver oversat forside og indholdsfortegnelse ud fra emnetitlerne,tests/validate.pyundtager de oversatte dokumenter om test, stilregler og indeks efter peer-id, og sitetsscripts/sync-content.mjsafbilder oversatte filnavne i disse afsnit tilbage til deres kanoniske engelske navne via sidefilerne.locale-peer-id.
Changed
- Nederlandsk (
nl-nl): oversatte de resterende engelske titler og slugs for emnerne 9.0, 9.3 og 9.4 (bijlagen,controlelijsten,sjablonen). - Walisisk (
cy-001,cy-gb): terminologien blev afstemt med TermCymru:risg(risiko, i stedet forperygl, med kønsbøjning),cyfnewidiad(afvejning),dangosydd rhagfynegiogdangosydd ôl-fynegi(førende og bagudrettet indikator, i stedet forhwyrfrydig),cynhwysedd(kapacitet),dosraniad(fordeling),cydberthynas(korrelation),allbwnfor output i emne 1.3 ogcyfradd gadael staff(medarbejderafgang). Fire emneslugs blev omdøbt, så de passer. - Site: opgraderede
@lilydesignsystem/svelte-picker-bartil 0.2.0, som tilføjer en søgevælger til headerlinjen; den sender til den eksisterende sitesøgning på/?<query>. - Tilføjede
scripts/generate-sitemap.mjs, kørt til sidst ipnpm build, som skriversitemap.xmlud fra de forudgengivne sider (kun kanoniske lokalitets-URL’er, ingen dubletter med to-bogstavsaliasser), så linjenSitemap:irobots.txtkan løses. AGENTS.mder nu et kort indeks; detaljerne flyttede tilAGENTS/layout.md,style.md,locales.mdogworkflow.md.- Dokumentationsgennemgang: opdaterede
AGENTS.md,index.md, den genererede README-lokalitetstekst,spec/index.md,spec/locales.mdog sitetsAGENTS.mdogREADME.mdtil 27 lokaliteter, mappenavne pr. lokalitet og det nye værktøj; tilføjedeCLAUDE.md(en henvisning tilAGENTS.md); rettede de forældededocs/-stier i begge agentfærdigheder og gjordeskills/til den kanoniske kopi af.claude/skills/(kontrolleret af testene). - Tilføjede
llms.txtogllms.json(et indeks til AI-agenter over hver serveret lokalitet og hvert emne) til sitetsstatic/, genereret aftools/gen_llms.py(just llms) og kontrolleret af testene. - Sitets forside: listen med “ni dele”-fliser er nu en indlejret liste, “Contents”, over alle dele og emner, og afsnittet “Goodharts lov, overalt” er fjernet.
- Ændrede “kapitel” til “emne” i hele bogens brødtekst i hver lokalitet (for eksempel “emne 2.1”, “Emner i denne del”), med hvert sprogs eget ord for emne (
tema,sujet,Thema,тема,主題og så videre), og i specifikationen, værktøjernes genererede tekst og sitets grænsefladestrenge. Filnavne, URL’er og afsnitsnøglerne er uændrede. - Oversatte hvert mappenavn for afsnit under
locales/:chapters/er nutopics/(og dets oversættelse i hver anden lokalitet, f.eks.temas/,sujets/,themen/), oges-001sexamples/erejemplos/. Navnene findes ispec/section-names.json; værktøjerne, testene og sitets indholdssynkronisering læser dem derfra, og sitets URL’er er uændrede.
Changed
- Reviderede de walisiske lokaliteter (
cy-001,cy-gb, holdt identiske) mod den walisiske regerings terminologiliste TermCymru:llesiantfor trivsel,cynhyrchiantfor produktivitet,gwendid/gwendidaufor sårbarhed,llywodraethiantfor styring,cydberthynasfor korrelation,ôl-groniadfor backlog (tidligere lader stå på engelsk),cost a buddfor cost-benefit ogdeallusrwydd artiffisial (AI)ved første omtale af AI i hvert emne.
Added
- Tilføjede tysk (
de-001) som den 26. komplette oversatte lokalitet: alle 63 emner med tilsvarende.locale-peer-id-sidefiler, med samme indhold somde-de. Koblet ind på sitet og serveret på/de-001/(alias/de/). - Tilføjede portugisisk (
pt-001) som den 25. komplette oversatte lokalitet: alle 63 emner med tilsvarende.locale-peer-id-sidefiler, med samme indhold sompt-pt. Koblet ind på sitet og serveret på/pt-001/(alias/pt/). - Gennemførte en komplet håndoversættelse fra bunden af alle 63 emner til urdu (
ur-001, højre mod venstre), den 24. komplette oversatte lokalitet, med tilsvarende.locale-peer-id-sidefiler. Hvert emne blev oversat direkte fra den engelske kilde, indekset (emne 9.7) afbilder hvert internt link til dets urdu-filnavn, og afsnitsmappen erموضوعات. Koblet ind på sitet og serveret på/ur-001/(alias/ur/). - Gennemførte en komplet håndoversættelse fra bunden af alle 63 emner til indonesisk (
id-001), med tilsvarende.locale-peer-id-sidefiler. Der fandtes ingen tidligere indonesisk lokalitet at bygge videre på, så hvert emne blev oversat direkte fra den engelske kilde, og indekset (emne 9.7) afbilder hvert internt link til dets indonesiske filnavn. Koblet ind på sitet og serveret på/id-001/(alias/id/). - Tilføjede russisk (
ru-001) og kinesisk (zh-001) som den 21. og 22. komplette oversatte lokalitet: alle 63 emner hver, med tilsvarende.locale-peer-id-sidefiler, med samme indhold somru-ruogzh-cn. Koblet ind på sitet og serveret på/ru-001/og/zh-001/(aliasser/ru/og/zh/). - Tilføjede fransk (
fr-001) som den 20. komplette oversatte lokalitet: alle 63 emner med tilsvarende.locale-peer-id-sidefiler, med samme indhold somfr-fr. Koblet ind på sitet og serveret på/fr-001/(alias/fr/). - Tilføjede bengali (
bn-001) som den 19. komplette oversatte lokalitet: alle 63 emner med tilsvarende.locale-peer-id-sidefiler, med samme indhold sombn-bd. Koblet ind på sitet og serveret på/bn-001/(alias/bn/). - Tilføjede arabisk (
ar-001) som den 18. komplette oversatte lokalitet: alle 63 emner med tilsvarende.locale-peer-id-sidefiler, med samme indhold somar-eg. Koblet ind på sitet og serveret på/ar-001/(alias/ar/). - Tilføjede walisisk, Storbritannien (
cy-gb) som den 17. komplette oversatte lokalitet: alle 63 emner med tilsvarende.locale-peer-id-sidefiler, med samme indhold somcy-001(samme forhold somhi-idhar tilhi-001). Koblet ind i sitetsSERVED_LOCALE_CODESog serveret på/cy-gb/. - Gennemførte en komplet håndoversættelse fra bunden af alle 63 emner til nederlandsk, Nederlandene (
nl-nl), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Der fandtes ingen tidligere nederlandsk lokalitet at bygge videre på, så hvert emne blev oversat direkte fra den engelske kilde. Indekset (emne 9.7) afbilder hvert internt emnelink til dets nederlandske filnavn, efter samme fremgangsmåde som forar-eg,bn-bd,ko-kr,es-es,pt-pt,ja-jp,ru-ru,fr-frogsv-se. Endnu ikke koblet ind på sitet. - Gennemførte en komplet håndoversættelse fra bunden af alle 63 emner til svensk, Sverige (
sv-se), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Der fandtes ingen tidligere svensk lokalitet at bygge videre på, så hvert emne blev oversat direkte fra den engelske kilde. Indekset (emne 9.7) afbilder hvert internt emnelink til dets svenske filnavn, efter samme fremgangsmåde som forar-eg,bn-bd,ko-kr,es-es,pt-pt,ja-jp,ru-ruogfr-fr. Endnu ikke koblet ind på sitet. - Gennemførte en komplet håndoversættelse fra bunden af alle 63 emner til fransk, Frankrig (
fr-fr), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Der fandtes ingen tidligere fransk lokalitet at bygge videre på, så hvert emne blev oversat direkte fra den engelske kilde. Indekset (emne 9.7) afbilder hvert internt emnelink til dets franske filnavn, efter samme fremgangsmåde som forar-eg,bn-bd,ko-kr,es-es,pt-pt,ja-jpogru-ru. Endnu ikke koblet ind på sitet. - Gennemførte en komplet håndoversættelse fra bunden af alle 63 emner til russisk, Rusland (
ru-ru), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Der fandtes ingen tidligere russisk lokalitet at bygge videre på, så hvert emne blev oversat direkte fra den engelske kilde. Indekset (emne 9.7) afbilder hvert internt emnelink til dets russiske filnavn, efter samme fremgangsmåde som forar-eg,bn-bd,ko-kr,es-es,pt-ptogja-jp. Endnu ikke koblet ind på sitet. - Gennemførte en komplet håndoversættelse fra bunden af alle 63 emner til japansk, Japan (
ja-jp), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Der fandtes ingen tidligere japansk lokalitet at bygge videre på, så hvert emne blev oversat direkte fra den engelske kilde. Indekset (emne 9.7) afbilder hvert internt emnelink til dets japanske filnavn, efter samme fremgangsmåde som forar-eg,bn-bd,ko-kr,es-esogpt-pt. Endnu ikke koblet ind på sitet. - Gennemførte en komplet håndoversættelse fra bunden af alle 63 emner til portugisisk, Portugal (
pt-pt), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Der fandtes ingen tidligere portugisisk lokalitet at bygge videre på, så hvert emne blev oversat direkte fra den engelske kilde. Indekset (emne 9.7) afbilder hvert internt emnelink til dets portugisiske filnavn, efter samme fremgangsmåde som forar-eg,bn-bd,ko-kroges-es. Endnu ikke koblet ind på sitet. - Tilføjede spansk, Spanien (
es-es) som en komplet oversat lokalitet, alle 63 emner, med udgangspunkt i en kopi af den eksisterende spanske (es-001) oversættelse (som ved gennemsyn viste sig allerede at være grammatisk neutral, med ordforråd, der for det meste allerede læner sig mod Spanien) og derefter en målrettet terminologigennemgang for de resterende mindretalsanvendelser, især “incidente” til “incidencia” for denne bogs domæne om hændelsesmetrikker, med tilsvarende rettelser af kønsbøjning overalt. Endnu ikke koblet ind på sitet. - Gennemførte en komplet håndoversættelse af alle 63 emner til koreansk, Korea (
ko-kr), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Indekset (emne 9.7) afbilder hvert internt emnelink til dets koreanske filnavn, efter samme fremgangsmåde som forar-egogbn-bd. Endnu ikke koblet ind på sitet. - Tilføjede hindi, Indien (
hi-id) som en komplet oversat lokalitet, alle 63 emner, ved at kopiere den eksisterende hindi-oversættelse (hi-001) ordret under den landemærkede lokalitetskode, da standardhindi ikke har nogen særskilt indisk variant, der skal oversættes for sig. Endnu ikke koblet ind på sitet. - Gennemførte en komplet håndoversættelse af alle 63 emner til bengali, Bangladesh (
bn-bd), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Endnu ikke koblet ind på sitet. - Gennemførte en komplet håndoversættelse af alle 63 emner til arabisk, Egypten (
ar-eg), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Endnu ikke koblet ind på sitet. - Gennemførte en komplet håndoversættelse af alle 63 emner til tysk, Tyskland (
de-de), med tilsvarende.locale-peer-id-sidefiler og beståetjust test. Endnu ikke koblet ind på sitet. - Gennemførte komplette håndoversættelser af alle 63 emner til tre lokaliteter: walisisk (
cy-001), kinesisk (zh-cn) og hindi (hi-001), hver med tilsvarende.locale-peer-id-sidefiler og beståetjust test. - Tilføjede yderligere to planlagte oversatte lokaliteter, walisisk, Storbritannien (
cy-gb) og kinesisk (zh-001), tilspec/locales-for-global-sharing-with-svelte/locales.tsvogspec/locales.md(nu tretten planlagte lokaliteter, op fra elleve), og afklaredezh-cns tidligere uafklarede endonym til 中文. SitetsLOCALE_LABELSfik tilsvarende poster (cy-gb: “Cymraeg (Prydain Fawr)“,zh-001: “中文”,zh-cn: “中文 (中国)”). Stadig kun infrastruktur: ingen af disse lokaliteter har en mappelocales/<code>/eller oversat indhold endnu. - Udgav bogen i fire lokaliteter under
locales/:en-gb-oxendict(britisk engelsk, Oxford-stavning; den håndskrevne kilde),en-001(international engelsk),en-gb(almindelig britisk engelsk) ogen-us(amerikansk engelsk).en-001,en-gbogen-usudledes mekanisk afen-gb-oxendictaf det nyetools/localize.py; sespec/locales.md.docs/findes ikke længere; hver henvisning til den ispec/,AGENTS.md,tests/validate.py,tools/gen_nav.pyogtools/stats.pypeger nu pålocales/<locale>/. - Tilføjede to Claude Code-færdigheder,
software-engineering-metrics-skill(til læsere, der anvender bogens vejledning på deres eget team) ogsoftware-engineering-metrics-maintainer-skill(til bidragydere, der tilføjer eller redigerer emner), underskills/og spejlet ind i.claude/skills/. - Flyttede den udgivne hjemmesides kildekode ind i dette repositorium som
software-engineering-metrics.github.io/, tidligere et separat repositorium. Den læser nulocales/direkte fra repositoriets rod frem for en søsterudgave ved siden af. Rodens.github/workflows/deploy.ymlkontrollerer, at sitet stadig bygger ved hvert push tilmain, og sender derefter enrepository_dispatchtil repositorietsoftware-engineering-metrics.github.io(bevaret som en tynd udrulningsskal, da GitHub Pages kun vil servere det nøgne domæne fra et repositorium med præcis det navn), som henter dette monorepo, bygger sitet og udruller det. - Tilføjede infrastrukturen til oversatte (ikke blot stavningsafledte) lokaliteter, efter den nye underspecifikation
spec/locales-for-global-sharing-with-svelte/:tools/gen_locale_peer_ids.pytildeler hver indholdsfil en.locale-peer-id-sidefil, identisk på tværs af lokaliteter, som en fremtidig oversat lokalitet (med egne slugs i oprindeligt skriftsystem) kan bruge til at finde “denne side, i lokalitet X” i stedet for at matche på slug;tests/validate.pykontrollerer, at hver sidefil findes og passer.spec/locales.mddokumenterer ti planlagte oversatte lokaliteter (arabisk, bengali, walisisk, spansk, fransk, hindi, indonesisk, portugisisk, russisk, urdu og kinesisk, Kina); ingen har endnu en mappelocales/<code>/, da ingen endnu er oversat. På sitet fikscripts/locales.mjsLOCALE_LABELS/localeLabel()(et visningsnavn for hver planlagt lokalitet, klar forud for routing) ogsortedLocaleEntries()(den sorteringsrækkefølge, en fremtidig lokalitetsliste skal bruge), ogsrc/lib/i18n.jsudtrak grænsefladestrengene (navigation, sidepanel, sideskift, vælger, sidefod, spring-over-link), som hver.svelte-komponent tidligere hårdkodede på engelsk, ført igennem viaui(locale), med tilbagefald til engelsk for enhver lokalitet uden egne oversættelser. - Erstattede sitets håndbyggede header-kontrol, der kun gjaldt lokalitet, med Lily Design Systems
@lilydesignsystem/svelte-picker-bar: en rigtig temavælger (lys/mørk, via nyestatic/assets/themes/{light,dark}.css), den rigtige lokalitetsvælger (koblet til dette sites URL-baserede routing frem for dens standardadfærd, der kun gælder lang/dir), en tekststørrelsesvælger (Lilys syvtrinsskala) og en delingsvælger (e-mail, Mastodon, kopiér link). Fastlåste@lilydesignsystem/svelte-{theme,locale,text-size,share}-pickertil^0.1.2og@lilydesignsystem/svelte-headlesstil^0.2.0via overrides ipnpm-workspace.yaml, som en omgåelse af en reel udgivet fejl isvelte-picker-bar0.1.0s egne afhængighedsintervaller (se hver vælgersCHANGELOG.md, “0.1.2”, og dette sitesAGENTS.md). - Fjernede forsidens statistikrække (dele/emner/“Free Always”) og dens afsnit “How to read it”, og erstattede kortgitteret “Browse the nine parts” med en almindelig punktliste.
Changed
- Tilføjede
scripts/generate-sitemap.mjs, kørt til sidst ipnpm build, som skriversitemap.xmlud fra de forudgengivne sider (kun kanoniske lokalitets-URL’er, ingen dubletter med to-bogstavsaliasser), så linjenSitemap:irobots.txtkan løses. - Tilføjede emne 2.8, Lean-værdistrømsmetrikker (gennemløbstid, procestid, cyklustid, procent færdigt og korrekt samt taktid fra klassisk lean-værdistrømskortlægning, plus beregningen af rullet gennemløbsudbytte), placeret efter køteori. Metrikker for pull requests og kodegennemgang flyttede fra 2.8 til 2.9, og emnet om DORA-metrikker flyttede fra 2.9 til 2.10. Opdaterede alle berørte krydshenvisninger i hele bogen.
- Omdøbte del 2 fra “Delivery and Flow Metrics” til “Flow Metrics” og omorganiserede den omkring Mik Kerstens Flow Framework. Tilføjede fire nye emner: 2.1 Flow Framework, 2.2 Flowelementer (funktioner, fejl, risici, gæld), 2.3 Flowhastighed og flowfordeling og 2.4 Flowtid og flowbelastning. Samlede de fire enkelte emner om DORA-metrikker (udrulningsfrekvens, gennemløbstid, andel af ændringer, der fejler, genoprettelsestid) i ét referenceemne, 2.9 DORA-metrikframeworket, flyttet til slutningen af delen. Omnummererede floweffektivitet og igangværende arbejde til 2.5 og omdøbte og omnummererede emnet om køteori (tidligere 2.9) til 2.7 Køteori. Cyklustid (2.6) og metrikker for pull requests og kodegennemgang (2.8) beholder deres numre. Opdaterede alle krydshenvisninger i hele bogen, ordlisten, formelreferencen, modenhedsselvvurderingen og forordet, så de passer.
Added
- Første udgivelse: 45 substantielle emner fordelt på 8 dele, plus forord og et bilag med 7 emner (del 9), der dækker DORA- og SPACE-frameworkene, kode- og kvalitetsmetrikker, produkt- og forretningsmetrikker, metrikker for driftssikkerhed og sikkerhed samt generativ AI’s indvirkning på ingeniørmetrikker.
- Repositoriets infrastruktur spejlet fra søsterprojektet
software-engineering-guide: en specifikationsdrevetspec/(indeks, struktur, konventioner, Oxford-stavning, køreplan), en valideringssuite itests/validate.py, en navigationsgenerator itools/gen_nav.py, enjustfile,AGENTS.mdmed vejledninger til bidragydere underdocs/contributing/,CONTRIBUTING.mdog denne ændringslog. spec/structure.md, det kanoniske emnemanifest, som testene kontrollerer filerne mod.- To gennemarbejdede eksempler i
docs/examples/: et udfyldt metrikcharter og en dashboardspecifikation.
History
Bogen blev bygget fra specifikationen og udad: den ni-delte struktur blev erklæret i spec/structure.md først, derefter blev hvert emne forfattet efter den fælles skabelon i docs/contributing/chapter-template.md, mens tests/validate.py håndhævede struktur og husstil hele vejen.
Conventions for this file
- Gruppér ændringer under Added, Changed, Fixed, Removed eller Deprecated.
- Hold poster korte og specifikke. Én linje hver, hvor det er muligt.
- Brug heller ikke tankestreger her; testene kontrollerer også denne fil.