Sono un grande fan dello sviluppo agile e alcuni anni fa ho usato XP su un progetto di grande successo. Mi è piaciuto tutto, l'approccio iterativo allo sviluppo, la scrittura di codice attorno a un test, l'accoppiamento della programmazione, la presenza di un cliente sul posto per eseguire le cose. Era un ambiente di lavoro altamente produttivo e non mi sentivo mai sotto pressione.
Tuttavia, negli ultimi posti in cui ho lavorato, ho usato / usato Scrum. So che è il bambino poster per lo sviluppo agile in questi giorni, ma non sono convinto al 100% che sia agile. Di seguito sono riportati i due motivi principali per cui non mi sento agile.
I project manager lo adorano
I project manager, che per loro stessa natura sono ossessionati dalle tempistiche, sembrano tutti amare Scrum. Nella mia esperienza, sembrano utilizzare lo Sprint Backlog come mezzo per tenere traccia dei requisiti di tempo e tenere traccia di quanto tempo è stato dedicato a una determinata attività. Invece di usare una lavagna usano tutti un foglio Excel, che ogni sviluppatore è tenuto a compilare, religiosamente.
Secondo me, questo è troppo documentazione / monitoraggio del tempo per un processo agile. Perché dovrei perdere tempo a stimare quanto tempo impiegherà un'attività quando posso semplicemente continuare con l'attività stessa. O allo stesso modo perché dovrei perdere tempo a documentare il tempo impiegato da un'attività quando posso passare all'attività successiva a portata di mano.
Incontri standup
Le riunioni stand-up nel posto precedente in cui ho lavorato sono state un incubo. Ogni giorno dovevamo spiegare cosa avevamo fatto ieri e cosa avremmo fatto quel giorno. Se andassimo oltre il nostro "preventivo" del tempo per un compito, il project manager darebbe un calcio puzzolente e farebbe riferimento allo Sprint Backlog come un mezzo per dimostrare l'incompetenza per non aderire alla linea temporale.
Ora capisco la necessità di comunicare, ma sicuramente il tono delle riunioni quotidiane dovrebbe essere spensierato e focalizzato sulla condivisione delle conoscenze. Non penso che dovrebbe trasformarsi in una sciarada in cui dovresti fare i compiti. Sicuramente anche il punto di buco dell'agile è che le linee temporali cambiano, non dovrebbero essere impostate sulla pietra.
Conclusione
L'idea di agile è migliorare il software semplificando la vita degli sviluppatori. Pertanto, a mio avviso, qualsiasi processo agile utilizzato da un team dovrebbe essere guidato dallo sviluppatore. Non credo che avere un project manager che usi un processo che ha definito "agile" per tenere traccia di un progetto abbia qualcosa a che fare con lo sviluppo agile.
Qualcuno pensa?