Att importera begrepp från engelskan är legio (sic: standard) inom IT-världen idag. Man blandar begrepp hej vilt och införlivar dem i språket när man förklarar. Det är helt naturligt eftersom majoriteten av dokumentation är skriven på engelska och eftersom vi idag arbetar med kollegor från utlandet är det standard att både skriva och tala engelska på arbetsplatsen.

Men det är här det slår slint för de flesta svenskar som är verksamma inom IT-branschen men inte involverade i mjukvaran: begreppet produktion. Begreppet är så klart hämtat från engelskan men dess betydelse är en annan än på svenska. I engelskan kan production betyda att man är klar och går live med något, medan det inte finns en sådan betydelse i svenskan. I svenskan tänker man att något har utvecklats klart och ska produceras vidare, härav begreppet “att underhålla kod/tjänst”. Antydandet är att en mjukvara har utvecklats efter långa diskussioner och tester och nu kommit slutanvändare till godo och ska upprätthållas. Det många inte förstår, fortfarande, är att den mjukvara som kommer till godo för slutanvändare hela tiden utvecklas alltefter antalet slutanvändare ökar/minskar eller ändrar användarsätt etc. Det finns ingen mjukvara som ska underhållas, utan den kommer ständigt utvecklas och ny kod kommer att produceras, gammal kod tas bort och ny arkitektur ersätta den gamla.

Produktionsbegreppet blir då en tankevurpa att “nu när en tjänst är utvecklad är det inte så svårt att utveckla en till”. (Paus för skratt). Vi som arbetar med mjukvara vet att det inte är svårt att sätta upp en tjänst tekniskt, det är gjort på tio minuter, men att sätta upp en tjänst för att tillhandahålla ett affärsvärde, det tar några veckor, minst. Och den tjänsten kommer att utvecklas konstant under många år framöver. Bara för att utvecklare/team satt upp en tjänst finns ingen garanti att de kan sätta upp nästa tjänst. Det är inte tjänster som produceras på löpande band för att tillhandahålla funktionalitet för kunder, det är affärsbehov som tillgodoses genom teknisk implementation. Kod produceras, tjänster utvecklas. Det är skillnaden.

Produktionsbegreppet är också ofta synonymt med den miljö där all data och kod som är kritisk för företagets affär finns och allt däri måste ha en backup; extra säkerhet pålagd där bara några få betrodda får tillgång och andra aspekter. Hur är det med sådan mjukvara som är menat för internt bruk, men är kritisk för företagets affär? Ett bra exempel är bygg- och deploy(sic!)-produkter som automatiserar ny kod till olika miljöer. Idag sker mycket av detta med automation och det minskar tid-till-marknaden drastiskt för många företag. Här har jag som verksam inom området under 10+ år sett hur detta hanteras på nåder av de flesta organisationer eftersom det inte ger en direkt affärsnytta, men är nödvändigt för företagets tjänster som ger direkt affärsnytta. Dessa tjänster hamnar sällan i “produktion” eftersom inga externa slutkunder använder dem så de är inte av hög prioritet. Därför blir infrastrukturen till dessa tjänster eftersatt och när det väl sker problem i “produktions”-miljön skriker man efter den tjänst man fram till nu inte tagit på stort allvar.

Ett alternativ är att kalla miljön för Affärsmiljö för det är där som det egentliga affärsvärdet uppnås. Bara begreppet kan också ha följdeffekter eftersom olika ledare inom en organisation förstår betydelsen av att förändra affären kontinuerligt för att vara attraktiv för kunden. Till exempel kan ledare lättare förstå att mjukvara behöver testas innan den når Affärsmiljön. Inte bara för att vara funktionell, men även för att visa relevansen att mjukvaran som utvecklats är i linje med det värde man vill skapa genom denna kod. Funktionaliteten måste givetvis testas, liksom användarvänligheten etc men även måste allt bidra till att kunder upplever ett adderat värde, eller att organisationen upplever ett adderat värde. För övrigt anser jag att all infrastruktur bör ses som produktion.