Come gestire i rapidi cambiamenti delle specifiche del progetto in uno scenario con scadenze strette? [chiuso]

StackOverflow https://stackoverflow.com/questions/1804995

Domanda

Come trattare con un project manager che impone scadenze molto strette ma con circa un giorno prima della scadenza porta nuove funzionalità e modifiche alle specifiche da implementare, con un'altra scadenza serrata.

La cosa peggiore di tutto ciò è che la maggior parte delle nuove cose porta a importanti riscritture del codice esistente, poiché le regole commerciali implementate in precedenza non sono più applicabili o "guadagnano". strani casi angolari che devono essere trattati separatamente.

Sembra che non importa quanto ci sforziamo di rendere estensibile il sistema, ci sono sempre cose che emergono letteralmente all'ultimo momento e devono essere implementate e supportate rapidamente.

Come potrei affrontare una situazione del genere? È davvero demoralizzante e un collega ha già lasciato la squadra.

È stato utile?

Soluzione

È vero che, qualunque cosa tu faccia, sei umano e commetterai errori o perderai cose. Detto questo, le modifiche periodiche ai tuoi requisiti sono spesso il risultato di requisiti scadenti o di un processo di scarso sviluppo, o di entrambi.

Qualche disegno in primo piano?

L'analisi del business viene regolarmente sottoposta alla breve deviazione da parte di sviluppatori, project manager, ecc. La maggior parte degli sviluppatori vuole solo iniziare l'hacking dal primo giorno e la maggior parte dei PM ama lasciarli: " Wow, possiamo passare dall'avvio del progetto fase alla fase di costruzione in 1 giorno senza che nessuna di quelle ridicole analisi di business impieghi tempo! Sarà fantastico per i bonus di completamento! & Quot; Ma ricorda che il compito principale del PM è quello di mantenere il progetto sotto controllo (nei tempi e nel budget) ... non necessariamente per rendere felici gli utenti e certamente per non rendere felici gli sviluppatori. Questo non vuol dire che sono totalmente senza cuore; i buoni PM raggiungeranno i loro obiettivi applicando il controllo dell'ambito e promuovendo la comunicazione, entrambi utili.

Ma prendersi il tempo di pensare davvero a ciò che è necessario e passare attraverso possibili scenari può fare una grande differenza nei problemi che si stanno affrontando.

  • Se hai fatto uno sforzo per fare un'analisi approfondita del business e stai ancora finendo con le modifiche dell'ultimo minuto, forse il tuo problema è un'altra sfida classica: gli utenti disimpegnati. I tuoi esperti in materia sono la tua arma principale per affrontare e identificare quei casi angolari. Se hai utenti che non sono coinvolti nel processo di analisi, richiedi migliori esperti in materia.
  • È anche possibile che gli utenti vengano disimpegnati perché sono troppo occupati a svolgere il loro normale lavoro. In tal caso si tratta di un problema di gestione e devono ricevere istruzioni secondo cui la partecipazione al progetto fa parte del loro lavoro; a volte è difficile perché spesso la stessa gestione che ti ha detto di "farlo ieri" è lo stesso gruppo di persone che si aspetta che il progetto si realizzi magicamente senza singhiozzi e senza risorse (sono comuni in quanto non comprendono le complessità dello sviluppo di software personalizzato e presumono che sia facile). Se la gestione è all'oscuro e non cambierà ... beh, devi fare gli straordinari e affrontare i problemi che hai descritto o ottenere un nuovo lavoro.

Aiuto Agile?

Sarebbe bello se i tuoi utenti ti parlassero di quei casi angolari prima piuttosto che dopo, giusto? Questo è legato a ciò che Toby Hede ha discusso nel suo post. Forse una metodologia che mette il software di fronte agli utenti il ??più presto possibile, anche in uno stato non lucidato, può innescare un feedback prima. Questa è stata una delle ispirazioni per tutti i concetti agili. I creatori erano stanchi di affrontare i problemi che descrivi e hanno anche capito che se la gestione e gli utenti non avessero cambiato, forse lo sviluppo avrebbe potuto. È ancora in fase di sviluppo, ma c'è un'enfasi su come ottenere un feedback precoce attraverso una varietà di tecniche (fare in modo che gli esperti in materia si trovino in posizione congiunta con il team di sviluppo, portando prima i prototipi grezzi nelle mani dell'utente, abbinando la programmazione per catturare l'esperienza degli sviluppatori e molto altro) . Tutto questo perché è chiaro che siamo umani e ci mancheranno le cose.

