search Il media che reinventa l'impresa

Come si scrivono le specifiche funzionali del progetto?

Come si scrivono le specifiche funzionali del progetto?

Da Nathalie Pouillard & Coralie Petit

Il 12 novembre 2024

Nella fase di scoping di un progetto digitale, le specifiche funzionali stabiliscono cosa farà il prodotto sviluppato, mentre le specifiche tecniche dettagliano come lo farà, utilizzando quali tecnologie, quale architettura e quale hardware.

Qui presentiamo le specifiche funzionali, alcuni esempi, a cosa servono e come si scrivono.

Tutto quello che c'è da sapere sulle specifiche funzionali

Che cos'è una specifica funzionale in una specifica?

Una specifica funzionale è un documento essenziale in un progetto digitale, perché descrive in dettaglio le funzionalità che il prodotto in fase di sviluppo deve offrire.

Svolge un ruolo cruciale nello sviluppo di un progetto digitale!☝️

Viene quindi inserita nella specifica di progetto, in una sezione dedicata, che definisce ciò che il sistema deve fare, dal punto di vista dell'utente, senza entrare nei dettagli tecnici di come queste funzionalità saranno implementate.

Questo documento, a volte voluminoso (può essere lungo un centinaio di pagine), può essere oggetto di un documento separato: l'FSD ( Functional Specification Document).

Tra i numerosi vantaggi di una specifica in un FSD vi sono :

  • chiarimento dei requisiti del cliente
  • una guida per il team di sviluppo
  • una base per la definizione dei criteri di test
  • una comunicazione efficace tra le varie parti.

In termini pratici, come funziona?

Le specifiche funzionali riguardano il funzionamento dell'interfaccia dal lato dell'utente (front-office) e tutti i casi di applicazione, cioè le possibili interazioni con l'utente, note come esperienza dell'utente.

Esse riguardano anche le funzioni necessarie per implementarle nel back-office, come mostrato in questo esempio in PDF delle specifiche funzionali generali di Coco Market .

Traducono in dettaglio il modo in cui i requisiti del cliente saranno presi in considerazione per soddisfare le esigenze dei suoi utenti. Sono quindi espresse in termini di funzioni, non di soluzioni, poiché sarebbe prematuro e controproducente affrontare gli aspetti tecnici in questa sede.

Servono come riferimento per il team di sviluppo e assicurano che tutti i membri del progetto abbiano una comprensione precisa delle esigenze e delle aspettative del cliente.

Quali sono i diversi tipi di specifiche funzionali?

Esistono due tipi di specifiche funzionali:

  • specifiche funzionali generali (GFS), che descrivono l'esigenza aziendale e sono scritte dal proprietario del progetto, ossia il cliente o il committente;
  • specifiche funzionali dettagliate (DFS), che sono redatte dal proprietario del progetto, cioè l'appaltatore.
    Queste specificano il comportamento delle funzionalità e delle sottofunzioni del prodotto web, confermando che i requisiti del cliente sono stati presi in considerazione e ottenendo la sua approvazione.

☝️ Esempio: un cliente chiede un'applicazione veloce, il team di progetto tradurrà questa esigenza in specifiche più concrete con una velocità di caricamento ottimale quantificata.

E le specifiche non funzionali?

Le specifiche non funzionali sono complementari a quelle funzionali, in quanto definiscono criteri di qualità e vincoli di sistema non direttamente legati a funzionalità specifiche.

Riguardano aspetti quali :

  • prestazioni
  • sicurezza
  • affidabilità
  • manutenibilità del sistema, tra gli altri.

Le loro funzioni principali? 👉 Stabilire e garantire gli standard di qualità, identificare e ridurre i rischi, fornire informazioni sulla scalabilità e sulla capacità del sistema e definire i criteri di manutenibilità del sistema, ad esempio.

Specifiche funzionali: agili o tradizionali?

Con il metodo del ciclo V, le specifiche funzionali sono dettagliate ed esaustive fin dall'inizio del progetto .

Con un metodo agile come Scrum, possono essere simili alle storie dell'utente, che traducono le esigenze dell'utente in una o più funzionalità .

Queste specifiche funzionali agili vengono scritte durante tutto il progetto, prima del relativo ciclo di sviluppo (sprint), e richiedono quindi un monitoraggio rigoroso e una perfetta collaborazione tra il Product Owner e il team Scrum.

D'altro canto, consentono una gestione più flessibile e una maggiore adattabilità all'avanzamento del progetto e ai feedback dei clienti, oltre a concentrarsi su ciascuno di essi quando si tratta di elaborarli.

Esempio di specifica funzionale agile:

  • Contesto
    In qualità di (utente/ruolo aziendale), voglio (necessità), al fine di (beneficio atteso);

  • Caso d'uso
    • Scenario A: profilo utente A
      • Azione di navigazione 1
      • Azione 2
      • ecc.
    • Scenario B: profilo utente B
      • Azione di navigazione 1
      • Azione di navigazione 2
      • ecc.
  • Criteri di accettazione
    Regole di business o funzionali utilizzate per convalidare che la storia utente sviluppata soddisfi il requisito. A volte si parla di DoD per definizione di Done.

Scopo delle specifiche funzionali

Gli obiettivi delle specifiche funzionali sono

  • elencare e descrivere tutte le funzioni di un software, di un'applicazione o di un sito web;
  • definire l' ambito funzionale del progetto
  • mettere tutti i team e il cliente sulla stessa lunghezza d'onda fin dalla fase di progettazione.

