Le specifiche funzionali sono una componente importante ma trascurata. In due articoli vediamo perché e come risolvere questo aspetto dello sviluppo software.

Specifiche funzionali: come migliorare il lavoro e risparmiare soldi sul software. (parte 1/2)

Le specifiche funzionali sono una componente importante ma trascurata. In due articoli vediamo perché e come risolvere questo aspetto dello sviluppo software.

Una specifica funzionale serve a progettare il software che realizzeremo. Nonostante ciò, spesso non gli viene dato il giusto rilievo sia da chi chiede che da chi produce quel software.

Joel Spolsky, noto agli addetti ai lavori da lunghi anni per il suo “Joel on Software” e non solo, ne parla in modo molto interessante in una serie di post che comincia da qui: “Painless Functional Specifications: Why Bother?

Cosa è una specifica funzionale, e cosa non è.

http://xkcd.com/293/

Una specifica funzionale descrive in modo esauriente il funzionamento di un prodotto dal punto di vista della persona che lo utilizzerà.

Nella specifica funzionale di un software si parla delle funzionalità disponibili, specificando schermate, menu, finestre di dialogo, e tutto il resto; non ci si preoccupa, invece, degli aspetti tecnici e di come quel prodotto sarà realizzato.

NB: quando si parla dei dettagli implementativi di un prodotto, quella è una specifica tecnica. Si scende nei dettagli delle strutture dati, dei modelli relazionali per i database, dei linguaggi di programmazione e così via.

Perchè è importante scrivere la specifica funzionale.

1. Il linguaggio naturale è molto più economico che qualsiasi linguaggio di programmazione.

Descrivere il progetto di un software usando il linguaggio naturale è molto più rapido rispetto a un qualsiasi linguaggio di programmazione; pochi minuti al confronto di ore o giorni interi.

A corollario di questo, pochi si arrabbiano se un paragrafo va modificato o eliminato da una specifica, ma tutti tendiamo a difendere il frutto del nostro lavoro tanto più aggressivamente quanto più ci sarà costato fatica, anche se le motivazioni al cambiamento sono legittime.

2. Scrivere una volta per non dover ripetere.

Descrivere il progetto di un software in una specifica funzionale permette di risparmiare tempo nelle comunicazioni: una volta scritta la specifica, tutto il team e le persone interessate potranno leggerla con facilità.

3. Pianificare correttamente le attività.

Avere una specifica funzionale di un software ben dettagliata è l’unico modo per poter definire una pianificazione.

Dunque, perchè la gente non scrive specifiche funzionali?

Chi dovrebbe farlo, tende a non scrivere specifiche funzionali: si pensa che siano una perdita di tempo, riservata agli ingegneri di grossi colossi aziendali.

Quante specifiche funzionali degne di questo nome avete visto nell’ultimo anno? Io poche, e c’è un motivo: secondo Joel, è perchè quasi a nessuno piace scrivere. Per questo consiglia di iniziare a scrivere prima possibile, magari su un proprio blog, e magari di frequentare dei corsi di scrittura creativa.

Ora puoi provare a seguire il prossimo articolo dove elenchiamo 5 regole per scrivere specifiche funzionali efficaci.

Grazie a xkcd per le immagini: RTFM.

Share this on

Share |

On same topics

Commenti

comments powered by Disqus