Kod är material och programmering ett hantverk

2013-06-17 | Forskning/Samverkan

Ett helt nytt sätt att se på programmering framförs av forskaren Rikard Lindell vid Mälardalens högskola i en artikel i den vetenskapliga tidskriften Personal och Ubiquitous Computing (PUC). Han ser på kod som det material av vilket programmeraren skapar programvara. Det gör programmering till design och ett hantverk.

 

– Picassos mästerverk består av färg, på samma sätt består ett avancerat och högpresterande program av kod. Det är kreativiteten och materialkännedomen hos programmeraren som avgör om koden som används blir ett mästerligt program, säger Rikard Lindell.

Traditionellt inom området programvaruteknik används industriella och rationella metaforer för att beskriva verksamheten att ta fram program. Dessa är ofta dåliga på att ta hänsyn till upplevelsevärden hos användaren, ju mindre mätbara värden dessa är desto sämre stöd för dem finns i de metoder och den teknik som finns att tillgå. Något som är ett stort problem i och med de nya mobila enheternas intåg i vårt liv.
– Nuvarande metoder inom programvaruteknik lämpar sig bättre för att arbeta med uppdateringar än att utveckla version 1.0, säger Rikard Lindell.

Fokus på upplevelsen
Hantverk och design är bättre på att hantera komplexa och motsägelsefulla situationer och på att ta hänsyn till svårdefinierbara och icke mätbara upplevelsevärden.
– Min artikel handlar om att utvecklingen av höginteraktiva, innovativa digitala produkter med fokus på upplevelsevärden, egentligen är design och ett hantverk, inte teknik och metod i första hand. Jag har visat att det finns belägg för att sådan kunskapssyn genom att undersöka om det finns fog för att se kod och programspråk som ett material. Om artikeln får genomslag, kan den påverka både utbildningar inom design- och datavetenskap och hur ny programvara formges och utvecklas.

Bakgrunden till artikeln är Rikard Lindells avhandling ”Jag älskar att allt ligger överst” som ledde till en helt ny idé om hur datorer kan fungera med fokus på innehåll och arbetsflöde. När den skulle tas från idé och prototyp till en verklig produkt anlitades erfarna och noga utvalda konsulter för programmering. De kunde inte leverera förväntat resultat. Till det fanns två skäl, enligt Rikard Lindell.
– Det första är att programmering som utförs efter en kravspecifikation ofta levererar det som beställts, men att kravspecifikationen sällan eller aldrig kan förutse alla de oväntade och obekanta situationer som programmeraren ställs inför under utvecklingens gång. Det andra skälet är att en design inte är klar förrän både utseende och beteende har beslutats. För varje val finns det hundratals alternativ som valts bort. Inom de flesta designdiscipliner görs valen grundat i vad materialet ”säger till” designern att den ska göra, en slags materialförtrogenhet. Design handlar om att befinna sig i en konversation med materialet och här föddes tankarna på att programmering kan vara ett hantverk och kod ett designmaterial.