Tarkvaraarendusmetoodika (SDM) on vahend, mille abil luuakse programm läbi koodi genereerimise ja erinevate tööriistade kasutamise. Põhimõtteliselt viitab see protsessile endale ja sellele, kuidas seda juhitakse, et tagada arenduse õigeaegne ja mõistliku eelarve piires. Tarkvaraarenduse metoodika võib sõltuvalt loodava programmi olemusest ja kasutatavatest tööriistadest olla mitmel kujul. Üldiselt juhib SDM-i aga vajadus tagada ülesannete jaotus juhitavateks elementideks ja protsess, mis läbib arvukalt laienevaid iteratsioone.
Tarkvaraarenduse metoodikas saab kasutada palju erinevaid raamistikke, mida tavaliselt kasutatakse uue programmi loomise protsessi korraldamiseks. Ühtse SDM-i loomiseks saab kasutada koos mitut raamistikku ja seejärel kombineerida mitmeid metoodikaid SDM-i perekonnaks. Tarkvaraarenduse metoodika kasutamine loob ja julgustab sageli arendajate meeskonna jaoks uue tarkvara loomise parimaid tavasid. Ilma SDM-ita, millele arenduse ajal tähelepanu pöörata, võib protsess kergesti muutuda kaootiliseks ja viia raiskamiseni nii rahaliste ressursside kui ka aja osas.
Üks levinumaid ja lihtsamaid tarkvaraarenduse metoodika tüüpe nimetatakse “juga” mudeliks. Enne selle SDM-i kasutamist tuleb konkreetse protsessi jaoks seada konkreetsed eesmärgid ja kogu arendustsükkel tuleb jagada erinevateks elementideks. Seejärel saab läheneda ühele elemendile ja see viiakse läbi mitme sammu kaudu, millest igaüks visualiseeritakse allapoole suunatud rongkäiguna, mis loob kose kontseptsiooni. Seda tüüpi tarkvaraarenduse metoodikat ei kasutata enam paljudes olukordades, kuna selle on asendanud uuemad meetodid, kuid see on jätkuvalt SDM-i ülesehituse põhinäide.
“Spiraal” mudelist on saanud üks populaarne tarkvaraarenduse metoodika, kuna see suudab jäädvustada protsessi kaks olulist elementi ühes visualiseeringus. Üldiselt on spiraal üks joon, mis algab keskelt, liikudes väljapoole kontsentriliste rõngastena, mis muutuvad suuremaks, kuid läbivad sama ringikujulist kuju. Seda kasutatakse tarkvaraarenduse mudelina, kuna programmi iga element algab väikeselt ja arenduse käigus suureneb. Sel juhul läbib see erinevate iteratsioonide jooksul ka mitmeid etappe, nagu arendus, hindamine ja analüüs. Kõik see loob ühtse ühtse protsessi, mis muutub korduvate sammude käigus väljapoole suuremaks, sarnaselt spiraaliga.