L'ultimo progetto ero il progettista del software. Tutto lo sviluppo era al largo. Abbiamo avuto successo Quindi questo processo può funzionare.
Ho prodotto molta documentazione ma non è stato affatto esauriente e in nessun modo istruzioni passo passo o dettagliate fino ai nomi di classi, nomi di funzioni, ecc. Per esempio, ho prodotto diagrammi di sequenza, casi d'uso, flussi di lavoro, sistema e diragram di integrazione, oltre a una documentazione di progettazione più dettagliata secondo necessità.
Dipende davvero da quanto ti fidi dello sviluppo offshore. Mi fido del mio team offshore per essere sviluppatori competenti. Detto questo, ho fornito la direzione generale, ma ho dato loro la libertà di implementare che il team offshore ha trovato piacevolmente soddisfacente. In passato erano più micro-gestiti. In determinate situazioni li guiderei utilizzando gli schemi di progettazione necessari. Inoltre, ho eseguito regolarmente revisioni e analisi del codice sul codice che hanno scritto e consiglierei di rifattare o ripulire gli sforzi. Inoltre, dal momento che alcuni membri della squadra hanno avuto incidenti con veicoli ricreazionali, ho finito per codificare alcune delle storie durante l'implementazione dal momento che abbiamo finito per essere a corto di risorse.
Inoltre, penso che questo processo riesca davvero solo sulla forza dei tuoi lead tecnici sul progetto e sulla comunicazione tra business, designer, lead e sviluppatori. Abbiamo dedicato molto tempo a esaminare ciascuna funzionalità e storia e ci siamo assicurati che i lead / risorse offshore fossero ben informati su quali fossero i requisiti. Se non fanno domande durante la revisione della funzione / storia, si aspettano alcuni problemi. Inoltre, il lavoro non è stato considerato completo fino a quando non è stato firmato un accordo commerciale. Ciò ha reso tutti responsabili, dal momento che tutto è stato tracciato in uno strumento che ha gestito lo sviluppo agile.
Come già accennato in una delle altre risposte, il processo di sviluppo includeva standard di denominazione (regole di ricapitolazione incorporate), copertura del caso di test (usato TDD, Mocking, ecc.) quindi se c'è un buon processo di codifica e procedura in atto aumenterà le tue possibilità di successo di un progetto.