Come si scrive una specifica funzionale in modo rapido ed efficiente

17

Quindi ho appena letto alcuni articoli favolosi di Joel sulle specifiche qui . (È stato scritto nel 2000 !!) Ho letto tutte e 4 le parti, ma sto cercando alcuni approcci metodici per scrivere le mie specifiche.

Sono l'unico sviluppatore solitario che lavora a questa app (o famiglia di app) piuttosto complicata per una società finanziaria molto nota.

Non ho mai fatto qualcosa di così serio, ho iniziato a scrivere qualcosa come una cattiva specializzazione, una panoramica di alcuni tipi, e ha sprecato un sacco del mio tempo.

Ho anche realizzato 3 mockup-kinda-thingies per il mio cliente, così ho una buona comprensione di ciò che vogliono. È stata inoltre rilasciata un'anteprima (un'app funzionante con il flusso di lavoro più semplice) e ho solo scritto e testato alcuni dei sistemi core / di base.

Penso che l'errore che ho fatto finora non stia scrivendo una specifica dettagliata, quindi ora ci sto arrivando.

Quindi il tutto comprende

  • Un sito Web MVC (per amministratori e visualizzazione di dati)
  • 2 moduli Silverlight (per 2 attività specifiche)
  • 1 applicazione desktop

Sono totalmente a corto di tempo, risorse e ho bisogno di farlo rapidamente, inoltre, ho bisogno di assicurarmi che questi ragazzi lo leggano in modo altrettanto rapido e indolore.

  • Quindi come vado su di esso, sto cercando per qualsiasi consiglio, qualsiasi cosa del mondo reale, come lo fate di solito?
  • Fai una falsa sceneggiatura di ogni finestra di dialogo / modulo / pagina?

Sto pensando di creare un fittizio progetto Web Form di ASP.NET, quindi di riempire i file HTML in cartelle e renderlo simile alla mia struttura URL MVC.

Poi avere una sezione nelle specifiche per il sito web e scrivere una pagina per ogni URL che ho con uno screenie.

Per la mia app form di vittoria, ho realizzato un progetto di Win Form in qualche modo, sarei quindi ho inserito una finestra di dialogo o struttura tutto come avrei fatto nella vera app e poi lo avrei salvato sullo schermo ?

Per un po 'di background in questa domanda. Sono sempre stato un tipo pazzo da codice jump-to-code, che ha funzionato bene, ma per l'app su cui sto lavorando, non è solo complesso, è per un'azienda molto rinomata e di grandi dimensioni e devo ottenerlo destra!

(Ed è andata bene finora, oggi ho dato una demo della versione di anteprima che piaceva a molte persone !! = D)

Se avrò il giusto design iniziale avrò anche un ottimo business con questa azienda, ci sono già molti a pensare a nuove "fantastiche" funzionalità che sono pronte a pagare.

    
posta gideon 06.01.2011 - 19:58
fonte

1 risposta

22

Hai letto parte 2 dell'articolo o il suo specifiche campione ? Rappresentano un paio di importanti principi quando si scrive una specifica.

  • Non sovradimensionare. Lo scopo di scrivere le specifiche è di costringerti a pensare a cose importanti come quello che succede quando c'è un errore, e come ti aspetti che l'utente interagisca con il sistema. Non devi entrare in dettagli eccessivi per ottenere qualcosa da cui puoi lavorare. Hai bisogno di dettagli, però.
  • Si tratta di comunicazione. Lo scopo delle specifiche è di raggiungere un accordo comune su ciò che deve essere fatto. Non è un documento corazzato che richiede la forza della legge. È uno strumento che ti aiuta a capire meglio il tuo cliente e il tuo cliente per capire meglio cosa vuoi fare per loro.

Il miglior consiglio è quello di scrivere abbastanza in modo da essere chiari su ciò che devi fare. Se hai domande aperte, documentale nelle specifiche e ottieni le risposte dal tuo cliente. Una volta che hai adeguatamente capito cosa è necessario stop .

Se non stai attento, il documento assumerà una vita propria. Dovrebbe avere uno scopo, non aggiungere nulla al documento che non si adatta a questo scopo. Dovrebbe essere facile da mantenere. Se hai gli interi diagrammi dettagliati delle classi, insieme ad altri dettagli che appartengono davvero a un test unitario, abbandonerai il documento perché la manutenzione è eccessiva, altrimenti il progetto non verrà completato.

Informazioni sulla scrittura

Scrivere per le persone è difficile . In effetti, le due cose più difficili della scrittura sono sapere come iniziare e sapere quando smettere . All'inizio devi solo fare qualcosa. Il mio consiglio per affrontare questi due aspetti più difficili è:

  • Conosci il tuo pubblico. Chi dovrebbe leggere le specifiche? Se sei solo tu e il cliente, ecco a chi stai scrivendo. Se hai qualcuno responsabile dei test, avrai anche delle note per loro.
  • Inizia con la priorità più alta. Mentre l'autenticazione è importante, la schermata di accesso è probabilmente il pezzo più comprensibile che la maggior parte della gente deve scrivere. Concentrati invece su quella funzione di cui i tuoi utenti hanno più bisogno. Sai, quella parte che fa guadagnare denaro ed è l'intera ragione per cui hanno bisogno del software.
  • Compila i dettagli mentre le domande vengono visualizzate e ottieni le risposte. Mantieni le cose davvero semplici con i disegni a tovagliolo, se necessario, finché il cliente non è soddisfatto della sistemazione. È importante sapere quali informazioni sono coinvolte e come verranno utilizzate.
  • Interrompi quando aggiungi altro non aggiunge valore. Ci sono alcuni dettagli che non vuoi in una specifica. Devi sapere quando hai la cosa giusta. Non è necessario sapere che esiste una variabile all'interno di un metodo chiamato "albaquerque". Questo è il codice sorgente, non le specifiche.
risposta data 06.01.2011 - 20:21
fonte

Leggi altre domande sui tag