Vad är mjukvaruutvecklingsmetodik?
Software Development Methodology (SDM) är ett sätt på vilket ett program skapas genom generering av kod och användning av olika verktyg. Detta avser i princip processen och hur den hanteras, för att säkerställa att utvecklingen genomförs i tid och inom en rimlig budget. Det finns ett antal former som mjukvaruutvecklingsmetodik 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 ramar som kan användas inom en mjukvaruutvecklingsmetodik, som vanligtvis används för att organisera processen för att skapa ett nytt program. Flera ramar 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 mjukvaruutvecklingsmetodik skapar och uppmuntrar ofta bästa praxis för att skapa 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 avfall både när det gäller ekonomiska resurser och tid.
En av de vanligaste och enkla 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 delas upp i olika element. Ett enda element kan sedan närmas och det tas genom en serie steg, var och en visualiseras som en nedåtgående procession som skapar "vattenfallet" -konceptet. Denna typ av metodutvecklingsmetodik 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 struktureras.
Modellen "spiral" har blivit en populär metodik för mjukvaruutveckling, eftersom den lyckas fånga två viktiga element i 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 små och ökar i storlek under utvecklingen. Eftersom detta händer passerar det 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.