Co to jest rozwój oparty na funkcjach?

Całe tworzenie oprogramowania wymaga zarządzania projektami i zarządzania cyklem rozwoju systemu (SDLC). Są to techniki i procesy, które są wykorzystywane do efektywnego zarządzania procesem tworzenia aplikacji. Programowanie sterowane funkcjami to technika oparta na szybkich cyklach programistycznych. Zapewnia biznesowi 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 podjęła próbę przekształcenia rozwoju oprogramowania w bardziej zwinny proces, który może przewidywać konkurencyjne potrzeby organizacji. Programowanie oparte na funkcjach to technika tworzenia oprogramowania, która próbuje implementować funkcje aplikacji w sposób iteracyjny w oparciu o priorytety biznesowe.

Programowanie sterowane funkcjami jest uważane za iteracyjny proces programistyczny. Dzieje się tak, ponieważ kod jest opracowywany i wdrażany w iteracjach funkcjonalności, a nie jako pełna aplikacja. Została stworzona przez Jeffa De Luca w 1997 roku jako szybka technika dostarczania aplikacji. Ten zwinny proces ma na celu szybsze dostarczanie klientom funkcji priorytetowych.

Proces rozwoju oparty na funkcjach opiera się na modelach i krótkich cyklach rozwoju. Jest to podobne do technik programistycznych stosowanych w Extreme Programming (XP). Każdy projekt jest podzielony na małe funkcje, które można zakodować, przetestować i wdrożyć w mniej niż dwa tygodnie. Ten dwutygodniowy cykl zapewnia firmie szybszy dostęp do bogatego w funkcje systemu, ponieważ jest on stale rozwijany.

Istnieją cztery główne obszary rozwoju opartego na funkcjach. Są to model domeny, lista funkcji, plan według funkcji, a na koniec 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 szkieletowy plan tego, co zostanie zbudowane podczas procesu iteracji. Jest to pierwszy krok procesu opartego na funkcjach i ma na celu dostarczenie zespołowi programistycznemu mapy drogowej 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ć szczegółowo zaprojektowana, aby działała. Przykładem funkcji aplikacji bankowej może być „obliczenie całkowitego dostępnego salda bankowego”.
Priorytetyzacja to kolejny krok w programowaniu opartym na polecanych funkcjach. Po utworzeniu całej listy funkcji użytkownicy biznesowi powinni nadać jej priorytet. Ta hierarchizacja powinna opierać się na znaczeniu funkcjonalności dla organizacji.
Ostatnia faza rozwoju opartego na funkcjach opiera się na tworzeniu i wdrażaniu funkcji na podstawie listy funkcji z priorytetami. Każda funkcja będzie kodowana, testowana i wdrażana w odstępach dwutygodniowych. To szybkie podejście iteracyjne daje firmie możliwość korzystania z aplikacji przed jej całkowitym ukończeniem.