Kas yra funkcijomis pagrįstas kūrimas?

Visiems programinės įrangos kūrimui reikalingas projektų valdymas ir sistemos kūrimo gyvavimo ciklo (SDLC) valdymas. Tai yra metodai ir procesai, kurie naudojami veiksmingai valdyti programinės įrangos kūrimo procesą. Funkcijomis pagrįstas kūrimas yra metodas, pagrįstas greitais kūrimo ciklais. Tai suteikia verslui funkcionalumą greičiau nei įprasti standartiniai SLDC metodai.

Šiandieninėje konkurencinėje rinkoje organizacijoms svarbu greitai reaguoti į besikeičiančias tendencijas ir rinkos klimatą. Informacinės technologijos bandė programinės įrangos kūrimą paversti judresniu procesu, kuris gali numatyti konkurencinius organizacijos poreikius. Funkcijomis pagrįstas kūrimas yra programinės įrangos kūrimo technika, kuria bandoma įdiegti programos funkcijas kartotiniu būdu, atsižvelgiant į verslo prioritetus.

Funkcijomis pagrįstas kūrimas laikomas kartotiniu kūrimo procesu. Taip yra todėl, kad kodas yra kuriamas ir įdiegiamas atliekant funkcijų kartojimą, o ne kaip visapusiška programa. Jį 1997 m. sukūrė Jeffas De Luca kaip greitą programinės įrangos pristatymo techniką. Šiuo judriu procesu bandoma greičiau pateikti klientui prioritetines funkcijas.

Funkcijomis pagrįstas kūrimo procesas yra pagrįstas modeliais ir trumpais kūrimo ciklais. Tai panašu į Extreme Programming (XP) naudojamus kūrimo būdus. Kiekvienas projektas suskirstytas į mažas funkcijas, kurias galima užkoduoti, išbandyti ir įdiegti per mažiau nei dvi savaites. Šis dviejų savaičių ciklas verslui suteikia daug funkcijų turinčią sistemą greičiau, nes ji nuolat tobulinama.

Yra keturios pagrindinės funkcijomis pagrįstos plėtros sritys. Tai yra domeno modelis, funkcijų sąrašas, planas pagal funkciją ir galiausiai kūrimas ir diegimas pagal funkciją. Šios keturios sritys turi specifinius reikalavimus ir metodus, dėl kurių jos sėkmingos.

Domeno modelis yra aukšto lygio visos programos apžvalga ir dizainas. Tai yra skeleto projektas to, kas bus sukurta iteracijos proceso metu. Tai pirmasis funkcijomis pagrįsto proceso žingsnis ir skirtas kūrimo komandai pateikti visos programos planą.
Užbaigus domeno modelį, reikia sukurti funkcijų sąrašą. Funkcijų sąraše bus visos reikalingos programos funkcijos. Kiekviena funkcija turi būti suprojektuota konkrečiai, kad ji veiktų. Banko programos funkcijos pavyzdys galėtų būti „apskaičiuoti visą turimą banko likutį“.
Prioritetų suteikimas yra kitas funkcijomis pagrįstos plėtros žingsnis. Sukūrus visą funkcijų sąrašą, verslo vartotojai jam turėtų teikti pirmenybę. Šis prioritetas turėtų būti grindžiamas funkcionalumo svarba organizacijai.
Paskutinis funkcijomis pagrįsto kūrimo etapas yra pagrįstas funkcijų kūrimu ir diegimu pagal prioritetinių funkcijų sąrašą. Kiekviena funkcija bus užkoduota, išbandyta ir įdiegta kas dvi savaites. Šis greitas pasikartojantis metodas suteikia verslui galimybę naudotis programa dar nebaigus jos.