Gå till innehållet

Fördelar med att använda / ta fram specifikationer

Fördelar av specifikationer för användning och publicering av data

Det finns flera orsaker till varför specifikationer är viktiga för publicering och användning av data:

Praktisk guide för ökad tillgång till enhetlig av data

En utmaning som en aktör som ska börja publicera data ställs inför är var man ska börja. Söka och identifiera öppna specifikationer som andra aktörer redan använt för att publicera sin data är så pass konkret att man lägga upp en plan för vilka datamängder man ska börja med. Det är särskilt bra när det rör sig om datamängder som många enskilda aktörer ska publicera.

Möjliggöra effektivare användning data

Om det finns en specifikation inom ett visst område kan användare av data enklare bygga upp en egen lösning baserat på denna specifikation. De kan också samla in data, eller slå live mot API:er, utan att behöva göra några komplicerade konverteringar.

När det saknas gemensamma specifikationer inom ett visst område kommer användare att behöva sätta sig in i en ny informationsmodell för varje datamängd. Dessutom skulle användare behöva både skriva och underhålla kod specifikt för varje datamängd samt att konvertera till ett gemensamt uttryck.

Fördelar med specifikationer i allmänhet

Det finns många andra faser inom systemutveckling där specifikationer är en viktig del i arbetet. Vi listar nedan några vanliga situationer där man har nytta av en specifikation.

Utvärdering vid val av system

Ett system som uppfyller en specifikation är lättare att utvärdera av flera skäl. Först och främst innebär att en specifikation följs att en viss stabilitet uppnåtts enbart i och med att specifikationer inte ändras lika ofta. Antingen så har man tagit fram specifikationen själv och lagt ner tid och energi på att hitta en stabil informationsmodell, eller så har man förhållit sig till andras arbete. För det andra så kan den som utvärderar läsa på om en specifikation och därmed få en förståelse för flera potentiella system. För det tredje innebär det att man någorlunda enkelt kan testa ett system tekniskt, ibland kan man utnyttja existerande tester.

Kanske det starkaste argumentet för att välja system som uppfyller en specifikation är att det öppnar upp för möjligheten att byta system i ett senare skede. Detta är möjligt då specifikationer skrivs oberoende av system, till skillnad från systemdokumentation.

Kravställning och verifiering vid nyutveckling

Vid kravställning är det viktigt att vara tydlig kring detaljer hur lösningen ska realiseras för att undvika missförstånd. Att förhålla sig till en existerande specifikation kan då ge stora fördelar då misstag och erfarenheter redan är gjorda av någon annan. Detta måste naturligtvis vägas mot risken att man suboptimerar om specifikationen motsvarar ett behov som inte överensstämmer tillräckligt väl med de egna behoven.

Kravställning i form av en specifikation innebär också oftast en detaljnivå som underlättar verifiering i slutfasen av ett utvecklingsprojekt vilket kan vara en trygghet under hela projektfasen för alla inblandade.

Utvecklingsfas

Kravställning som skett med hjälp av existerande specifikationer innebär att utvecklingsfasen kan fortgå smidigare. Risken för att det finns saker som missats i kravställningen minskar och det finns ofta existerande utvecklar-orienterad erfarenhet att luta sig mot. I många fall innebär det att man kan undvika oväntade avbrott i arbetet på grund av under definierade aspekter.

Dokumentation

System som förlitar sig på existerande specifikationer behöver mindre dokumentation då det redan är gjort till viss del. Alternativt, att skriva tydlig dokumentation, i nivå med hur en specifikation skulle skrivas innebär att man funderar en gång till kring de designval som gjorts. Att ägna tid på att förklara en omständlig design är plågsamt och innebär ofta att man väljer att istället göra om systemet så det blir lättare att förklara vilket nästan alltid innebär att det också blir både bättre och lättare att underhålla.

Utbildning

För utvecklare som inte jobbat med ett system tidigare finns alltid initial inlärningsfas innan personen kan bli effektiv. Att investera en del av denna tid för att lära sig en specifikation är mer fördelaktigt ur både den enskilda personen såväl som arbetsgivarens perspektiv då den kunskapen kan appliceras i fler situationer. Detta är samma princip gäller som gäller på traditionella läroanstalter där man föredrar lära ut principerna för ordbehandling snarare än hur Microsoft Word fungerar då man vet att den kunskapen är mer flyktig.

Systemintegration

I den bästa av alla världar kan systemintegration genomföras på basis av att flera system redan implementerar samma specifikationer. Alternativt kan det finns tredjepartsbibliotek som kan göra partiella översättningar mellan informationsmodeller uttryckt i olika specifikationer.