Vårt fokus

Kvalitet

Vad är kvalitet på mjukvara? Vi anser att applikationer med kvalitet måste uppfylla:

  • Driftsäkerhet – hur ofta och hur allvarliga fel som anses acceptabla är väldigt beroende på situation. Det är t.ex. stor skillnad på en PC-applikation som enkelt kan startas i jämförelse med  en mjukvara i ett flygplan som kan leda till en katastrof.
  • Rätt sak vid rätt tillfälle – det är viktigt att produkten utför den uppgiften som den är framtagen att göra samtidigt som klienten med säkerhet vet ifall uppgiften blivit genomförd eller inte.
  • Responsivitet – det är viktigt att applikationen är effektivt implementerad samtidigt som den svarar på tilltal.
  • Säkerhet – det är viktigt med säkra applikationer i många sammanhang, framför allt de som arbetar på öppna nätverk.
  • Användarvänlighet – det skall vara lätt för användarna att förstå applikationen.

Många utvecklare och beställare av produkter nöjer sig oftast med det föregående. Tyvärr så glömmer man då att applikationernas livscykel kan vara långa. Många utvecklingsprojekt tar inte hänsyn till underhållskostnaden utan projekten tar endast hänsyn till utvecklingskostnaden. Ofta är underhållskostnaden för en produkt mycket högre än själva utvecklingskostnaden.

Vad skall en applikation göra för att få lägre underhållskostnad?

  • Rätt kompetens – många företag lägger vikten på fler i antal istället för bättre kompetens när de ska anställa till ett utvecklingsprojekt. Effektiviteten hos en kompetent utvecklare skiljer sig enormt, framför allt i antal buggar och vilken typ av buggar som framstår vid utveckling. I en komplex applikation kan ett komplicerat fel vara lika dyrt att identifiera som det kostade att utveckla hela applikationen. Det många ofta glömmer är att vid utveckling så är det ofta ett fåtal personer inblandade samtidigt som väldigt många är inblandade vid problem (kunden, support, chefer, utvecklare, testare, säljare, etc). Den totala projektkostnaden blir ungefär 90% lägre med spets-kompetenta programmerare jämfört med mediokra programmerare.
  • Design för underhåll – de flesta applikationer sprids ofta över världen och då måste de vara designade att ge information till användarna och de som felsöker. Annars kan det bli väldigt dyrt att hitta källan till problem. Ett måtto som är bra att förhålla sig till är: ”ett fel skall inte behöva återupprepas för att lösas”. Effektiv buggrättning görs på följande vis:
    1. Analysera loggar och lokalisera buggen
    2. Upprepa felet (går oftast väldigt fort när man vet vad felet beror på)
    3. Lös problemet
    4. Verifiera
    5. Låt kunden verifiera

För att kunna utföra effektiv buggrättning så behövs en applikationsdesign med en genomtänkt strategi för:

  • Felhantering
  • Felutpekning
  • Felsökning
  • Diagnostik
  • Verktyg som t.ex. utökar loggningen
  • Att göra klart – många projekt avslutas lite för tidigt. Time-to-market är viktigt för finanserna och det är ofta oundvikligt att publicera produkten innan utvecklingen är färdig. De flesta projekt har ofta restpunkter och lite kvalitetsproblem som behöver åtgärdas. Tyvärr så avslutas många projekt för tidigt och utvecklarna går vidare till nya uppgifter. Det innebär att många buggrättningar och underhållsaktiviteter sker med ny personal. Att ändra i befintlig kod är extremt svårt och det är väldigt lätt att införa nya problem när man inte varit med från start.

I produktcykeln ingår också vidareutveckling. Hur gör man att få lägre kostnad för vidareutveckling?

  • Rätt kompetens – när grundapplikationen utvecklas så skapas också förutsättningarna för hur skalbar applikation är. En genomtänkt och väl designad applikation går ofta att vidareutveckla. Hur man designar och kodar en skalbar produkt är ett konstverk som bemästras av kompetenta utvecklare. Inte av de novisa.
  • Krav- och test-specifikationer – med bra krav- och testspecifikationer för grundapplikationen så är det lättare att verifiera att inget förstörs vid vidareutvecklingen. Applikationer med bra dokumentation ger lägre framtida kostnader för underhållsjobb vid vidare utveckling.

Vi arbetar med att skapa lösningar för utveckling och underhåll med lägre kostnader nu och i framtiden. Detta ska resultera i bättre applikationer.

Datasäkerhet

