Vad är metod för mjukvaruutveckling?

Software Development Methodology (SDM) är ett sätt genom vilket ett program skapas genom generering av kod och användning av olika verktyg. Detta syftar i grunden på själva processen och sättet på vilket den sköts, för att säkerställa att utvecklingen slutförs i tid och inom en rimlig budget. Det finns ett antal former som metodik för mjukvaruutveckling kan ta, beroende på vilken typ av program som skapas och vilka verktyg som används. Generellt sett styrs dock SDM av behovet av att säkerställa en uppdelning av uppgifter i hanterbara element och en process som går igenom många, expanderande iterationer.

Det finns många olika ramverk som kan användas inom en mjukvaruutvecklingsmetodik, som vanligtvis används för att organisera processen för att skapa ett nytt program. Flera ramverk kan användas tillsammans för att skapa en enda SDM, och sedan kan många metoder kombineras till en SDM-familj. Användningen av en metod för mjukvaruutveckling etablerar och uppmuntrar ofta bästa praxis vid skapandet av ny programvara för ett team av utvecklare. Utan en SDM att se till under utvecklingen kan processen lätt bli kaotisk och leda till slöseri både vad gäller ekonomiska resurser och tid.

En av de vanligaste och enklaste typerna av mjukvaruutvecklingsmetodik kallas en ”vattenfallsmodell”. Innan denna SDM kan användas måste specifika mål fastställas för en viss process och hela utvecklingscykeln måste brytas ner i olika delar. Ett enskilt element kan sedan närma sig och det tas genom en serie steg, vart och ett visualiserat som en nedåtgående procession som skapar konceptet ”vattenfall”. Denna typ av mjukvaruutvecklingsmetodik används inte längre i många situationer eftersom nyare metoder har ersatt den, men den fortsätter att fungera som ett grundläggande exempel på hur en SDM ska vara uppbyggd.

”Spiralmodellen” har blivit en populär metod för mjukvaruutveckling, eftersom den lyckas fånga två viktiga delar av processen i en enda visualisering. I allmänhet är en spiral en enda linje som börjar i mitten och rör sig utåt i koncentriska ringar som blir större men passerar genom samma cirkulära form. Detta används som en modell för mjukvaruutveckling eftersom varje del av ett program börjar i liten skala och ökar i storlek under utvecklingen. När detta händer passerar den också genom många faser, såsom utveckling, utvärdering och analys, genom olika iterationer. Allt detta skapar en enda enhetlig process som växer utåt större när den rör sig genom upprepade steg, ungefär som en spiral.