Programutvecklingsmetodik är en vald metod för att genomföra programutveckling inom IT.

Den klassiska metoden kallas för vattenfallsmodellen, vilken innebär att varje programutvecklingsfas skall vara klar innan nästa påbörjas och att omfattande specifikationsarbete sker innan den faktiska programutvecklingen påbörjas. Specifikationen sker traditionellt top-down och utvecklingen baseras på strukturerad programmering. Det betyder att ett slutmål för projektet formuleras först och programmet bryts sedan successivt ned i mindre funktionella delar.

Nyare metoder är agila, det vill säga lättrörliga, iterativa och testbaserade. De bygger på att man successivt utvecklar många delleveranser (inkrement) av programmet (systemet) och möjliggör att de olika utvecklingsfaserna kan bedrivas cykliskt eller parallellt. Beställare och användare får inflytande under hela utvecklingsprocessen. Prototyputveckling och test påbörjas så tidigt som möjligt, innan alla detaljer i kravspecifikationen är klara. Beslut om kravspecifikation av leveransversioner tas så sent som möjligt, när användarna har testat och förstått vad de egentligen vill ha och god kunskap finns om behov, tekniska möjligheter och svårigheter. Man växlar mellan top-down-metoden (att utgå från syfte och mål) och bottom-up-metoden (att utgå från vad man redan har och kan återanvända, och att börja med enkla specialfall men successivt göra programmet allt mer generellt). Exempel på agila metoder är:

En annan välkänd modell för programvaruutveckling är V-modellen. Modellen visar vertikalt abstraktionsnivå och horisontellt tidsdimensionen. Modellen kan anpassas för att även passa till iterativ utveckling.

Se även

redigera
 
V-modellen för systemutveckling.