Il più grande svantaggio dello sviluppo agile che ho riscontrato è che le persone non coinvolte nello sviluppo si concentrano sul mantra che una user story (3-10 giorni della persona ideale) non dovrebbe contenere più di 1-3 frasi come:
Come cliente, posso usare la ricerca a testo libero per trovare i prodotti che sto cercando.
Dando questa frase, i project manager si aspettano che io come sviluppatore mi impegni a fare una stima e sviluppare la storia. Presumono che uno sviluppo agile significhi che frasi come questa sono tutto ciò che devono fornire agli sviluppatori.
Non li biasimerò perché la nota letteratura sullo sviluppo agile crea l'impressione che questo funzionerebbe davvero. Ho letto qualcosa come 2 pagine in linguaggio naturale per racconto in "Planning XP", ma il gioco è fatto. Poiché "software funzionante" è preferito rispetto a "documentazione completa", questo argomento sembra essere generalmente evitato.
La realtà è, ovviamente, che se allo sviluppatore viene data la possibilità di farlo, un colloquio con il cliente fa apparire un lungo elenco di requisiti che il cliente ha sulla storia:
- Abbiamo bisogno di operatori booleani come AND e OR.
- Abbiamo bisogno di una ricerca confusa e di tutti i termini.
- Dobbiamo cercare con parole singole o per frase.
- Non vogliamo trovare prodotti che soddisfino i criteri X, Y e Z.
- Vogliamo ordinare il risultato. Oh, e comunque, l'utente può selezionare i criteri di ordinamento in una casella combinata con le opzioni a, b e c.
Quindi vedi che non sto parlando di dettagli tecnici o di progettazione del software o di dettagli di implementazione. Sono requisiti puri. Più parliamo, più il cliente si rende conto che in realtà c'è molto da dire su ciò che vuole.
Ma abbastanza spesso mi trovo nella situazione in cui tali informazioni non vengono fornite o in modo molto scadente. Né è possibile che io faccia l'intervista, né la persona che sarebbe in grado di fare l'intervista mi fornisce un risultato.
A volte, i manager hanno persino fornito dettagli tecnici come "vogliamo la ricerca di Lucene", ma non vogliono pensare se vogliono trovare solo nomi di prodotti o anche descrizioni di prodotti. A volte penso che siano solo pigri;)
Per me, questo è il problema principale nei progetti in cui lavoro (applicazione web e-business, 500-2000 giorni al giorno per progetto). Ho affrontato questo problema abbastanza spesso, e i manager sono consapevoli che la maggior parte degli sviluppatori ha un problema con la situazione. Ma credono che gli sviluppatori siano semplicemente troppo "perfezionisti". Sembrano infastiditi dal fatto che gli sviluppatori "vogliano sempre avere tutto specificato".
A causa della mancanza di numeri generalmente riconosciuti, è difficile discutere. Tutti sanno quanto dovrebbe durare un'iterazione. Ma nessuno può dire quanti requisiti sono necessari per stimare e sviluppare una storia.
Hai qualche riferimento?