Tankar om programvaruutveckling
Claes Wohlin Vi inleder vår intervjuserie, där Sveriges akademi inom programvaruteknik reflekterar över industrins utveckling, med Claes Wohlin.Kort introduktion av Claes Wohlin
Claes Wohlin är professor i programvaruteknik (software engineering) vid Blekinge tekniska högskola. Han har tidigare varit professor i Linköping och Lund. 2011 blev han invald i IVA (Ingenjörsvetenskapsakademin) och 2014 listades han som topp-10 i världen som bidragit mest till litteraturen inom området i tidsperioden 1971-2012. Hemsida och artiklar hittas på: www.wohlin.eu. Några länkar till specifika artiklar återfinns nedan.
Vad är det viktigaste som har hänt inom software engineering de 10 sista åren?
En ökad insikt att storskalig industriell programvaruutveckling inte löses bara genom nya tekniska lösningar som programspråk och verktyg. Det finns en ökad förståelse för behovet av att kunna kombinera bra teknik, metoder, processer och verktyg med både personlig kompetens och att kunna samarbeta i team. Detta illustreras t.ex. genom introduktionen av agila metoder (från plan-orienterat till agila) och det faktum att programvaruutvecklingsprojekt allt oftare genomförs som globala projekt (exempelvis internationella transfers av produkter). Det senare gäller både inom företag, via användning av underleverantörer och inte minst inom framväxandet av och användningen av öppen källkod.
Vilka är det viktigaste trenderna och utmaningarna nu?
De största utmaningarna ligger i anslutning till skalbarhet, både system och utveckling (t.ex. hantering av Business-Architecture-Process-Organization). Programvarusystemen blir större och större, och system kopplas samman med andra system. Komplexiteten i programvarusystemen ökar samtidigt som de naturligtvis skall erbjuda fler tjänster till sina användare. Det innebär att kraven på funktionalitet, kvalitet, utvecklingstid och kostnad hela tiden ökar. Fler personer måste utveckla mer komplexa system och tjänster på kortare tid med hög kvalitet och till en given kostnad. Det är dock en stor utmaning att klara av denna utveckling, samtidigt som det är oerhört viktigt då hela vårt samhälle idag mycket snabbt blivit uppbyggt på processorer och programvara. Programvaran är oljan som får dagens samhälle att fungera.
Hur skall Sveriges lärosäten möta dessa utmaningar?
Den allra största utmaningen är studentrekrytering. Konkurrensen i världen är knivskarp och programvara kan utvecklas var som helst och användas över hela världen genom en enkel nedladdning. Det är långt ifrån självklart att Sverige har en stark position när det gäller programvaruutveckling. Vi borde ha det då vi ligger långt framme, men en förutsättning är att duktiga ungdomar vill utbilda sig inom området. Bra utbildningsprogram och kurser inom området är naturligtvis en förutsättning både för studentrekryteringen som sådan och också för konkurrenskraften. Det gör att Sveriges lärosäten måste säkerställa att vi ligger på framkant både med teknisk kunskap och hur man genomför utbildningen, t.ex. genom projektarbeten och nära industriellt samarbete som väsentliga inslag i utbildningen. Slutligen måste det finnas en stark forskningsöverbyggnad inom området.
Hur kan Sveriges industri möta dessa utmaningar?
Industrin måste kunna klara av att balansera funktionellt innehåll, olika kvalitetsegenskaper, tid till marknaden och kostnad. För att göra detta krävs t.ex. en mycket god avvägning mellan egen utveckling, inköp av komponenter och användning av öppen källkod. Vidare måste industrin klara av att integrera ny teknik i sina programvarusystem och i utvecklingen av dem, samtidigt som personlig kompetens måste tas tillvara och vidareutvecklas, samt man måste kunna bygga starka utvecklingsmiljöer och -team. Det finns ett starkt behov av ett nära samarbete mellan industri och akademi. Industrin måste samtidigt som man konkurrerar på marknaden aktivt delta i utvecklingen av utbildningsprogram för att säkerställa att man har rätt ingenjörer för att möta framtida utmaningar. Vidare måste det finnas utrymme för att bidra till att akademin kan arbeta med industrirelevanta forskningsfrågor.
Hur passar din forskning in i detta?
Vår forskning passar in i ovanstående då vi lägger stor vikt på balansen mellan följande perspektiv: utveckling (teknik, metoder, processer och verktyg), system, affärsmässighet, kompetens, teamarbete och organisation. Vi försöker i många fall hitta nya forskningsmässiga lösningar som förbättrar en eller flera av dessa perspektiv samtidigt som dessa förbättringar måste hanteras i ett större sammanhang, dvs. i anslutning till övriga perspektiv. För egen del arbetar jag för närvarande med en del utmaningar i samband med globalt distribuerad utveckling som är en dimension som ytterligare förstärker de allmänna utmaningarna med storskalig industriell programvaruutveckling. Vi måste kunna hantera olika kulturer, tidsskillnader, geografiska avstånd och kommunikationssvårigheter. Det går inte längre att träffas vid kaffemaskinen (som inte ens säkert finns i andra länder på samma sätt som i Sverige, där det är det naturliga ”vattenhålet” att mötas vid).
Vem vill du sända stafettpinnen vidare till?
Jag skulle vilja skicka stafettpinnen till professor Ivica Crnkovic på Mälardalens högskola. Vi har haft många diskussioner genom åren. Det skulle vara intressant och se hans svar på ovanstående frågor.