Ohjelmistokehitysmenetelmä (SDM) on keino, jolla ohjelma luodaan luomalla koodia ja käyttämällä erilaisia työkaluja. Tämä tarkoittaa periaatteessa itse prosessia ja tapaa, jolla sitä hallitaan sen varmistamiseksi, että kehitys saadaan päätökseen ajallaan ja kohtuullisen budjetin puitteissa. Ohjelmistokehitysmenetelmiä voi olla useita, riippuen luodun ohjelman luonteesta ja käytetyistä työkaluista. Yleisesti ottaen SDM: tä ohjaa kuitenkin tarve varmistaa tehtävien jakaminen hallittaviin elementteihin ja prosessi, joka käy läpi useita laajenevia iteraatioita.
Ohjelmistokehitysmenetelmissä voidaan käyttää monia erilaisia kehyksiä, joita käytetään tyypillisesti uuden ohjelman luomisen järjestämiseen. Useita kehyksiä voidaan käyttää yhdessä yhden SDM: n luomiseen, ja sitten useita menetelmiä voidaan yhdistää SDM -perheeseen. Ohjelmistokehitysmenetelmien käyttö usein luo ja kannustaa parhaita käytäntöjä uusien ohjelmistojen luomiseen kehittäjäryhmälle. Ilman kestävän kehityksen strategiaa kehityksen aikana prosessi voi helposti muuttua kaoottiseksi ja johtaa hukkaan sekä taloudellisten resurssien että ajan suhteen.
Yksi yleisimmistä ja yksinkertaisimmista ohjelmistokehitysmenetelmien tyypeistä on nimeltään vesiputousmalli. Ennen kuin tätä SDM: ää voidaan käyttää, tietylle prosessille on asetettava erityiset tavoitteet ja koko kehityssykli on jaettava eri osiin. Yksi yksittäinen elementti voidaan sitten lähestyä ja se suoritetaan useiden vaiheiden läpi, joista jokainen visualisoidaan alaspäin suuntautuvana kulkueena, joka luo “vesiputouksen” käsitteen. Tämäntyyppistä ohjelmistokehitysmenetelmää ei enää käytetä monissa tilanteissa, koska uudemmat menetelmät ovat korvanneet sen, mutta se toimii edelleen perusesimerkkinä siitä, miten SDM pitäisi rakentaa.
“Spiraalimallista” on tullut suosittu ohjelmistokehitysmenetelmä, koska se pystyy kaappaamaan kaksi tärkeää prosessin osaa yhdellä visualisoinnilla. Yleensä spiraali on yksi viiva, joka alkaa keskeltä ja liikkuu ulospäin samankeskisissä renkaissa, joista tulee suurempia, mutta jotka kulkevat saman pyöreän muodon läpi. Tätä käytetään mallina ohjelmistokehitykselle, kun jokainen ohjelman osa alkaa pienestä ja kasvaa kooltaan kehityksen aikana. Kun tämä tapahtuu, se kulkee myös useiden vaiheiden läpi, kuten kehittäminen, arviointi ja analyysi, eri iteraatioiden aikana. Kaikki tämä luo yhden yhtenäisen prosessin, joka kasvaa ulospäin suuremmaksi, kun se liikkuu toistuvien vaiheiden läpi, aivan kuten spiraali.