Hvad er funktionsdrevet udvikling?
Al softwareudvikling kræver projektstyring og styring af systemudvikling-livscyklus (SDLC). Dette er de teknikker og processer, der bruges til effektivt at styre udviklingsprocessen for en softwareapplikation. Funktionsdrevet udvikling er en teknik, der er baseret på hurtige udviklingscyklusser. Det giver virksomheden funktionalitet hurtigere end typiske standard SLDC-teknikker.
På dagens konkurrencedygtige markedsplads er det vigtigt for organisationer at reagere hurtigt på ændrede tendenser og markedsklimater. Informationsteknologi har forsøgt at udvikle softwareudvikling til en mere smidig proces, der kan forudse en virksomheds konkurrencedygtige behov. Funktionsdrevet udvikling er en softwareudviklingsteknik, der forsøger at implementere applikationsfunktioner på en iterativ måde baseret på en virksomheds prioriteter.
Funktionsdrevet udvikling betragtes som en iterativ udviklingsproces. Dette skyldes, at kode er udviklet og implementeret i iterationer af funktionalitet snarere end som en fuld applikation. Det blev oprettet af Jeff De Luca i 1997 som hurtig teknik til levering af softwareapplikationer. Denne smidige proces forsøger hurtigere at levere prioriterede funktioner til en kunde.
Den funktionsdrevne udviklingsproces er baseret på modeller og korte udviklingscyklusser. Dette svarer til de udviklingsteknikker, der bruges i Extreme Programming (XP). Hvert projekt er opdelt i små funktioner, der kan kodes, testes og implementeres på mindre end to uger. Denne to-ugers cyklus giver virksomheden et funktionsrige system hurtigere, fordi det hele tiden udvikler sig.
Der er fire primære områder med funktionsdrevet udvikling. Disse er domænemodellen, funktionsliste, plan efter funktion og til sidst bygger og implementeres efter funktion. Disse fire områder har specifikke krav og teknikker, der gør dem til succes.
Domænemodellen er en oversigt og design på højt niveau af hele applikationen. Det er skeletplanen for, hvad der skal bygges under iterationsprocessen. Dette er det første trin i den funktionsdrevne proces og skal give udviklingsholdet et køreplan over hele applikationen.
Når domænemodellen er færdig, skal der oprettes en liste over funktioner. Funktionslisten vil omfatte al den krævede funktionalitet af applikationen. Hver funktion skal designes i specifik detaljer for at få den til at fungere. Et eksempel på en funktion til en bankapplikation kan være "beregne den samlede tilgængelige banksaldo."
Prioritering er det næste trin i featured driven udvikling. Når hele funktionslisten er oprettet, skal den prioriteres af forretningsbrugere. Denne prioritering bør baseres på vigtigheden af funktionalitet for organisationen.
Den sidste fase af funktionsdrevet udvikling er baseret på opbygning og implementering af funktioner baseret på den prioriterede funktionsliste. Hver funktion bliver kodet, testet og implementeret i to ugers trin. Denne hurtige iterative tilgang giver virksomheden en mulighed for at bruge applikationen, før den er helt færdig.