Che cos’è lo sviluppo basato sulle funzionalità?

Tutto lo sviluppo del software richiede la gestione del progetto e la gestione del ciclo di vita dello sviluppo del sistema (SDLC). Queste sono le tecniche ei processi utilizzati per gestire efficacemente il processo di sviluppo di un’applicazione software. Lo sviluppo guidato dalle funzionalità è una tecnica basata su cicli di sviluppo rapidi. Fornisce all’azienda funzionalità più veloci rispetto alle tipiche tecniche SLDC standard.

Nel mercato competitivo odierno, è importante che le organizzazioni reagiscano rapidamente alle tendenze e al clima di mercato in evoluzione. 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 dalle 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 dalle funzionalità è considerato un processo di sviluppo iterativo. Questo perché il codice viene sviluppato e distribuito in iterazioni di funzionalità piuttosto che come applicazione completa. È stato creato da Jeff De Luca nel 1997 come tecnica veloce per la distribuzione di applicazioni software. Questo processo agile tenta di fornire funzionalità prioritarie a un cliente più rapidamente.

Il processo di sviluppo basato sulle 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 implementate 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 creazione e la distribuzione per funzionalità. Queste quattro aree hanno requisiti e tecniche specifici che le rendono vincenti.

Il modello di dominio è una panoramica e un design di alto livello dell’intera applicazione. È il progetto scheletro di ciò che verrà costruito durante il processo di iterazione. Questo è il primo passo del processo guidato dalle funzionalità e ha lo scopo di 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 caratteristica deve essere progettata in dettaglio specifico per farla funzionare. Un esempio di una funzionalità per un’applicazione bancaria potrebbe essere “calcola il saldo bancario disponibile totale”.
L’assegnazione delle priorità è il passo successivo nello sviluppo guidato dalle funzionalità. Dopo che l’intero elenco di funzionalità è stato creato, gli utenti aziendali dovrebbero assegnare la priorità. Questa priorità dovrebbe essere basata sull’importanza della funzionalità per l’organizzazione.
La fase finale dello sviluppo basato sulle funzionalità si basa sulla creazione e sulla distribuzione di funzionalità in base all’elenco delle funzionalità prioritarie. Ogni funzionalità verrà codificata, testata e implementata con incrementi di due settimane. Questo rapido approccio iterativo offre all’azienda l’opportunità di utilizzare l’applicazione prima che sia completamente completata.