Come formalizzare le richieste di funzionalità

2

Sono nuovo nello sviluppo di software e ho gestito richieste di funzionalità per un'app web interna che ho creato.

A volte le richieste di funzionalità sono semplici e richiedono una logica aziendale minima da implementare, quindi parlo un po 'con la persona, scrivo i loro requisiti e vai al lavoro.

Tuttavia, sto iniziando a lavorare sulla caratteristica X in cui X ha angoli oscuri di logica aziendale e gli scenari dei casi speciali continuano a spuntare perché non ho fatto le domande giuste e / o la persona che ho Parlare con non ha pensato di menzionarlo.

Quindi sono curioso, in che modo i professionisti gestiscono questo processo? Alcune cose che ho pensato sono:

  1. Richiedi che le richieste di funzionalità vengano scritte con i requisiti appropriati.

  2. Comprendi il loro lavoro abbastanza bene da poterne fare il mio.

Un esempio per illustrare un problema simile è l'implementazione di regolamenti governativi nel codice. Ho studiato i regolamenti, creato un diagramma di flusso e sono andato da lì. Avrei potuto risparmiare un paio di giorni se qualcuno avesse avuto una buona conoscenza dei suddetti regolamenti, ha scritto i requisiti e me li ha consegnati.

Sto facendo la stessa cosa per la funzione X, eccetto che nulla è stato scritto, quindi non sono in grado di dedurre la loro logica di business senza passare attraverso un processo graduale attraverso il loro lavoro. Anche questo a volte fallisce, perché alcuni casi speciali non erano presenti quel giorno.

Utilizzando l'esempio sopra riportato, è responsabilità dello sviluppatore ricercare questo o qualcosa che dovrebbe essere fornito?

Qualche suggerimento per rendere questo processo un po 'più agevole?

    
posta fbynite 08.08.2013 - 21:03
fonte

2 risposte

6

Il problema che descrivi non ha una soluzione generale. Hai clienti interni (credo dalla tua domanda), che sono professionisti nel loro campo, ma ovviamente non specialisti nella formalizzazione dei requisiti.

In breve: è compito del programmatore capire bene il dominio per costruire software. Prova a creare un glossario di termini / cogliere la lingua parlata dal tuo cliente. Non aspettarti che la loro logica sia perfetta.

Inoltre, non provare a rendere troppo formale il processo di estrazione dei requisiti. Il processo di sviluppo iterativo può aiutare i clienti a vedere pezzi mancanti. Anche i prototipi sono utili. Alcuni clienti potrebbero essere stressati dal fatto che non capisci le cose, che sono ovvie (a loro). Solo osservare il loro processo di business può darti molte informazioni.

Leggi i regolamenti da solo quando possibile. Cerca di trovare qualcuno, se non capisci momenti specifici.

A meno che i tuoi clienti non siano tecnicamente inclini, è inutile imporre formalità (o anche il tuo "processo") su di loro. Ancora peggio parlare la lingua del dominio del software invece del linguaggio del dominio problematico.

Tuttavia, ogni situazione è unica. La cosa migliore è raccogliere più esperienza nel dominio del problema. Basta avere una mentalità aperta per capire il dominio dei problemi nella misura necessaria per creare software. Anche l'atmosfera amichevole aiuta molto. Le persone potrebbero stancarsi delle sessioni di raccolta dei commenti noiosi.

Ci sono alcuni libri sull'argomento. Ad esempio, alcune parti del collegamento ("Gestione dei requisiti basta: dove lo sviluppo del software incontra il marketing" di Alan Mark Davis ) può aiutare a capire come la raccolta di richieste è fatta su larga scala. Naturalmente, il famoso "Code Complete" di Steve McConnell può anche dare alcune buone intuizioni.

Anche se la tua organizzazione ha qualcuno, il cui compito è quello di scrivere i requisiti, può aiutare a partecipare al processo per fornire almeno un feedback precedente sulla fattibilità tecnica. Se non c'è una persona per questo, tutto ciò che è responsabilità dello sviluppatore.

    
risposta data 08.08.2013 - 21:36
fonte
5

Sembra che la domanda che stai ponendo riguardi i requisiti iniziali. Gli utenti possono fornire tutto per iscritto e non essere ancora abbastanza chiari per poter scrivere qualsiasi codice. Puoi richiedere tutti i contratti che desideri, ma continueranno a tornare e indicare che non è quello che vogliono (le decisioni sul costo sono un'altra domanda).

Ci sono alcuni dettagli tecnici che devi fare. Andare avanti e indietro per chiarire i requisiti non è raro. In alcuni luoghi, ci sono analisti e architetti di business che possono fare molto di questo, ma poi la comunicazione deve ancora avvenire. Di solito sono più attrezzati per capire di cosa hai bisogno.

La responsabilità è di entrambe le parti e non c'è un posto perfetto nel mezzo della strada dove voi due vi incontrerete sempre.

    
risposta data 08.08.2013 - 21:23
fonte

Leggi altre domande sui tag