Tjenester

Les mer om tjenestene vi kan levere innen systemutvikling og løsningsarkitektur.

Systemutvikling

Systemutvikling er et bredt fagfelt som krever at man mestrer en rekke disipliner. I Ramn så er vi opptatt av å kunne hjelpe kunden med å ta prosjekter helt fra idéfase til produksjonssetting og videre til forvaltning. I de innledende fasene kan vi bistå med idemyldring, verdiforslag, kravinnhenting og løsningsdesign. Når det funksjonelle omfanget er avklart kan vi bistå med robuste metoder for estimering.

Når prosjektet er i gang bistår vi ikke bare med produksjon av kode og funksjonalitet, men også backlog grooming, risikovurderinger, konfigurasjonshåndtering og kompetanseheving på tvers av teamet. Mye av denne kompetansen er formalisert gjennom sertifiseringer innen både Scrum, PRINCE2 og TOGAF. 

Når det gjelder konkrete teknologier så graviterer kompetansen vår tyngst mot C#/.NET, Microsoft Azure og det teknologiske økosystemet som har dannet seg rundt denne platformen. Det vil si at vi kan minimum tilby ekspertkompetanse på følgende teknologier:

  • C#
  • .NET Framework
  • .NET Core, 5, 6 og 7
  • ASP.NET Core og ASP.NET
  • Blazor og MudBlazor
  • Entity Framework og Entity Framework Core
  • Microsoft Azure

I tillegg til dette har vi selvsagt rikelig erfaring med en lang rekke biblioteker, rammeverk og verktøy. Hvis du vil vite mer om det kan du ta en titt på våre ansatte og laste ned CV'er som går i større detalj.

Systemintegrasjon

Innen systemintegrasjon kan vi tilby ekspertkompetanse innen følgende 

  • REST og OpenAPI
  • gRPC
  • WCF
  • GraphQL
  • Sikkerhet
  • Bussteknologier

Løsningsarkitektur

Her kunne vi skrevet side opp og side ned om teori rundt løsningsarkitektur, men i stedet vil vi gjerne fortelle litt om en måte å jobbe med løsningsarkitektur på som vi synes fungerer veldig godt. Utgangspunktet er en metode for tegning av arkitekturdiagrammer som heter C4. I C4 snakker vi om 4 forskjellige nivåer, og disse nivåene er:

  • Context (nivå 1)
  • Container (nivå 2)
  • Component (nivå 3)
  • Code (nivå 4)

I praksis så er dette 4 distinkte abstraksjonsnivåer, og hensikten er at arkitekturen skal kunne dekomponeres ned til disse nivåene. Fordelen med dette er at arkitekturdiagrammer følger et forutsigbart mønster som gjør det enklere å både tegn og forstå diagrammene.

Når man har lært seg C4 så er veien veldig kort til å ta i bruk Structurizr som gir solid verktøystøtte for arbeid med C4-diagrammer. For eksempel kan man generere diagrammer direkte fra kode, eller visualisere tilstand i kjørende systemer direkte inn i arkitekturdiagrammer. Mange muligheter der altså.

Når det er sagt så er C4 bare en metode for å jobbe med diagrammer. Arbeidet med selve løsningsarkitekturen krever fremdeles erfaring, innsikt og teoretisk kunnskap. Her kan vi bidra med bred kompetanse som hjelper våre kunder med å ta riktige arkitekturbeslutninger.

GIS og geografiske data

Geografiske data blir stadig mer vanlig i takt med at data blir tilknyttet geometrier som representerer punkter, arealer, eller linjer. Det kan fremstå som overveldende å få oversikt på hvordan man skal lagre og bruke geografiske data på riktig måte slik at utregninger og visualiseringer blir korrekte med korrekt projeksjon og størrelsesenheter. Vi kan heldigvis bistå med spesialistkompetanse på teknologivalg, implementering og optimalisering av løsninger som på ulike måter berører geografiske data. 

Databaseteknologi

Vi har lang erfaring med flere ulike databaseteknologier, men de vi har brukt mest og liker aller best er:

  • Microsoft Sql Server
  • PostgreSQL
  • MySQL
  • SQLite

I tillegg har vi erfaring med noen spesialiserte databaseteknologier

  • Tidsseriedatabaser: Influx og PostgreSQL+Timescale
  • Dokumentdatabaser: MongoDB, Azure Storage Table og Azure Cosmos DB

Data Engineering

Vi har erfaring med flytting og strømming av store datamengder i scenarioer hvor man må ivareta sikkerhet, ytelse, minnebruk og kostnader. Her finnes det mange ulike teknologier med forskjellige fordeler og ulemper i ulike situasjoner. Vi hjelper våre kunder med å velge og implementere riktig teknologi til alle scenarioer slik at man får hentet, strømmet, sammenstilt og lagret data for videre bruk i analyse, maskinlæring og visualisering. 

Teamledelse

Vi mener at de beste teamene er tverrfaglige, selvorganiserende og autonome. For å oppnå dette kreves det mer av en teamleder enn å bare utføre de vanlige administrative oppgavene. Man må virkelig engasjere seg i prosjektet og involvere teamet i mer enn bare standups og retrospektiver. Man må kontinuerlig jobbe med å spre domenekunnskap i hele teamet slik at det skapes en dyp forståelse av hva som skal bygges. Målet er å bygge et team der medlemmene gjør hverandre gode og får utnyttet sine respektive styrker. Lagfølelse, kompetanse, og trygghet er det vi søker å oppnå i roller som teamleder. Vi har en lang rekke med vellykkede prosjekter å vise til i rollen som teamleder, og bistår gjerne kunder som har behov for en slik ressurs i sine prosjekter.

Kompetanseheving

Det teknologiske landskapet innenfor systemutvikling har en høy endringstakt og er i kontinuerlig utvikling. Derfor er det viktig at vi som setter teknologien til anvendelse holder oss oppdatert på nye teknologier, trender og metoder. 

I Ramn er vi opptatt av å tilegne oss ny kunnskap og kompetanse -- men vi er også lidenskapelig opptatt av å spre dette videre. Derfor tilbyr vi alltid våre kunder at vi kan avholde engasjerende faglige foredrag hos dem hvis de ønsker det. Og dette gjør vi fullstendig gratis!

Vi tilbyr også større skreddersydde kurs og foredrag innen teknologier og fagområder som vi har beskrevet over. Ta kontakt om din organisasjon kan ha behov for dette.