Che cos'è lo sviluppo guidato da funzionalità?
Tutto lo sviluppo del software richiede la gestione dei progetti e la gestione del ciclo di vita dello sviluppo del sistema (SDLC). Queste sono le tecniche e i processi utilizzati per gestire efficacemente il processo di sviluppo di un'applicazione software. Lo sviluppo guidato da funzionalità è una tecnica basata su cicli di sviluppo rapidi. Fornisce all'azienda funzionalità più veloce delle tipiche tecniche SLDC standard.
Nel mercato competitivo odierno, è importante che le organizzazioni reagiscano rapidamente alle mutevoli tendenze e ai climi di mercato. La tecnologia dell'informazione ha tentato di evolvere lo sviluppo del software in un processo più agile in grado di anticipare le esigenze competitive di un'organizzazione. Lo sviluppo guidato da funzionalità è una tecnica di sviluppo software che tenta di implementare le funzionalità dell'applicazione in modo iterativo in base alle priorità di un'azienda.
Lo sviluppo guidato da funzionalità è considerato un processo di sviluppo iterativo. Questo perché il codice viene sviluppato e distribuito in iterazioni di funzionalità piuttosto che come un'applicazione completa. È stato creato da Jeff De Luca nel 1997 come tecnica veloce per fornire applicazioni software. Questo agile processo tenta di fornire funzionalità prioritarie a un cliente più rapidamente.
Il processo di sviluppo guidato dalle funzionalità si basa su modelli e brevi cicli di sviluppo. Questo è simile alle tecniche di sviluppo utilizzate in Extreme Programming (XP). Ogni progetto è suddiviso in piccole funzionalità che possono essere codificate, testate e distribuite in meno di due settimane. Questo ciclo di due settimane fornisce all'azienda un sistema ricco di funzionalità più veloce perché è in continua evoluzione.
Esistono quattro aree principali di sviluppo guidato dalle funzionalità. Questi sono il modello di dominio, l'elenco delle funzionalità, il piano per funzionalità e infine la compilazione e la distribuzione per funzionalità. Queste quattro aree hanno requisiti e tecniche specifici che le rendono efficaci.
Il modello di dominio è una panoramica e un progetto di alto livello dell'intera applicazione. È il modello scheletro di ciò che sarà costruito durante il processo di iterazione. Questo è il primo passo del processo guidato dalle funzionalità ed è pensato per fornire al team di sviluppo una road map dell'intera applicazione.
Una volta completato il modello di dominio, è necessario creare un elenco di funzionalità. L'elenco delle funzionalità includerà tutte le funzionalità richieste dell'applicazione. Ogni funzione deve essere progettata con dettagli specifici per farla funzionare. Un esempio di una funzione per un'applicazione bancaria potrebbe essere "calcolare il saldo bancario totale disponibile".
La priorità è il prossimo passo nello sviluppo guidato dalle funzionalità. Dopo aver creato l'intero elenco di funzionalità, gli utenti aziendali dovrebbero stabilire le priorità. Questa definizione delle priorità dovrebbe essere basata sull'importanza della funzionalità per l'organizzazione.
La fase finale dello sviluppo basato sulle funzionalità si basa sulla creazione e distribuzione di funzionalità basate sull'elenco delle funzionalità con priorità. Ogni funzione verrà codificata, testata e distribuita con incrementi di due settimane. Questo rapido approccio iterativo offre all'azienda l'opportunità di utilizzare l'applicazione prima che sia completamente finita.