Agile Story-Point Estimation: Is RAG a Better Way to Go?
Questo studio esamina l'uso del Retrieval Augmented Generation (RAG) per automatizzare la stima dei punti storia in Agile, scoprendo che, sebbene superi alcuni modelli di base in alcuni casi, non mostra differenze statisticamente significative rispetto ad essi, evidenziando la necessità di ulteriori ricerche per migliorare l'accuratezza.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Immagina di dover organizzare una grande festa. Prima di iniziare, devi capire quanto lavoro ci vorrà: preparare il cibo, decorare la sala, gestire la musica. Nel mondo dello sviluppo software, questo "quanto lavoro" si chiama Story Point (Punti Storia).
Il Problema: Il Gioco delle Carte (Planning Poker)
Attualmente, per stimare questo lavoro, i team di sviluppatori si riuniscono e giocano a un gioco chiamato "Planning Poker".
- Come funziona: Ogni membro del team (dal junior al senior) sceglie una carta con un numero che rappresenta quanto tempo pensa serva per un compito. Poi rivelano le carte tutte insieme. Se i numeri sono diversi, discutono finché non si mettono d'accordo.
- Il problema: È un processo lento. Immagina di dover fare questo per migliaia di compiti (come nel progetto Linux Kernel): ci vorrebbero mesi solo per pianificare! Inoltre, a volte il capo squadra o la persona più chiacchierona influenza gli altri, rendendo la stima poco obiettiva.
La Soluzione Proposta: L'Assistente Intelligente (RAG)
Gli autori di questo studio si sono chiesti: "Possiamo usare l'Intelligenza Artificiale per fare questo lavoro al posto nostro, risparmiando tempo?"
Hanno creato un sistema chiamato RAG (Retrieval-Augmented Generation). Per capire come funziona, usiamo un'analogia:
Immagina che il sistema RAG sia un brillante assistente di ricerca che ha letto tutti i diari di lavoro passati della tua azienda.
- Il Ricercatore (Retriever): Quando arriva un nuovo compito (es. "Aggiornare il software"), l'assistente non indovina a caso. Va nella sua biblioteca di ricordi, cerca compiti simili fatti in passato e li tira fuori. È come se un programmatore esperto dicesse: "Ricordi quella volta che abbiamo fatto qualcosa di simile 3 anni fa? Ci sono voluti 5 punti di sforzo".
- Il Generatore (Generator): Una volta che ha i ricordi (i compiti simili), l'assistente (un modello di linguaggio chiamato Llama) guarda quei ricordi e dice: "Ok, basandomi su questi esempi, questo nuovo compito sembra richiedere 3 punti".
Cosa hanno scoperto? (I Risultati)
Gli scienziati hanno testato questo assistente su 23 progetti software diversi (piccoli, medi e grandi) e hanno fatto quattro domande principali:
Quanti ricordi devo cercare? (Parametri di ricerca)
- Risultato: Dipende. Per i progetti piccoli, bastano 2 ricordi molto precisi. Per quelli enormi, serve cercare più ricordi (4) per non perdersi nel rumore. Non c'è una regola unica per tutti.
Funziona meglio sui progetti piccoli o grandi?
- Risultato: No, non fa differenza. L'assistente è stato ugualmente preciso (o impreciso) sia sui progetti piccoli che su quelli giganti.
Importa quale "libro" usiamo per cercare? (Scelta del modello di embedding)
- Hanno provato due diversi "dizionari" per capire il significato delle parole (BAAI e SBERT).
- Risultato: Non ha fatto alcuna differenza. Entrambi hanno funzionato allo stesso modo.
È meglio dell'assistente umano o dei vecchi metodi?
- Hanno confrontato il loro RAG con altri metodi automatici già esistenti.
- Risultato: Il RAG è stato bravo, ma non miracoloso. A volte ha fatto meglio degli altri, a volte peggio. Ma statisticamente, non è stato significativamente migliore dei metodi tradizionali.
La Conclusione: Perché non è ancora perfetto?
Il messaggio principale è questo: L'Intelligenza Artificiale da sola non può ancora sostituire il cervello umano in questa situazione.
Perché?
- Manca il contesto umano: Quando un umano stima un compito, non guarda solo le parole scritte. Sa che "il team è stanco", "il server è vecchio" o "c'è un bug nascosto". L'AI legge solo il testo.
- I dati sono imperfetti: I dati storici usati per addestrare l'AI contengono già gli errori e i pregiudizi umani delle stime passate. Se l'AI impara da stime sbagliate, farà stime sbagliate.
In sintesi
Questo studio ci dice che l'idea di usare l'AI per stimare il lavoro software è promettente, ma non è ancora pronta per sostituire completamente il Planning Poker.
Tuttavia, l'AI può essere un ottimo aiuto: invece di prendere la decisione al posto del team, può mostrare al team: "Ehi, guardate questi 3 compiti simili che avete fatto l'anno scorso, quanto tempo vi hanno preso?". Questo aiuta il team a discutere meglio e più velocemente, ma la decisione finale e la responsabilità rimangono nelle mani delle persone.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.