Lavoro per una società di sviluppo software in cui il lavoro di sviluppo ci è stato proibito. Il team on-shore gestisce il supporto e parla direttamente con i clienti. Non parliamo mai direttamente con i clienti, ma parliamo solo di persone del team on-shore, che parlano direttamente ai clienti.
Quando arrivano i requisiti, la squadra di terra parla con i clienti e crea i documenti necessari e ci informa. Realizziamo i documenti di progettazione dopo aver studiato i requisiti (seguiamo il tradizionale modello a cascata).
Ma c'è un problema nell'intero processo: nessuno nel team off-shore o on-shore capisce completamente la funzionalità dell'applicazione. Sappiamo solo che è una grande app Web complessa che gestisce l'elaborazione di ordini complessi, la gestione dei cataloghi, la gestione delle campagne e altre attività. Abbiamo difficoltà con il documento di progettazione in quanto i requisiti non sarebbero chiari. Passa quindi a una serie di domande / risposte avanti e indietro tra la squadra di terra, la squadra fuori terra e i clienti. Ci sarebbe spesso detto di comprendere la funzionalità dal codice. Ma di solito non è fattibile dato che la base di codice è enorme e persino la comprensione di una semplice voce di menu richiede giorni se non settimane. Abbiamo provato a dire ai clienti di darci trasferimento di conoscenze sull'applicazione, ma senza successo. Il nostro manager ci diceva spesso di iniziare a programmare anche se il documento di progettazione non è completo oi requisiti non sono chiari. Iniziamo codificando la parte dei requisiti che sembra chiara e aspettiamo il resto.
Questo di solito ritarderebbe l'implementazione di un mese. In casi estremi avremmo errori molto bassi nello sviluppo e nella produzione, ma i clienti direbbero che non è quello che hanno chiesto. Avrebbe iniziato un gioco di biasimo e una serie di richieste di cambiamento e avremmo finito per sviluppare qualcosa di molto diverso.
La mia domanda è: come faresti lo sviluppo se non conosci pienamente la funzionalità dell'app?
UPDATE
La metodologia di sviluppo non è davvero la mia scelta e non sono il capo della mia squadra. È il modo in cui è iniziato. Ho provato a dire alla gente dei vantaggi dell'agile, ma senza risultati. Inoltre, non credo che la mia squadra abbia la mentalità necessaria per lavorare in un ambiente agile.