Hva er funksjonsdrevet utvikling?
All programvareutvikling krever prosjektstyring og system-utvikling-livssyklus (SDLC) styring. Dette er teknikkene og prosessene som brukes for å effektivt administrere utviklingsprosessen til en programvareapplikasjon. Funksjonsdrevet utvikling er en teknikk som er basert på raske utviklingssykluser. Det gir virksomheten funksjonalitet raskere enn vanlige SLDC-standardteknikker.
I dagens konkurransedyktige markedsplass er det viktig for organisasjoner å reagere raskt på endrede trender og markedsklima. Informasjonsteknologi har forsøkt å utvikle programvareutvikling til en mer smidig prosess som kan forutse en organisasjons konkurransedyktige behov. Funksjonsdrevet utvikling er en programvareutviklingsteknikk som prøver å implementere applikasjonsfunksjoner på en iterativ måte basert på prioriteringene til en virksomhet.
Funksjonsdrevet utvikling anses som en iterativ utviklingsprosess. Dette er fordi kode er utviklet og distribuert i iterasjoner av funksjonalitet i stedet for som en full applikasjon. Det ble opprettet av Jeff De Luca i 1997 som rask teknikk for å levere programvare. Denne smidige prosessen prøver å levere prioriterte funksjoner til en kunde raskere.
Den funksjonsdrevne utviklingsprosessen er basert på modeller og korte utviklingssykluser. Dette ligner på utviklingsteknikkene som brukes i Extreme Programming (XP). Hvert prosjekt er delt inn i små funksjoner som kan kodes, testes og distribueres på mindre enn to uker. Denne to ukers syklusen gir bedriften et funksjonsrikt system raskere fordi det kontinuerlig utvikler seg.
Det er fire hovedområder for funksjonsdrevet utvikling. Dette er domenemodellen, funksjonslisten, plan etter funksjon, og til slutt bygg og distribuer etter funksjon. Disse fire områdene har spesifikke krav og teknikker som gjør dem vellykkede.
Domenemodellen er et høyt nivå oversikt og design av hele applikasjonen. Det er skjelettens plan for hva som skal bygges under iterasjonsprosessen. Dette er det første trinnet i den funksjonsdrevne prosessen, og er ment å gi utviklingsteamet et veikart over hele applikasjonen.
Når domenemodellen er fullført, må det opprettes en liste over funksjoner. Funksjonslisten vil inneholde all den nødvendige funksjonaliteten til applikasjonen. Hver funksjon må utformes i detalj for at den skal fungere. Et eksempel på en funksjon for en banksøknad kan være "beregne den totale tilgjengelige banksaldoen."
Prioritering er neste trinn i kjennetegnet utvikling. Etter at hele funksjonslisten er opprettet, bør den prioriteres av forretningsbrukerne. Denne prioriteringen bør være basert på viktigheten av funksjonalitet for organisasjonen.
Den siste fasen av funksjonsdrevet utvikling er basert på å bygge og distribuere funksjoner basert på den prioriterte funksjonslisten. Hver funksjon vil bli kodet, testet og distribuert i trinn på uker. Denne raske iterative tilnærmingen gir virksomheten en mulighet til å bruke applikasjonen før den er fullstendig ferdig.