Il più grande svantaggio dello sviluppo agile che ho sperimentato è che le persone non coinvolte nello sviluppo si concentrano sul mantra che una user story (3-10 giorni per le persone ideali) non deve contenere più di 1-3 frasi come:
As a customer, I can use free-text search so that I can find the products I'm looking for.
Dando questa frase, i project manager si aspettano che io, come sviluppatore, mi impegni a stimare e sviluppare la storia. Assumono che uno sviluppo agile significhi che frasi come questa sono tutto ciò che devono fornire agli sviluppatori.
Non li biasimerò perché la famosa letteratura sullo sviluppo agile crea l'impressione che ciò funzionerebbe davvero. Ho letto qualcosa come 2 pagine in linguaggio naturale per storia in "Planning XP", ma il gioco è fatto. Poiché il "software di lavoro" è preferito rispetto alla "documentazione completa", questo argomento sembra essere generalmente evitato.
La realtà è, naturalmente, che se lo sviluppatore ha la possibilità di farlo, un'intervista con il cliente mostra una lunga lista di requisiti che il cliente ha della storia:
- We need boolean operators like AND and OR.
- We need fuzzy search an all terms.
- We need to search by single words as well as by phrase.
- We don't want to find products that meet criteria X, Y, and Z.
- We want to sort the result. Oh, and by the way, the user can select the sort criteria in a combo box with options a, b, and c.
Quindi vedi che non sto parlando di dettagli tecnici o di progettazione di software o di dettagli di implementazione. Sono puri requisiti. Più parliamo e più il cliente si rende conto che c'è davvero molto da dire su ciò che vogliono.
Ma abbastanza spesso mi trovo nella situazione in cui tali informazioni non sono fornite o in modo molto scadente. Né è possibile che io faccia l'intervista, né la persona che sarebbe nella posizione di fare l'intervista mi fornisca un risultato.
A volte, i manager presentano anche dettagli tecnici come "vogliamo cercare Lucene" ma non vogliono pensarci 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 di e-business, 500-2000 giorni persona per progetto). Ho risolto questo problema abbastanza spesso e i gestori sono consapevoli del fatto che molti sviluppatori hanno un problema con la situazione. Ma credono che gli sviluppatori siano solo troppi "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 per quanto tempo dovrebbe essere un'iterazione. Ma nessuno può dire quanti requisiti sono necessari per stimare e sviluppare una storia.
Hai qualche riferimento?