Toată dezvoltarea software-ului necesită management de proiect și management al ciclului de viață al dezvoltării sistemului (SDLC). Acestea sunt tehnicile și procesele care sunt utilizate pentru a gestiona eficient procesul de dezvoltare a unei aplicații software. Dezvoltarea bazată pe caracteristici este o tehnică care se bazează pe cicluri rapide de dezvoltare. Oferă afacerii o funcționalitate mai rapidă decât tehnicile standard standard SLDC.
Pe piața competitivă de astăzi, este important ca organizațiile să reacționeze rapid la tendințele și climatele de piață în schimbare. Tehnologia informației a încercat să evolueze dezvoltarea software-ului într-un proces mai agil, care poate anticipa nevoile competitive ale unei organizații. Dezvoltarea bazată pe caracteristici este o tehnică de dezvoltare software care încearcă să implementeze caracteristicile aplicației într-o manieră iterativă, bazată pe prioritățile unei afaceri.
Dezvoltarea bazată pe caracteristici este considerată un proces de dezvoltare iterativă. Acest lucru se datorează faptului că codul este dezvoltat și implementat în iterații de funcționalitate, mai degrabă decât ca o aplicație completă. A fost creat de Jeff De Luca în 1997 ca tehnică rapidă de livrare a aplicațiilor software. Acest proces agil încearcă să ofere mai rapid caracteristici prioritare unui client.
Procesul de dezvoltare bazat pe caracteristici se bazează pe modele și cicluri scurte de dezvoltare. Acest lucru este similar cu tehnicile de dezvoltare utilizate în Extreme Programming (XP). Fiecare proiect este împărțit în mici caracteristici care pot fi codificate, testate și implementate în mai puțin de două săptămâni. Acest ciclu de două săptămâni oferă afacerii un sistem bogat în caracteristici mai rapid, deoarece evoluează continuu.
Există patru domenii principale de dezvoltare bazată pe caracteristici. Acestea sunt modelul de domeniu, lista de caracteristici, planul după caracteristică și, în sfârșit, construirea și implementarea după caracteristică. Aceste patru domenii au cerințe și tehnici specifice care le fac să aibă succes.
Modelul de domeniu este o imagine de ansamblu la nivel înalt și un design al întregii aplicații. Este schema scheletului a ceea ce va fi construit în timpul procesului de iterație. Acesta este primul pas al procesului bazat pe caracteristici și este menit să ofere echipei de dezvoltare o foaie de parcurs a întregii aplicații.
Odată ce modelul de domeniu este complet, trebuie creată o listă de caracteristici. Lista de caracteristici va include toate funcționalitățile necesare ale aplicației. Fiecare caracteristică trebuie să fie proiectată în detaliu specific pentru ca aceasta să funcționeze. Un exemplu de caracteristică pentru o aplicație bancară ar putea fi „calcularea soldului bancar total disponibil”.
Prioritizarea este următorul pas în dezvoltarea bazată pe caracteristici. După ce întreaga listă de caracteristici este creată, aceasta ar trebui să fie prioritizată de către utilizatorii de afaceri. Această prioritizare ar trebui să se bazeze pe importanța funcționalității pentru organizație.
Faza finală a dezvoltării bazate pe caracteristici se bazează pe construirea și implementarea funcțiilor pe baza listei de caracteristici prioritizate. Fiecare caracteristică va fi codificată, testată și implementată în trepte de două săptămâni. Această abordare iterativă rapidă oferă companiei oportunitatea de a utiliza aplicația înainte ca aceasta să fie complet terminată.