Ova vrsta metodologije identificira se kao skup postupaka, tehnika i dokumentarne potpore koja se koristi za dizajn informacijskih sustava. U softverskom inženjerstvu, kada govorimo o razvoju softvera, govorimo o razvoju programa, koji moraju zadovoljiti niz faza ili faza, da bi funkcionirali s drugim metodama koje su već uspostavljene u drugim inženjerskim disciplinama.
Njegov je glavni cilj izložiti niz klasičnih i modernih tehnika modeliranja sustava koji omogućuju razvoj kvalitetnog softvera, uključujući građevinsku heuristiku i kriterije usporedbe modela sustava.
Svaka metodologija razvoja softvera ima svoj pristup i ono što se obično naziva tradicionalnim pristupom obično ne uzima u obzir aspekte kao što su kvaliteta, konkurentnost, zadovoljstvo i koristi; nego su ispunjeni dvosmislenostima, birokracijom itd. Budući da su metodologije stvorene u desetljeću 70-ih i 80-ih, razmišljanje u poslu 50-ih.
Istina je da se svijet vrlo brzo mijenja, opstaju samo pametna poduzeća i pametni softver. Danas su komunikacije trenutne, a protok informacija u stvarnom vremenu. Zbog toga su klasične metodologije već zastarjele i ne djeluju sa svakog gledišta. Samo su neki prilagođeni, ali njihova je funkcionalnost ograničena na ne baš inovativne projekte.
Među metodologijama razvoja softvera koje se danas koriste su:
Scrum metodologija: to je agilna i fleksibilna metodologija koja vam omogućuje upravljanje razvojem softvera i čiji je cilj maksimalizirati povrat ulaganja za vašu tvrtku. U osnovi se temelji na izgradnji funkcionalnosti najviše vrijednosti za klijenta i na načelima kontinuiranog nadzora, samoupravljanja, prilagodbe i inovacija. Među prednostima koje nudi ova metodologija su:
Ispunjavanje očekivanja, fleksibilnost promjena, smanjenje vremena, veća produktivnost, maksimalan povrat ulaganja, smanjenje rizika
XP metodologija (ekstremno programiranje): jedna je od najistaknutijih metodologija u agilnim procesima razvoja softvera, jer više naglašava prilagodljivost nego predvidljivost. Njegove glavne karakteristike su:
- Iterativni i inkrementalni razvoj odnosi se na smanjeno, ali kontinuirano poboljšanje.
- Stalna, često ponavljana i automatizirana jedinična ispitivanja.
- Programski tim nastavlja se integrirati s klijentom.
- Programiranje u parovima, najprikladnije je da razvojne zadatke provode dvije osobe u istom položaju.
- Ispravljanje svih pogrešaka prije dodavanja novih funkcionalnosti.
- Jednostavnost koda, to je najbolji način da stvari dobro funkcioniraju, bolje je učiniti nešto jednostavno što se može modificirati bez puno rada, nego učiniti nešto složeno što se možda nikada neće koristiti.