Co to jest rozwój zależny od funkcji?
Całe tworzenie oprogramowania wymaga zarządzania projektami i zarządzania cyklem życia systemu (SDLC). Są to techniki i procesy wykorzystywane do skutecznego zarządzania procesem rozwoju aplikacji. Rozwój oparty na cechach jest techniką opartą na szybkich cyklach rozwoju. Zapewnia firmie funkcjonalność szybciej niż typowe standardowe techniki SLDC.
Na dzisiejszym konkurencyjnym rynku ważne jest, aby organizacje szybko reagowały na zmieniające się trendy i klimat rynkowy. Technologia informacyjna próbowała przekształcić rozwój oprogramowania w bardziej zwinny proces, który może przewidywać konkurencyjne potrzeby organizacji. Projektowanie oparte na cechach to technika tworzenia oprogramowania, która próbuje iteracyjnie implementować funkcje aplikacji w oparciu o priorytety firmy.
Rozwój oparty na cechach jest uważany za iteracyjny proces rozwoju. Wynika to z faktu, że kod jest opracowywany i wdrażany w iteracjach funkcjonalności, a nie jako pełna aplikacja. Został stworzony przez Jeffa De Luca w 1997 roku jako szybka technika dostarczania aplikacji. Ten zwinny proces ma na celu szybsze dostarczanie klientom priorytetowych funkcji.
Proces rozwoju oparty na cechach oparty jest na modelach i krótkich cyklach rozwoju. Jest to podobne do technik programowania stosowanych w programowaniu ekstremalnym (XP). Każdy projekt jest podzielony na małe funkcje, które można kodować, testować i wdrażać w mniej niż dwa tygodnie. Ten dwutygodniowy cykl zapewnia firmie bogaty w funkcje system, ponieważ ciągle się rozwija.
Istnieją cztery podstawowe obszary rozwoju opartego na cechach. Są to model domeny, lista funkcji, planowanie według funkcji, a na końcu kompilacja i wdrażanie według funkcji. Te cztery obszary mają określone wymagania i techniki, dzięki którym są skuteczne.
Model domeny to ogólny przegląd i projekt całej aplikacji. Jest to szkielet tego, co powstanie podczas procesu iteracji. Jest to pierwszy krok procesu opartego na cechach i ma na celu dać zespołowi programistów mapę drogową całej aplikacji.
Po ukończeniu modelu domeny należy utworzyć listę funkcji. Lista funkcji będzie zawierać wszystkie wymagane funkcje aplikacji. Każda funkcja musi być zaprojektowana szczegółowo, aby działała. Przykładem funkcji aplikacji bankowej może być „obliczenie całkowitego dostępnego salda bankowego”.
Priorytetyzacja jest kolejnym krokiem w rozwoju opartym na polecaniu. Po utworzeniu całej listy funkcji użytkownicy biznesowi powinni nadać jej priorytet. Priorytet ten powinien opierać się na znaczeniu funkcjonalności dla organizacji.
Końcowa faza rozwoju opartego na funkcjach polega na budowaniu i wdrażaniu funkcji na podstawie listy funkcji o priorytetach. Każda funkcja będzie kodowana, testowana i wdrażana w odstępach dwutygodniowych. To szybkie iteracyjne podejście daje firmie możliwość korzystania z aplikacji przed jej całkowitym zakończeniem.