johanna månsson
Johanna Månsson Grahn på Iteam är noga med att inte göra för mycket tidigt i ett utvecklingsprojekt.
Systemutveckling är ett område som ständigt präglas av frågor med stort symbolvärde. En sådan är hur mycket funktionalitet som ska planeras för en applikation tidigt i ett projekt.

Pendeln har svängt angående funktionsplanering sedan sekelskiftet. Då var vattenfallsmodellen fortfarande dominerande, det gängse tillvägagångssättet var att inleda utvecklingsprojekt med att sammanställa digra specifikationer över funktioner som skulle skapas.

Sedan dess har agila arbetssätt, som Scrum, tagit över allt mer. Det innebär att fokus ligger på att snabbt skapa en körbar applikation och sedan gradvis bygga på med funktioner, vilket görs i iterationer på en vecka eller några veckor. Men det höjs röster om att även Scrum är tungrott eftersom metoden kräver detaljerade tidsuppskattningar.

Det måste vara a och o inom systemutveckling, att utveckla det man verkligen vet behövs.

Frågan är, hur långt fram ska man tänka vad gäller vilka funktioner som ska finnas i en applikation när den är färdig? Är det ändå inte klokt att ta höjd för funktionalitet som kan antas ge ett värde i en färdig applikation?

– Man ska börja litet, med det man vet att man behöver, säger Christian Landgren, vd på konsultföretaget Iteam, tvärsäkert.

– Det är inget fel att förbereda sig och göra listor över bra funktioner, bara man håller sig till att enbart göra det viktigaste utifrån vad man vet just nu. Man bör inte planera mer än nästa iteration eftersom det är feedbacken från den föregående som gör att man vet vad som är nästa steg, säger Johanna Månsson Grahn, utvecklingschef på Iteam.

Läs mer: Mobilutvecklingskriget: Är hybrider vägen framåt?

Patrik Löwendahl som är teknik- och innovationschef på konsultföretaget Avanade är inne på samma spår, men nyanserar frågan:

– Jag håller med, det måste vara a och o inom systemutveckling att utveckla det man verkligen vet behövs. Men vad gäller arkitekturfrågor är det mer en balansgång, man kan göra sånt som man själv vet behövs, till exempel att skapa en loggningsrutin för databasanvändning, säger han.

Även Helena Hjertén, konsult på Crisp, håller med:

– Man bör försöka att inte göra mer än det som efterfrågas, så jobbar de flesta i dag. Om man kommer på något bör man prata med produktägaren, i stället för att implementera funktionen direkt. Men visst händer det att man får göra det man tror, om kravbilden är otydlig, säger hon.

Så långt är enigheten närmast total bland utvecklarna Computer Sweden pratar med. Men det finns avvikande åsikter.

– Utveckling av spel är en mer kreativ process och utvecklaren har en kreativ frihet att göra mer än vad som specificeras så länge det uppfyller visionen om spelet, säger Mehrnaz Amanat Bari, programmerare på Paradox Interactive.

Sammantaget verkar det som om den agila inställningen att lägga till funktioner gradvis har fått ordentligt fäste bland svenska utvecklare. För 15 år sedan hade svaren garanterat blivit annorlunda, med resonemang om att det blir en bättre helhet om man utvecklar så mycket funktionalitet som möjligt samtidigt, så att de olika funktionerna hänger ihop bättre.

Fakta

I agila projekt är en av nyckelaktiviteterna ofta att prioritera vilka funktioner som ska implementeras i varje iteration av ett projekt.