Sono quindi utili per :

  • il cliente, che verifica che le funzionalità pianificate soddisfino i suoi requisiti;
  • il project manager o Product Owner, che stima la portata del progetto, assegna le risorse necessarie ed esegue la pianificazione;
  • il CTO, che dispone di una solida base per determinare le specifiche tecniche;
  • gli sviluppatori e i tester, che combinano le specifiche funzionali e tecniche e le valutano;
  • il team di supporto, che lo utilizza come archivio del prodotto.

Pertanto, la stesura del documento deve essere collaborativa e coinvolgere le principali parti interessate, idealmente:

  • il cliente
  • l' analista funzionale o il product manager
  • il progettista UX/UI
  • i team tecnici.

Come si scrivono le specifiche funzionali?

Fase 1: Definire l'ambito funzionale

Dopo aver raccolto e riformulato i requisiti del cliente, utilizzate la mappatura dell'impatto per definire l'ambito funzionale ponendovi domande quali:

  1. Qual è lo scopo del sito/software?
  2. Chi saranno gli utenti finali?
  3. Quali vantaggi stanno cercando di ottenere con il suo utilizzo?
  4. Quali caratteristiche li aiuteranno a raggiungere questo obiettivo?

Fase 2: Creare una struttura ad albero

Strutturate le specifiche utilizzando un grafico e create una struttura ad albero per il prodotto web, per vedere come le funzionalità si integrano tra loro e per visualizzare il percorso dell'utente (l'inizio del design dell'interfaccia utente, il design funzionale).

Fase 3: Definizione delle priorità

Stabilite le priorità delle funzionalità da sviluppare in base alla loro importanza e interdipendenza.

In questo modo il project manager potrà pianificare i compiti e assegnare le risorse necessarie.

Fase 4: scrivere la parte funzionale delle specifiche

Scrivete le specifiche in modo strutturato. Ecco un esempio di indice per le specifiche funzionali:

  1. Contesto
  2. Casi d'uso e profili utente
  3. Ambito funzionale: funzionalità e sottofunzionalità
    1. Front office
      1. Funzionalità 1
      2. Funzionalità 2
      3. Funzionalità 3
    2. Back office
      1. Funzionalità 1
      2. Funzionalità 2
      3. Funzionalità 3
  4. Vincoli e regole di gestione
  5. Mappatura funzionale/struttura ad albero
  6. Illustrazioni
  7. Documentazione

Non esitate a scaricare il nostro modello di specifiche di progetto per trarre ispirazione. Contiene una sezione dedicata alle specifiche funzionali e un'altra alle specifiche tecniche. Potete compilarlo in Word o scaricarlo in formato PDF.

💡 In alternativa, per semplificare ulteriormente le cose, potete utilizzare monday.com per gestire i vostri progetti. Seguite i progressi in tempo reale e accedete a tutti i documenti e le informazioni centralizzate quando volete. Lo strumento fornisce anche modelli personalizzabili e facili da usare per produrre le specifiche funzionali.

Consigli per la stesura delle specifiche funzionali

✅ Non sbagliate la fase di inventario funzionale esaustivo, altrimenti non avrete alcuna specifica pertinente e farete passi indietro che vi costeranno tempo e clienti!

Utilizzate uno strumento grafico per redigere l'inventario funzionale, come una tabella o un diagramma: l'elenco delle funzionalità e la loro programmazione saranno più chiari e semplici (criticità, urgenza, interdipendenza).

☝️ Il diagramma FAST ha il vantaggio di elencare le funzioni e le sottofunzioni principali, ma anche di avviare una riflessione sulle funzioni e sulle soluzioni tecniche.

✅ Per continuare con la visualizzazione, illustrare le funzionalità con diagrammi o schermate, in modo da tradurre le specifiche scritte in elementi concreti per tutti.

✅ Se necessario e pertinente, allegare la documentazione che aiuterà tutte le parti interessate a comprendere le specifiche (espressione dei requisiti, nota di scoping, linee guida, carte, ecc.)

✅ Usare un vocabolario semplice ma preciso, comprensibile a tutti, per evitare equivoci. Le specifiche devono essere formulate sempre allo stesso modo, ad esempio con un verbo + un complemento per descrivere l'azione prevista.

✅ Siate esaustivi, ma andate dritti al punto; non si tratta di un esercizio di letteratura, ma della stesura di una guida che vi porterà dalla concezione al completamento del progetto digitale senza errori o omissioni.

Per favorire la tracciabilità e l'evoluzione del documento, potete inserire nell'intestazione i nomi delle persone coinvolte nella stesura dell'SDF, le date degli aggiornamenti, ecc.

Quali sono i vostri consigli? Utilizzate un software specifico per definire le specifiche funzionali?

Le specifiche funzionali in breve

Come avrete capito, le specifiche funzionali sono essenziali per garantire che il prodotto digitale sviluppato soddisfi le aspettative degli utenti e i requisiti dei clienti. ☝️

Fornendo una descrizione chiara e dettagliata delle funzionalità previste, assicurano una comunicazione efficace tra tutte le parti interessate e fungono da guida per il team di sviluppo.

Adottando pratiche rigorose nella redazione, ottimizzerete la qualità e il successo del vostro progetto!

Articolo tradotto dal francese