Što je metodologija razvoja softvera?

Metodologija razvoja softvera (SDM) je način na koji se program stvara kroz generiranje koda i korištenje različitih alata. To se u osnovi odnosi na sam proces i način na koji se njime upravlja, kako bi se osiguralo da se razvoj završi na vrijeme i unutar razumnog proračuna. Postoji niz oblika koje metodologija razvoja softvera može imati, ovisno o prirodi programa koji se stvara i korištenim alatima. Općenito, međutim, SDM je vođen potrebom da se osigura podjela zadataka na elemente kojima se može upravljati i proces koji prolazi kroz brojne, proširene iteracije.

Postoji mnogo različitih okvira koji se mogu koristiti unutar metodologije razvoja softvera, koji se obično koriste za organiziranje procesa stvaranja novog programa. Višestruki okviri mogu se koristiti zajedno za stvaranje jednog SDM-a, a zatim se brojne metodologije mogu kombinirati u SDM obitelj. Korištenje metodologije razvoja softvera često uspostavlja i potiče najbolje prakse u stvaranju novog softvera za tim programera. Bez SDM-a na koji treba obratiti pažnju tijekom razvoja, proces može lako postati kaotičan i dovesti do gubitka u smislu financijskih sredstava i vremena.

Jedna od najčešćih i najjednostavnijih vrsta metodologije razvoja softvera naziva se modelom “vodopada”. Prije nego što se ovaj SDM može koristiti, moraju se postaviti specifični ciljevi za određeni proces, a cijeli razvojni ciklus treba razbiti na različite elemente. Tada se može pristupiti jednom jedinom elementu i on se provodi kroz niz koraka, od kojih je svaki vizualiziran kao procesija prema dolje koja stvara koncept “vodopada”. Ova vrsta metodologije razvoja softvera više se ne koristi u mnogim situacijama jer su je zamijenile novije metode, ali i dalje služi kao osnovni primjer kako bi SDM trebao biti strukturiran.

“Spiralni” model postao je popularna metodologija razvoja softvera, jer uspijeva uhvatiti dva važna elementa procesa u jednoj vizualizaciji. Općenito, spirala je jedna linija koja počinje u središtu, krećući se prema van u koncentričnim prstenovima koji postaju veći, ali prolaze kroz isti kružni oblik. Ovo se koristi kao model za razvoj softvera jer svaki element programa počinje malim i povećava se tijekom razvoja. Kako se to događa, također prolazi kroz brojne faze, kao što su razvoj, evaluacija i analiza, kroz različite iteracije. Sve to stvara jedan jedinstveni proces koji raste prema van dok se kreće kroz ponovljene korake, slično kao spirala.