La prototipazione rapida è incompatibile con le specifiche dei requisiti software?

1

Da quello che ho imparato la scorsa stagione sui corsi SWE, gran parte di esso è la scrittura di documenti, quindi sembra che una specifica dei requisiti del software (SRS) dovrebbe guadagnare punti per il mio progetto di fine corso.

Tuttavia, mi sentirò più a mio agio se utilizzo la prototipazione, cioè creo una piccola cosa che funziona per le situazioni più banali e gradualmente aggiungo funzionalità e miglioramenti. LVS 68: 1996 non sembra raccomandare di mescolare queste due cose insieme.

È possibile mantenere il mio approccio preferito allo sviluppo e disporre di un documento di specifica dei requisiti utilizzabile?

    
posta Worse_Username 26.02.2014 - 10:20
fonte

3 risposte

4

SRS è usato per mettere su carta i requisiti per l'intero progetto. Il prototipo viene utilizzato per dimostrare che sei sulla strada giusta.

Quando scrivi lo SRS, potresti non essere sempre sicuro se:

  • La funzione è fattibile,

    Cosa succede se tecnicamente è fattibile, ma il tuo team impiegherà anni a svilupparlo, a causa dei vincoli del linguaggio, della piattaforma o del framework? Un prototipo ti consente di sapere rapidamente che sei sulla strada sbagliata.

  • L'approccio che hai scelto all'interno di SRS è quello giusto,

    Potrebbero esserci diverse soluzioni per lo stesso problema e potrebbe non essere chiaro, senza ulteriori ricerche, quale di esse sia giusto.

    Sebbene SRS non debba inserire i dettagli dell'implementazione, è spesso difficile essere abbastanza astratto da consentire agli sviluppatori di scegliere l'approccio giusto. Per evitare di perdere giorni, settimane o mesi dopo, la creazione di diversi prototipi può portarti verso la soluzione più praticabile. Non sarà sempre corretto, ma attenua ancora il rischio di scrivere requisiti che incoraggiano la soluzione sbagliata.

  • La funzionalità, come la descrivi, è davvero ciò di cui i clienti hanno bisogno.

    Spesso le parti interessate non sanno cosa vogliono.

    Un modo è scrivere SRS, firmarlo, spedire il prodotto e quando le parti interessate diranno che è inutile, perché non risponde alle loro esigenze, rispondi che è conforme allo SRS che hanno firmato.

    Un altro modo è usare Agile. Ti dà la flessibilità di adattare il tuo prodotto alle reali esigenze dei clienti e offre agli stakeholder la flessibilità necessaria per adeguare le loro esigenze in base a qualcosa di concreto.

    Infine, una terza possibilità è quella di prototipare parti dell'applicazione dove le parti interessate non sono sicure delle loro esigenze o non sono d'accordo tra loro, e solo allora firmano la SRS.

In questi casi, la prototipazione viene prima che SRS chiarisca le cose.

    
risposta data 26.02.2014 - 10:43
fonte
3

Se non hai una specifica dei requisiti, non sai cosa dovresti fare. I requisiti vengono prima di ogni altra cosa.

Il prototipo è un modo valido per dimostrare se qualcosa può essere fatto, ma questo non fa parte dei requisiti, fa parte della consegna della soluzione. A volte viene fornita una specifica e il compito di scrivere un documento di soluzione per descrivere come implementare le funzionalità richieste. È qui che entra in scena la prototipia, mentre si determina la soluzione (e per essere onesti, tendo a "prototipare" la mia soluzione prima di documentare ciò che "farò";))

    
risposta data 26.02.2014 - 12:10
fonte
2

Se non sai cosa stai facendo, allora l'ultima cosa che dovresti fare è scrivere una specifica dei requisiti, in quanto tutto ciò che ti darà è una specifica dei requisiti scritta da qualcuno che non sa cosa sta facendo.

Forse qualcun altro sa cosa stanno facendo - in tal caso, dovrebbero scrivere le specifiche. Altrimenti, devi imparare cosa deve essere fatto. E per questo fa poca differenza se si tratta di una nuova attività che nessuno sa letteralmente come fare, o che teoricamente c'è qualcuno che potrebbe dirti, ma non hai il budget per pagarli spendendo il tempo a farlo.

Il problema con la specifica dei requisiti come attività di apprendimento è che non fornisce alcun feedback sul fatto che ciò che hai specificato sia giusto o sbagliato. Non esiste un compilatore di requisiti o uno strumento di test che ritorni e dice "questo è sbagliato, non ha senso, non risolve il problema, o piacerà a nessuno".

La prototipazione esplorativa è una tecnica che si adatta ad alcune persone come mezzo per apprendere abbastanza su un dominio per scrivere una specifica dei requisiti utili. Ma non dovresti assumere che sarà il migliore in ogni caso particolare senza considerare le alternative. E di certo non dovresti aspettarti di ottenere molto da qualsiasi software prodotto come sottoprodotto di quel processo di apprendimento, più di quanto dovresti aspettarti di poter vendere le note che hai fatto in classe per una frazione del prezzo di un istruzione universitaria.

    
risposta data 26.02.2014 - 12:55
fonte

Leggi altre domande sui tag