Infine, dici che stai cercando di rendere il sistema estensibile per aiutare con i rapidi cambiamenti, ma come? Stai separando la logica di presentazione dalla logica di business? Incapsuli la logica aziendale negli oggetti, partizionandola in modo appropriato per ridurre al minimo le dipendenze e l'accoppiamento? Tutte queste cose sono difficili da fare e possono richiedere del tempo per pianificare e costruire.

Non sei solo, comunque. Molti negozi (forse tutti) hanno queste sfide.

Altri suggerimenti

Non permettere loro di imporre la scadenza in primo luogo.

Hai 2 opzioni

  • Il PM ti fornisce un elenco di funzioni e dici loro quando sarà pronto.
  • Il PM ti fornisce un elenco di funzioni e una scadenza. Dici quindi quali funzionalità implementerai in un determinato momento.

Se il PM è il tuo manager o ha l'autorità di imporre scadenze + numero di funzioni, allora sarei alla ricerca di un nuovo lavoro. careers.stackoverflow.com

Se il PM non è il tuo manager, devi prendere il tuo manager a bordo e fargli dare alle PM le loro opzioni dall'elenco sopra.

Questa roba è davvero impegnativa da affrontare. Il vero problema qui è che in realtà non hai un processo.

La risposta dipende in realtà dalla situazione politica nella tua organizzazione e da quanta energia hai bisogno per guidare il cambiamento.

In passato ho tentato di introdurre il cambiamento di processo in diverse organizzazioni ed è sempre stata una lotta. È possibile, tuttavia.

Vorrei dare un'occhiata ad alcune metodologie per la gestione dello sviluppo del software. Uso e raccomando Scrum, per esempio.

In una situazione con rapidi cambiamenti, lavorare su brevi iterazioni che hanno obiettivi chiaramente responsabili può essere davvero utile. Probabilmente dovrai sostenere e gestire il tuo Project Manager, ma suona come l'attuale "processo" chiaramente non funziona, quindi la vendita di un nuovo processo in realtà diventa più semplice: hai solidi motivi di miglioramento.

Un solido processo ti aiuterà a "respingere". sui requisiti in evoluzione. Il rapido cambiamento reazionario è spesso un sintomo di problemi più ampi nella direzione e nella strategia dell'organizzazione ed è nell'interesse di tutti risolvere questo problema all'interno dell'organizzazione.

Questa è una delle maggiori sfide che dovrai affrontare come sviluppatore.

Una buona tecnica che ho usato in passato è porre domande. Quando ottieni le specifiche, trova qualcosa che richieda chiarimenti agli utenti finali. Questo rallenta sempre le cose e aumenta la possibilità nella mente dei manager di rischi.

Assicurati che il tuo project manager sia a conoscenza dei rischi connessi all'attuazione delle modifiche tardive per un progetto.

Tu e il tuo team avete provato a discuterne con lo stesso manager? Questa è la prima cosa che dovresti fare.

Potrebbe non avere molta esperienza con il processo di sviluppo, quindi le scadenze costanti e i cambiamenti importanti molto tardi. Ho visto casi del genere, persone che non potevano svilupparsi ma pensavano di poter fare un lavoro migliore in PM.
Dalla seduta e dalla conversazione con lui potrebbero emergere due cose, a seconda della sua personalità / professionalità. Accetterebbe i tuoi punti e proverebbe a cambiare la situazione per il futuro o sarà uno smartboy e non si arrenderà un po ', nel qual caso vale la pena portare la situazione a un livello superiore. Non credo che ci sia alcuna società che accetti felicemente di perdere sviluppatori.

In alternativa, il suo manager potrebbe essere dappertutto. E questo è un problema.

Se non funziona nulla, come già suggerito, cambiare il lavoro è una cosa giusta da fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top