Cerco consigli che scrivano requisiti funzionali [duplicato]

0

Ho ereditato un progetto che ho mantenuto per circa un anno. Il progetto ruota principalmente attorno all'esecuzione di vari calcoli finanziari per l'utente finale. Sono circa 100.000 righe di codice spaghetti tenute insieme con nastro adesivo e gumption. Ho eseguito lentamente la revisione e il refactoring del codice in quanto devo apportare modifiche e aggiungere commenti in linea laddove disponibili, ma non esiste una documentazione formale.

Ho svolto compiti con la riscrittura del software sulla nuova piattaforma della nostra azienda (lo so, la decisione peggiore che una persona possa mai fare è una completa riscrittura, ma in questo caso è necessario, poiché l'intera architettura e il framework coinvolti stanno cambiando ). Come primo passo di questo, ho bisogno di venire con una serie di requisiti funzionali. Tuttavia, sono in una sorta di perdita su dove iniziare e come farlo. Lo scopo è così enorme che non sono nemmeno sicuro da dove cominciare.

Qualcun altro ha avuto un'esperienza simile? Dove hai iniziato con la documentazione per il nuovo progetto? Ci sono risorse che potrei consultare? Potrei scrivere le specifiche tecniche di oggi senza problemi, ma non ho mai dovuto scrivere requisiti funzionali.

So che di solito non fa parte della responsabilità dello sviluppatore scrivere i requisiti funzionali - qualcuno nel reparto commerciale dovrebbe farlo. Tuttavia, a quanto pare è stato deciso che ero la persona migliore per il lavoro come la maggior parte delle persone nel nostro dipartimento aziendale, il modo in cui funziona è solo "magico".

    
posta Locke 03.10.2014 - 18:06
fonte

3 risposte

4

Quanti anni ha la tua app?

Quasi due anni fa ho ereditato una situazione simile in un'app di 5 anni e rimaniamo calmi e continuiamo, piccoli e piccoli miglioramenti continui.

Se potessi, inizierei dal client e dall'ultimo utente . Raccoglierei i requisiti in allo stesso modo di un nuovo progetto . È probabile che le esigenze dell'utente / cliente siano cambiate o abbiano nuove idee. Molto probabilmente l'app ha funzionalità fallite che non ho bisogno di ri-implementare. Lo userei come un semplice esempio di "mockup".

In questo modo ho il vantaggio di mostrare effettivamente un prodotto a persone che già conoscono il problema. E capendo il codice posso porre la domanda giusta sul comportamento.

Anche la tecnologia è migliorata e potrebbe offrire un altro possibile punto di vista sul significato della tua app.

Questo è quello che farei se fossi così fortunato ad avere la possibilità di ricominciare da capo.

    
risposta data 03.10.2014 - 19:39
fonte
2

Ho iniziato a programmare nel 1999 e fornisco servizi di outsourcing software dal 2009 come attività in proprio. Durante questo periodo ho partecipato a oltre 300 progetti di ingegneria del software per oltre 100 clienti in diversi paesi.

La buona notizia è che l'unica società con buone specifiche che ho visto è la NASA. Gli altri di solito hanno una specifica che è meglio di niente.

Prima di tutto ci sono diversi tipi di documenti coinvolti nel ciclo di vita dello sviluppo del software:

  • Piano aziendale : questo documento fornisce spiegazioni su quanto il software porterà (o salverà), quante risorse dovrà essere creato, quanto costa il costo di proprietà.
  • Requisiti funzionali - questo è un documento più particolare che descrive in dettaglio i problemi che il software dovrebbe essere in grado di risolvere. Questo documento viene solitamente creato da una persona che conosce abbastanza bene l'azienda e nel tuo caso dovrebbe essere qualcuno a conoscenza dei calcoli finanziari.
  • Specifiche tecniche : il documento creato dal CTO o dall'architetto o da un esperto IT senior con esperienza ecc. Descrive l'approccio al problema e risponde alla domanda "Come lo faremo".

Nota: questa non è la lista completa, è più vicina al set obbligatorio minimo.

Quindi immagino tu stia cercando di fare l'ultimo di questi documenti senza avere i primi due. Suggerirei di ottenere almeno un requisito funzionale per primo e sulla base di questo documento sarete in grado di fare una Specifica Tecnica per la soluzione basata sulla nuova piattaforma.

    
risposta data 03.10.2014 - 18:54
fonte
0

Requisiti software pratici sono esauriti, ma se riesci a procurartelo, potresti trovarlo utile. Non è scritto dal punto di vista del tuo problema, ma suggerisce approcci che si traducono in requisiti funzionali che hanno un rapporto segnale / rumore molto alto, e inizia dal basso verso l'alto in una certa misura.

inoltre Volere fornisce una varietà di risorse (modelli, documenti e consulenza) per aiutare a documentare e comprendere i requisiti. Ho trovato i loro modelli molto utili, anche se è necessaria una certa discriminazione sulla scelta dei modelli.

Si applicano tutte le solite dichiarazioni di non responsabilità: non ho alcun coinvolgimento con nessuna delle fonti di cui sopra, ma le ho trovate utili.

    
risposta data 03.10.2014 - 19:13
fonte

Leggi altre domande sui tag