GDPR är EUs nya datalag som är aktiv fr.o.m. maj 2018 och reglerar hur personuppgifter skall hanteras. GDPR har 6 grundprinciper:

  • Laglydigt, rättvist och transparent – personuppgifterna skall hanteras på ett rättvist och ärligt sätt. T.ex. så skall integritetspolicyn som många accepterar vara begriplig och lättläst.
  • Ändamålsenligt – personuppgifter får inte utnyttjas eller samlas in på annat sätt än vad personen i fråga gett medgivande till.
  • Uppgift/data-minimering – endast personuppgifter som anses relevanta för ändamålet får sparas.
  • Korrekthet – personuppgifterna skall vara korrekt och aktuella.
  • Lagringsbegränsande – personuppgifter får inte sparas längre än personen gett samtycke till.
  • Integritet och sekretess – personuppgifterna måste behandlas med rätt säkerhetsnivå så att de inte hamnar i fel händer. Förlorat data måste rapporteras.

Datasäkerhet har 5 grundprinciper:

  • Sekretess – endast den som har rättighet till data skall kunna ta del av informationen. Det innebär att information inte får göras tillgänglig eller avslöjas för obehöriga.
  • Dataintegritet – data skall hållas konsistent och tillförlitligt utan att t.ex. förstöras av misstag eller av obehöriga.
  • Tillgänglighet – förhindra att obehöriga undanhåller information. Det innebär att informationstillgångar är tillgängliga för behöriga användare, i förväntad utsträckning och inom önskad tid.
  • Spårbarhet – det innebär att alla aktiviteter i systemet skall kunna härledas till en identifierad användare som kan hållas ansvarig för dessa. För att åstadkomma spårbarhet krävs åtminstone identifiering och autentisering av användare, samt loggning av relevanta händelser i IT-systemet.
  • Oavvishet – det innebär att avsändandet eller mottagandet av ett givet meddelande ej i efterhand skall kunna förnekas av avsändaren respektive mottagaren. Datatekniskt implementeras ofta oavvisligt för avsändaren med hjälp av en digital signatur.

GDPR är ett bra steg i rätt riktning för att skydda personers integritet. Tyvärr blir lagar och förordningar svaga om inte det finns tillräckligt bra tekniska lösningar och då kan företag runt lagarna genom användaravtal.

Många företag inom IT-industrin är i grunden inte intresserad att skydda den personliga integriteten eftersom deras intäkter är baserade på handel med persondata, antingen via riktad reklam eller försäljning av personliga profiler. Kombinationen av AI och stora mängder persondata kan skapa ett otäckt kontrollsamhälle.

Vi arbetar med att skapa lösningar som både skyddar den personliga integriteten och fungerar i ett praktiskt samhälle.

Öppenhet

Det finns flera typer av gratis programvara idag. Det är viktigt att förstå vad som är gratis och vad som innehåller en dold kostnad.

  1. De flesta gratis-applikationer som idag används i t.ex. sociala medier har ett kommersiellt syfte där de lever på att sälja reklam och personlig information.
  2. Det finns lösningar som är helt gratis som ändå inte lever på reklamförsäljning och inte heller på försäljning av personlig information. De lever på s.k. crowdfunding med bidrag från privatpersoner, organisationer, företag och myndigheter.
  3. Det finns gratis programkod som vem som helst kan utnyttja, framtagen av olika frivilligorganisationer, företag, universitet, etc.

Med hjälp av bidrag (punkt 2) arbetar vi med att ta fram lösningar för att skydda den personliga integriteten. Vi skapar kod som på sikt är öppen för alla att läsa, kommentera och utnyttja själva (punkt 3).

Decentralisering

Internet är i grunden baserad på en decentraliserad struktur med centraliserat datasparande där alla har tillgång till sitt eget data och delar ut det man vill delge. Trenden de senaste åren ett alltmer centraliserat datasparande för applikationerna vilket innebär en decentraliserad lösning för personers information.

Vi arbetar med att skapa lösningar som ger tillbaka tillgången och ägarskapet av information till användarna, som sedan kan lånas ut applikationerna. Det innebär att användarna får möjlighet att se vilken information som finns sparat om personen och vad som används av applikationerna.

Struktur

Trenden idag är att information inte sparas på ett strukturerat sätt, oavsett om det i grunden är strukturerat eller inte. Anledningen är att många företag är beroende av att användarna söker information istället för att hitta den direkt. Genom att användarna behöver söka information så kan företag t.ex. skicka riktad reklam.

Vi arbetar med att skapa lösningar för att strukturerad information ska bli lättare att överskåda och hitta, utan att behöva förlita sig på t.ex. en sökmotor.

Standardisering

Standardisering är en av grundstenarna för hela internet. Mycket av de standarder som tas fram idag drivs fram av de intressenter som har behov av dem. Eftersom de flesta företag tjänar mer pengar på att hålla t.ex. personers information direkt kopplade och sparade i applikationerna så saknas också drivkraften att ta fram standardiserade lösningar som skulle skydda den personliga integriteten.

Vi arbetar med att skapa lösningar som skyddar den personliga integriteten bättre och målet är att skapa en standard som alla kan basera sitt sparande av personlig information på.