Ett systemutvecklingsföretag tar först emot en beställning på att bygga ett datorsystem från en klient som exempelvis kan vara en enskild kund eller ett annat företag. Företaget skriver sedan en kravspecifikation med tydlig struktur. En systemering genomförs sedan på systemet som ska programmeras, testas och driftsättas. Detta arbete sker enligt en viss utvecklingsmetodik som systemutvecklingsföretaget har valt att använda. Det finns en stor mängd företag som arbetar med system- och spelutveckling i Sverige, vi nämner några längre ner i artikeln. För exempel på underhållande spel besök Bingo.com Live baccarat som har skapats av skickliga spelutvecklare.
Utvecklingsmetodik inom programutveckling
En äldre metod för att utveckla programvaror är vattenfallsmetoden, där varje fas av programutvecklingen avslutas innan nästa påbörjas. För att kunna sätta igång med utvecklingen av systemet eller programmet behöver utvecklingsföretaget först göra ett noggrant specifikationsarbete. Denna specifikation sker top-down och utvecklingen av systemet är baserad på strukturerad programmering. Detta innebär att man först formulerar ett slutmål för projektet och sedan bryter ner programmet i små funktionella delar.
Agil systemutveckling
Numera använder man så kallade ”agila” utvecklingsmetoder inom systemutveckling. Det betyder att man utvecklar mindre leveranser, en efter en. Dessa leveranser är inkrement, delar av systemet och gör att alla faserna i programmets eller systemets utveckling kan göras parallellt. Under utvecklingens gång har användare och beställare möjlighet att utöva inflytande. Utveckling och test av prototyp behöver ske tidigt i processen, innan man har gjort klart kravspecifikationen.
Det finns flera olika agila metoder, bland annat Scrum, Extrem programmering och RUP. Med Scrum fördelas arbetsuppgifterna tidsmässigt och skapar ordning i utvecklingsprojekt där kunden ofta kommer med önskemål om förändringar och olika funktioner. När kunden provar en prototyp kan det exempelvis uppkomma nya önskemål då kunden upptäcker ett problem. När Scrum används för utveckling av system brukar det finnas tre olika roller. Dessa är scrummästaren, produktägaren och utvecklingsteamet. Scrummästaren är teamets coach och ser till att processen efterlevs, kommunicerar mellan aktörerna och försöker minska hindren för utvecklingsteamet. Produktägaren tar emot önskemål vad gäller ändringar i produkten och hanterar dessa samt prioriterar dem. Utvecklingsteamet organiserar sig själva och bör vara noggrant utvalda för att täcka den kompetens som behövs i att utveckla produkten.
King
Ett spelutvecklingsföretag som jobbat mycket med Scrum är King Digital Entertainment, även känt som endast ”King”. De släppte år 2012 ett pusselspel som de döpte till ”Candy Crush Saga”. Själva spelet i sig var gratis men hade köp i appen, detta var en ny affärsmodell som kallades ”freemium”. Det var det första spelet som blivit framgångsrikt med denna modell. Nästan 300 miljoner spelare laddade ner spelet och deras köp ledde till att King fick 25 miljoner kronor per dag. När det stora spelföretaget Activation Blizzard köpte King år 2015 fick ägarna 50 miljarder kronor.
Turborilla
Turborilla AB använder sig också av Scrum i sin arbetsprocess. De utvecklar spel för surfplattor och mobiltelefoner. Deras spel i serien ”Mad skills” har haft över 28 miljoner spelare. Även om företaget är litet och oberoende skapar de spel med en global marknad. De utvecklar sina spel i Unity och har inte bara programmerare i sitt team utan också grafiker. Som grafiker i företaget arbetar man med att skissa spelidéer och producera grafik i 3D och 2D. Även produktion av användargränssnitt ingår samt arbete i Photoshop och 3D-programmet Autodesk Maya. Turborilla driver sin verksamhet från kontor i både Luleå och Umeå.