Vad är funktionsdriven utveckling?
All mjukvaruutveckling kräver projektledning och system-utveckling-livscykelhantering (SDLC). Dessa är de tekniker och processer som används för att effektivt hantera utvecklingsprocessen för en mjukvaruapplikation. Funktionsdriven utveckling är en teknik som bygger på snabba utvecklingscykler. Det ger verksamheten snabbare funktionalitet än vanliga SLDC-tekniker.
På dagens konkurrenskraftiga marknad är det viktigt för organisationer att snabbt reagera på förändrade trender och marknadsklimat. Informationsteknologi har försökt utveckla programvaruutveckling till en mer smidig process som kan förutse en organisations konkurrenskraftiga behov. Funktionsdriven utveckling är en mjukvaruutvecklingsteknik som försöker implementera applikationsfunktioner på ett iterativt sätt baserat på ett företags prioriteringar.
Funktionsdriven utveckling anses vara en iterativ utvecklingsprocess. Detta beror på att kod utvecklas och distribueras i iterationer av funktionalitet snarare än som en fullständig applikation. Det skapades av Jeff De Luca 1997 som snabb teknik för att leverera mjukvaruapplikationer. Denna smidiga process försöker leverera prioriterade funktioner till en kund snabbare.
Den funktionsdrivna utvecklingsprocessen är baserad på modeller och korta utvecklingscykler. Detta liknar utvecklingsteknikerna som används i Extreme Programming (XP). Varje projekt är indelat i små funktioner som kan kodas, testas och distribueras på mindre än två veckor. Denna två veckors cykel ger verksamheten ett funktionsrikt system snabbare eftersom det kontinuerligt utvecklas.
Det finns fyra primära områden för funktionsdriven utveckling. Dessa är domänmodellen, funktionslista, plan för funktion och slutligen bygga och distribuera efter funktion. Dessa fyra områden har specifika krav och tekniker som gör dem framgångsrika.
Domänmodellen är en översiktsnivå och design på hela applikationen. Det är skelettplanen för vad som kommer att byggas under iterationsprocessen. Detta är det första steget i den funktionsdrivna processen och är avsedd att ge utvecklingsgruppen en färdplan över hela applikationen.
När domänmodellen är klar måste en lista med funktioner skapas. Funktionslistan kommer att innehålla alla nödvändiga funktioner i applikationen. Varje funktion måste utformas i detalj för att få den att fungera. Ett exempel på en funktion för en bankapplikation kan vara "beräkna den totala tillgängliga banksaldot."
Prioritering är nästa steg i funktionsdriven utveckling. När hela funktionslistan har skapats bör den prioriteras av företagets användare. Denna prioritering bör baseras på vikten av funktionalitet för organisationen.
Den sista fasen av funktionsdriven utveckling är baserad på att bygga och distribuera funktioner baserade på den prioriterade funktionslistan. Varje funktion kommer att kodas, testas och distribueras i steg om två veckor. Denna snabba iterativa strategi ger företaget en möjlighet att använda applikationen innan den är helt klar.