Quale dovrebbe essere la documentazione di progetto / ambito minima prima dell'inizio dello sviluppo?

5

Sono uno sviluppatore junior che lavora da solo nell'aspetto della programmazione dei progetti.

Mi viene dato un file png con 5-6 pagine disegnate, la maggior parte delle volte con dettagli specifici. Da questo mi viene chiesto di sviluppare il sistema di back-end necessario per mantenere il sito web, di solito un sistema di catalogazione con prodotti, tag e categorie e abbinare il front-end al design.

Mi trovo in un sottaceto perché quando prendo decisioni basate su ipotesi sul flusso del sito Web, a causa della mancanza di dettagli, vengono corretti e mi viene richiesto di riscrivere il codice per adattarlo a quanto effettivamente desiderato.

Questo processo si verifica più volte nel corso di un progetto, spesso volte con gli stessi dettagli, fino a quando non è finalmente terminato, con finestre rotte dappertutto.

Comprendo che i progetti hanno una certa insicurezza, e posso apprezzare che ho bisogno di pianificare per questo, ma ritengo che in questa situazione, non sto ricevendo abbastanza dettagli per pianificare in modo efficace il progetto, con conseguente codice rotto e una mente stressata.

Quale dovrebbe essere la documentazione minimal di design / ambito che ricevo prima di iniziare lo sviluppo?

    
posta hoppipolla 18.09.2012 - 06:31
fonte

3 risposte

11

when I make decisions based on assumptions [...] I get corrected

Quindi non fare tante ipotesi: chiarisci in anticipo, chiedi! Se la persona che devi chiedere non è sempre disponibile, prepara una lista di domande. E ripeti ogni volta che sorgono nuove domande, regolarmente, forse ogni giorno!

This process happens multiple times throughout a project [...] with broken windows all through it.

Quando migliora il tuo codice più volte, ovviamente dovrebbe diventare migliore, non peggio. Se il tuo codice peggiora, è quasi sempre un segnale che cerchi di aggiungere nuovi requisiti ai tuoi metodi e corsi esistenti ancora e ancora, senza alcuna ristrutturazione del tuo codice, finché non diventano troppo grandi o troppo complicati. Puoi evitarlo iniziando a refactoring più presto. Ogni nuovo requisito aggiunto dovrebbe essere un'occasione per ridefinire il codice lungo il processo in modo che il nuovo requisito possa essere aggiunto più facilmente. Se hai bisogno di ulteriore aiuto, troverai molte informazioni sul refactoring su questo sito.

what should be the minimal design/scope documentation I receive before I begin development

Il tuo equivoco qui è - "qualcun altro scrive tutte le informazioni per me, quindi inizio a codificare". Quando hai chiesto il tuo elenco di domande, scrivi le risposte e aggiungili alla specifica o alla documentazione di progettazione . Quindi attua ciò di cui sei sicuro, finché non si presentano nuove domande. È praticamente impossibile prevedere tutte le domande che avrai per chi scrive la documentazione di design / scope, quindi non aspettarti che lo faccia. Meglio vederlo come un processo incrementale. Quando non hai più domande e hai annotato tutte le risposte che hai ricevuto, la documentazione di design / ambito è completa.

    
risposta data 18.09.2012 - 08:41
fonte
5

Penso che il problema fondamentale sia nella comunicazione , non nella documentazione.

Inoltre, chiarire le esigenze del cliente e del business con il proprietario del prodotto / BA (o PM se non ci sono analisti aziendali) nella tua organizzazione attraverso una comunicazione efficace ti alleggerirà la vita e ti aiuterà molto buoni risultati con set di cambiamenti meno drammatici.

Come forse saprai, Agile Software Development ha come target gli obiettivi citati sopra e potresti trovare ulteriori informazioni da questo riferimento .

    
risposta data 18.09.2012 - 06:46
fonte
1

Ho scoperto che non esiste una risposta singola. Nessuna regola d'oro.

Ogni client e progetto richiede un diverso livello di specifiche.

Una cosa è vitale per tutti però - comunicazione . Per il meglio delle tue capacità, fai capire al cliente cosa stai facendo e perché. Assicurati di discutere ogni aspetto del sito web e di comprenderne ogni minima parte.

Ti consiglierei di fare quanto segue: - qual è l'obiettivo finale. - cosa fa questo sito - chi lo usa - Come questo sito aiuta l'azienda

Cerca di rispondere a queste domande prima ancora di pensare in termini di codice. Dopo aver compreso chiaramente ciò che il tuo cliente desidera / ha bisogno, ALLORA dimentica tutto e concentrati sull'implementazione.

Ho avuto clienti che mi hanno dato una breve conversazione di 5 minuti con exaplin per un sistema che impiegherà 2 mesi per essere visualizzato. E avevo specifiche scritte su 10 pagine che richiederebbero 2 giorni di sviluppo.

È importante ricordare che abbiamo uno scopo negli affari del cliente: creiamo qualcosa per loro e abbiamo bisogno di sapere COSA quella cosa è

    
risposta data 19.09.2012 - 09:50
fonte

Leggi altre domande sui tag