Story Point Estimation Using Large Language Models

Questo studio dimostra che i grandi modelli linguistici (LLM) possono stimare i punti storia nei progetti software con prestazioni superiori ai modelli di apprendimento profondo supervisionati anche senza dati di addestramento, migliorando ulteriormente con esempi pochi-shot e giudizi comparativi.

Pranam Prakash Shetty, Adarsh Balakrishnan, Mengqiao Xu, Xiaoyin Xi, Zhe Yu

Pubblicato Mon, 09 Ma
📖 5 min di lettura🧠 Approfondimento

Each language version is independently generated for its own context, not a direct translation.

Ecco una spiegazione semplice e creativa di questo studio, pensata per chiunque, anche senza conoscenze tecniche.

Immagina di dover organizzare una grande festa di compleanno. Hai una lista di cose da fare: "Comprare la torta", "Decorare la sala", "Invitare 50 amici". La domanda difficile è: quanto tempo ci vorrà per fare tutto questo?

Nello sviluppo software, gli sviluppatori usano un sistema chiamato "Story Points" (punti storia) per rispondere a questa domanda. Non sono minuti o ore, ma un modo per dire: "Questa torta è più difficile da fare rispetto alla decorazione". Di solito, gli sviluppatori si riuniscono, discutono e decidono insieme quanto è "difficile" ogni compito. È un processo che richiede tempo, riunioni e un po' di soggettività.

Il Problema: La "Fame" di Dati

Fino a poco tempo fa, per insegnare a un computer a fare queste stime, gli scienziati dovevano dargli un enorme libro di ricette (dati) scritto da umani per lo stesso tipo di progetto. Se volevi stimare i compiti per un nuovo progetto, il computer non sapeva nulla finché non gli davano centinaia di esempi precedenti. Era come se un cuoco non sapesse cucinare la pizza finché non avesse letto 10.000 ricette di pizza fatte da un altro chef specifico.

La Soluzione: I "Super-Cuochi" (LLM)

Gli autori di questo studio hanno provato a usare i Modelli Linguistici di Grande Dimensione (LLM), ovvero le intelligenze artificiali avanzate (come quelle che scrivono testi o creano immagini). Questi modelli sono stati addestrati su tutto internet: hanno letto milioni di libri, forum, codice e storie.

Hanno posto quattro domande fondamentali, che possiamo immaginare come quattro sfide per questi "Super-Cuochi":

1. Possono indovinare senza leggere nessuna ricetta? (Zero-Shot)

La sfida: Chiediamo all'IA di stimare la difficoltà di un compito senza averle mai mostrato esempi di quel progetto specifico.
Il risultato: È incredibile! Anche senza aver letto una sola ricetta del progetto, l'IA è riuscita a fare stime meglio di un computer tradizionale che aveva studiato l'80% delle ricette precedenti.

  • L'analogia: È come se chiedessi a un cuoco esperto che ha letto tutti i libri di cucina del mondo di stimare quanto tempo ci vuole per fare una torta sconosciuta. Anche senza averla mai fatta, sa dire: "Sembra complessa, ci vorrà un po' di tempo", e spesso indovina meglio di chi ha studiato solo le ricette di quella specifica torta.

2. Basta un piccolo esempio per migliorare? (Few-Shot)

La sfida: Diamo all'IA solo 5 esempi di compiti passati con le loro difficoltà reali.
Il risultato: Con soli 5 esempi, l'IA diventa ancora più precisa.

  • Il trucco: Gli scienziati hanno scoperto che è meglio dare all'IA 5 esempi che coprano tutta la gamma di difficoltà (uno facilissimo, uno medio, uno difficilissimo) piuttosto che darle 5 esempi tutti simili (tutti facili). È come dire al cuoco: "Guarda, questa è una torta semplice, questa è media, questa è un castello di zucchero". Questo aiuta l'IA a capire la "scala" di difficoltà di quel progetto specifico.

3. È più facile dire "A è più difficile di B" o dare un numero preciso? (Confronti)

La sfida: Invece di chiedere "Quanti punti ha questo compito?", chiediamo all'IA: "Tra il compito A e il compito B, quale è più difficile?". Per gli umani, confrontare due cose è spesso più facile che assegnare un numero preciso.
Il risultato: Sorprendentemente, per l'IA non è più facile. L'IA è brava a dare un numero diretto. Quando le chiediamo di confrontare due cose, fa più fatica a essere precisa rispetto a quando le chiediamo direttamente il numero.

  • L'analogia: Per un umano, dire "La montagna A è più alta della montagna B" è facile. Per un'IA, sembra che sia più naturale dire "La montagna A è alta 2000 metri" e poi fare il confronto da sola, piuttosto che rispondere direttamente alla domanda "Chi è più alta?".

4. Posso usare i confronti come "esempi" per insegnare all'IA?

La sfida: Usiamo i confronti (A è più difficile di B) come i 5 esempi di addestramento per insegnare all'IA a dare i numeri.
Il risultato: Funziona! Anche se all'IA non piace fare confronti diretti, usare questi confronti come "esempi" per insegnarle a stimare i numeri funziona molto bene.

  • Il vantaggio pratico: Chiedere a un umano "Quanti punti?" è faticoso e soggettivo. Chiedere "Tra A e B, quale è più difficile?" è molto più veloce e meno stressante per gli umani. Quindi, possiamo usare questi confronti "facili" per addestrare l'IA, che poi farà il lavoro pesante di dare i numeri precisi.

Le Conclusioni in Pillole

  1. L'IA è un genio naturale: Non ha bisogno di studiare anni su un progetto specifico per fare buone stime. Basta che abbia letto molto in generale.
  2. Pochi esempi bastano: Con soli 5 esempi ben scelti (che coprano tutta la gamma di difficoltà), l'IA diventa perfetta per quel progetto.
  3. L'IA è diversa dagli umani: Gli umani preferiscono confrontare le cose. L'IA preferisce dare numeri diretti.
  4. Il futuro è ibrido: Le aziende potrebbero usare l'IA per fare le stime. Gli umani dovranno solo fare un piccolo sforzo: dire all'IA "questo è più difficile di quello" invece di fare lunghe riunioni per assegnare numeri. L'IA userà questi piccoli indizi per calcolare tutto il resto.

In sintesi, questo studio ci dice che l'intelligenza artificiale può aiutare i team di sviluppo a risparmiare tempo e denaro, rendendo il processo di pianificazione molto più veloce e meno dipendente da enormi quantità di dati storici.