Programinės įrangos kūrimo metodika (SDM) – tai priemonė, kuria programa kuriama generuojant kodą ir naudojant įvairius įrankius. Tai iš esmės reiškia patį procesą ir jo valdymo būdą, siekiant užtikrinti, kad plėtra būtų baigta laiku ir neviršijant pagrįsto biudžeto. Programinės įrangos kūrimo metodika gali būti įvairių formų, priklausomai nuo kuriamos programos pobūdžio ir naudojamų įrankių. Tačiau apskritai SDM valdo poreikis užtikrinti užduočių padalijimą į valdomus elementus ir procesą, kuris vyksta per daugybę besiplečiančių iteracijų.
Yra daug skirtingų sistemų, kurios gali būti naudojamos programinės įrangos kūrimo metodikoje, kurios paprastai naudojamos organizuojant naujos programos kūrimo procesą. Kelios sistemos gali būti naudojamos kartu kuriant vieną SDM, o tada daug metodikų gali būti sujungtos į SDM šeimą. Programinės įrangos kūrimo metodikos naudojimas dažnai nustato ir skatina geriausią praktiką kuriant naują programinę įrangą kūrėjų komandai. Be SDM, į kurį reikia atkreipti dėmesį kūrimo metu, procesas gali lengvai tapti chaotišku ir eikvoti tiek finansinius išteklius, tiek laiką.
Vienas iš labiausiai paplitusių ir paprasčiausių programinės įrangos kūrimo metodologijos tipų vadinamas „krioklio“ modeliu. Prieš naudojant šį SDM, konkrečiam procesui turi būti nustatyti konkretūs tikslai ir visas kūrimo ciklas turi būti suskirstytas į skirtingus elementus. Tada galima priartėti prie vieno elemento ir žengti jį per keletą žingsnių, kurių kiekvienas vizualizuojamas kaip procesija žemyn, kuri sukuria „krioklio“ koncepciją. Tokio tipo programinės įrangos kūrimo metodika daugelyje situacijų nebenaudojama, nes ją pakeitė naujesni metodai, tačiau ji ir toliau tarnauja kaip pagrindinis SDM struktūros pavyzdys.
„Spiralinis“ modelis tapo viena populiaria programinės įrangos kūrimo metodika, nes ji sugeba užfiksuoti du svarbius proceso elementus vienoje vizualizacijoje. Apskritai spiralė yra viena linija, kuri prasideda centre, judanti į išorę koncentriniais žiedais, kurie tampa didesni, bet eina per tą pačią apskritimo formą. Tai naudojamas kaip programinės įrangos kūrimo modelis, nes kiekvienas programos elementas pradedamas maži ir kūrimo metu didėja. Taip atsitinka, jis taip pat pereina daugybę etapų, tokių kaip kūrimas, įvertinimas ir analizė, įvairiose iteracijose. Visa tai sukuria vieną vieningą procesą, kuris išoriškai didėja eidamas kartotiniais žingsniais, panašiai kaip spiralė.