Uno dei compiti principali sul mio piatto è la comunicazione con il cliente. Una cosa che trovo particolarmente difficile è gestire le scadenze perché sono obbligate dal cliente e spesso non sono consultato.
Se dovresti essere responsabile della comunicazione con il cliente, perché non sei consultato sulla pianificazione (e sul budget) in modo da poter comunicare queste informazioni tra le persone responsabili all'interno della tua organizzazione e le loro controparti a fianco del cliente? Penso che risolvere questo problema sarà un enorme vantaggio per te, il tuo team e il tuo progetto.
Il cliente presenta una funzione che desidera aggiungere, la funzione X. La funzione X sarebbe bella nella prossima versione dell'app che è di circa 6 giorni lavorativi. A questo punto, la richiesta di funzionalità deve essere approvata e spesso ci sono altre dipendenze che devono essere gestite. Alla fine, N giorni dopo, la richiesta di funzionalità arriva alla mia squadra. Anche se la scadenza originale (stabilita da un gestore non sviluppatore) era raggiungibile, non lo è più.
Questo sistema per la pianificazione sembra strano, per non dire altro.
Nelle mie esperienze, il cliente accede per una versione particolare. Potrebbero inviare un elenco di funzionalità e modifiche che desiderano e quando le desiderano, quindi negoziare con il team che sviluppa il software. Oppure potrebbero fornire un elenco prioritario di funzionalità al team di sviluppo e il team di sviluppo fornisce stime su quando possono spedire vari set di funzionalità. Ci sono anche altre varianti.
Ma una cosa che non ho mai visto è consentita è che un cliente è in grado di modificare il rilascio così tardi nel gioco, soprattutto a una settimana di distanza dal rilascio. Non sembra giusto mettere i progettisti, gli sviluppatori e i tester sotto quel tipo di pressione. Se stai eseguendo uno sviluppo iterativo, se si tratta di una funzionalità ad alta priorità, assicurati di aggiungerlo alla forma di backlog e prenderlo il più presto possibile. Se non è una funzionalità ad alta priorità, sicuramente non ne hanno bisogno durante questa versione e possono aspettare fino alla prossima.
Consiglierei di impostare alcune regole di base che soddisfino i vostri team di progettazione, sviluppo, test e consegna, nonché i vostri clienti in merito a blocchi, blocchi di codice e consegne. Metti questi per iscritto, ottieni impegno da tutti e mantienilo. Se ti muovi una volta, dovresti piegarti di più e perderai il controllo del processo.
Sfortunatamente, non c'è molto che posso fare perché non sono in una posizione di potere qui.
Potresti non essere, da solo. Ma sembra che i vostri progettisti e / o sviluppatori e / o tester abbiano molta pressione per rispettare i programmi. Dovresti sederti con i tuoi superiori come una squadra e spiegare la situazione. Per prima cosa, fai in modo che la tua organizzazione si impegni a migliorare il processo, quindi collabora con il cliente per ottenere il suo consenso su come funzioneranno le cose.
Mi sembra un po 'come se stessi inventando delle scuse.
Quando inizi a trovare delle scuse, potrebbe essere il momento di avere una conversazione difficile o una conversazione cruciale . Consiglierei uno di quei due libri. La loro lettura mi ha aiutato a migliorare le mie capacità comunicative, soprattutto quando devi affrontare una situazione difficile in cui le tensioni sono elevate da tutti i lati.
Per rispondere ad alcune delle altre risposte.
Purtroppo, il potere è per lo più preso da te stesso invece che concesso da altri.
Non so dove andrà Andrea con questo. Sì, è necessario correggere il flusso di informazioni. Ma devi lavorare con i PM e il cliente per assicurarti che tutti sappiano cosa era (presumo, comunque) concordato all'inizio del progetto. Se l'accordo, per qualsiasi motivo, non funziona, rivisitarlo e ridistribuire il lavoro e i ruoli alle persone più adatte a loro.
Non prendi il potere o combatti il potere, ma ci lavori, cercando di domarlo e farlo funzionare per tutti.
Il problema è che il cliente conosce principalmente il valore commerciale per la funzionalità, ma non si rende conto della sua complessità. Discutere e chiarire. Sempre.
Questa citazione da loki2302 è praticamente perfetta . Uno dei tuoi lavori come ingegnere del software è assicurarti che le persone giuste sappiano cose come quanto sia difficile un compito, quanto tempo ci vorrà e che tipo di opzioni e rischi esistono nel fare qualcosa. Come comunicatore principale per il tuo team, in teoria trasmettere queste informazioni dalla tua organizzazione al tuo cliente è il tuo lavoro.