Mis on funktsioonipõhine arendus?

Kogu tarkvaraarendus eeldab projektijuhtimist ja süsteemiarenduse elutsükli (SDLC) haldust. Need on tehnikad ja protsessid, mida kasutatakse tarkvararakenduse arendusprotsessi tõhusaks haldamiseks. Funktsioonipõhine arendus on tehnika, mis põhineb kiiretel arendustsüklitel. See pakub ettevõttele funktsionaalsust kiiremini kui tavalised standardsed SLDC tehnikad.

Tänapäeva konkurentsiga turul on oluline, et organisatsioonid reageeriksid kiiresti muutuvatele suundumustele ja turukliimale. Infotehnoloogia on püüdnud muuta tarkvaraarendust paindlikumaks protsessiks, mis suudab ette näha organisatsiooni konkurentsivajadusi. Funktsioonipõhine arendus on tarkvaraarendustehnika, mis üritab rakenduse funktsioone iteratiivselt juurutada, lähtudes ettevõtte prioriteetidest.

Funktsioonipõhist arendust peetakse iteratiivseks arendusprotsessiks. Selle põhjuseks on asjaolu, et koodi arendatakse ja juurutatakse funktsioonide iteratsioonidena, mitte täisrakendusena. Selle lõi Jeff De Luca 1997. aastal kiire tehnikana tarkvararakenduste tarnimiseks. See agiilne protsess püüab kliendile kiiremini pakkuda prioriteetseid funktsioone.

Funktsioonipõhine arendusprotsess põhineb mudelitel ja lühikestel arendustsüklitel. See sarnaneb Extreme Programmingis (XP) kasutatavate arendustehnikatega. Iga projekt on jagatud väikesteks funktsioonideks, mida saab kodeerida, testida ja juurutada vähem kui kahe nädalaga. See kahenädalane tsükkel annab ettevõttele funktsioonirikka süsteemi kiiremini, kuna see areneb pidevalt.

Funktsioonipõhisel arendusel on neli peamist valdkonda. Need on domeenimudel, funktsioonide loend, plaan funktsioonide kaupa ning lõpuks koostamine ja juurutamine funktsioonide kaupa. Neil neljal valdkonnal on spetsiifilised nõuded ja tehnikad, mis muudavad need edukaks.

Domeenimudel on kõrgetasemeline ülevaade ja kujundus kogu rakendusest. See on iteratsiooniprotsessi käigus ehitatava luustiku plaan. See on funktsioonipõhise protsessi esimene samm ja selle eesmärk on anda arendusmeeskonnale kogu rakenduse tegevuskava.
Kui domeenimudel on valmis, tuleb luua funktsioonide loend. Funktsioonide loend sisaldab kõiki rakenduse nõutavaid funktsioone. Iga funktsioon tuleb selle toimimiseks üksikasjalikult kujundada. Pangarakenduse funktsiooni näide võib olla “arvuta välja kogu saadaoleva pangasaldo”.
Prioriteetide seadmine on funktsioonipõhise arenduse järgmine samm. Pärast kogu funktsioonide loendi loomist peaksid ärikasutajad selle tähtsuse järjekorda seadma. See prioriteetide seadmine peaks põhinema funktsionaalsuse tähtsusel organisatsiooni jaoks.
Funktsioonipõhise arenduse viimane etapp põhineb funktsioonide loomisel ja juurutamisel prioriteetsete funktsioonide loendi alusel. Iga funktsiooni kodeeritakse, testitakse ja juurutatakse kahenädalaste sammudega. See kiire iteratiivne lähenemine annab ettevõttele võimaluse rakendust kasutada enne, kui see on täielikult valmis.