Valutazione dinamica del progetto di intelligenza artificiale

Valutazione dinamica IA progetto

Padroneggiare le basi per il successo Agile

Foto di Tom Parkes su Unsplash

Stime

Oggi le stime sono utilizzate da quasi tutti. I clienti ne hanno bisogno sia per pianificare che per controllare quando inizieranno a utilizzare i risultati del progetto. Le stime aiutano anche il project manager a capire la portata, la quantità totale di lavoro e il costo approssimativo di ogni attività o dell’intero progetto.

Le stime sono utili in diverse situazioni, come ad esempio:

  • Conoscere come è strutturato il lavoro: Suddividere un’attività in diverse attività più piccole per vedere i passaggi principali da compiere.
  • Comprendere la complessità: È difficile dare una stima per un’attività complessa di per sé, ma è più facile dare una stima per ciascuna parte della struttura del lavoro. Aiuta a capire quanto sia difficile il lavoro e quanto tempo ci vorrà per completarlo.
  • Calcolare i costi: Nella maggior parte delle aziende, non sarà possibile iniziare a lavorare su un progetto fino a quando non si è spiegato e difeso quanto costerà e quali risorse saranno necessarie.

Qual è la realtà?

Affrontiamo una verità specifica…. Le stime, in generale, non funzionano, ed è questo il loro problema più grande. I nostri piani sono sbagliati, non completi e spesso non hanno nulla a che fare con il modo in cui il lavoro verrà effettivamente svolto. Anche se il team ha affrontato un’attività simile molte volte, è difficile anche per i più esperti sviluppatori di software indovinare quanti ore ci vorranno per completarla. Hai bisogno di campioni rilevanti e di un buon processo di stima per utilizzare stime relative nei progetti di intelligenza artificiale. Le stime rilevanti possono essere, ad esempio, delle semplici stime statistiche che tengono conto della durata media di tutte le attività rilevanti svolte in passato. Per realizzare questo tipo di stima, prima dobbiamo raccogliere un insieme di dati.

Il trucco, come detto in precedenza, è suddividere ogni attività al proprio livello. Per questo motivo, Scrum suggerisce di utilizzare punti stima relativi anziché ore esatte. Prima di tutto, le tue stime diventano più accurate a livello di attività, poi a livello di sprint e infine a livello di progetto. Se non hai esperienze passate che possono aiutarti a fare stime relative, dovresti fare solo una stima assoluta per il primo sprint del progetto. Da qui in poi, dovresti utilizzare le attività già svolte per fare nuove stime.

Stime di business e di implementazione

Le stime possono essere identificate da due punti di vista diversi. Il primo punto di vista è la parte di implementazione, che è comprensibile soprattutto per i project manager e i leader del team che sono disposti a completare il progetto. In questo momento, l’obiettivo principale delle stime è capire meglio il tempo e il denaro necessari per costruire la soluzione finale.

Il secondo punto di vista ha molto a che fare con gli obiettivi di business del progetto. Questo punto di vista di solito non è visibile al team di implementazione. La maggior parte dei progetti di solito ha un modello di business per definire obiettivi come l’aumento dei ricavi, la soddisfazione dei clienti, la riduzione dei costi, e così via. Quando si procede con le stime di implementazione, questo modello di business dovrebbe essere preso in considerazione perché in qualche modo stabilisce le possibili restrizioni. Nei progetti di intelligenza artificiale, le stime di business possono essere fatte prendendo in considerazione i vincoli di budget del modello di business e poi creando un insieme di metriche di business che possono essere utilizzate per calcolare quanto bene si sta comportando il progetto.

Dovresti iniziare tracciando i passi generali e poi andare nei dettagli. Se hai già realizzato progetti simili in passato, puoi guardare i loro piani per capire da dove iniziare. Raccogliere e utilizzare dati da altri progetti può essere un ottimo modo per ottenere stime, quindi non sottovalutare il tuo lavoro passato.

Quando la tua bozza contiene informazioni sufficienti, è il momento di fare una proposta per l’architettura del software. Questo è un passaggio molto importante perché non è sempre possibile o persino conveniente abbinare le bozze con le esigenze del cliente o dell’utente finale. Dovresti avere almeno un’idea generale delle tecnologie che utilizzerai, di come funzioneranno con il resto del sistema del cliente e di come la tua soluzione dovrebbe essere implementata. Se ci sono requisiti non funzionali importanti, come essere disponibili 24 ore su 24, 7 giorni su 7, l’architetto del software dovrebbe anche pensare a come renderli possibili in termini di tecnologia e design del sistema. Mettere insieme una visione architettonica ad alto livello aiuterà questa bozza a avere senso. Se pensi che la bozza debba essere modificata, non avere paura di farlo. La progettazione del software è un compito difficile che dovrebbe essere svolto da un ingegnere esperto. Se non hai molta esperienza nella progettazione di soluzioni software, chiedi aiuto a qualcuno del tuo team, o ancora meglio, rendi la progettazione del software un lavoro di gruppo.

Una volta completata la struttura e pianificata l’architettura del software, puoi iniziare a stimare il progetto. Semplici metodi statistici come il Program Evaluation and Review Technique (PERT) possono svolgere questo compito.

Cos’è il PERT?

Il PERT, noto come Program Evaluation and Review Technique, serve a stimare la durata prevista per completare un compito. Questo metodo si rivela particolarmente utile quando si affrontano scenari che presentano un’abbondanza di variabili sconosciute. Inizialmente sviluppato dalla Marina degli Stati Uniti, il PERT ha guadagnato notevole popolarità tra numerosi supervisori di progetto.

All’interno del framework del PERT, è possibile assegnare una valutazione a ciascun compito, utilizzando una scala da 1 a 3. Questo implica considerare l’investimento di tempo richiesto da un compito in condizioni ottimali. Inoltre, è necessario considerare anche la possibilità di piccoli problemi tecnici o complicazioni derivanti dai requisiti che ostacolano il progresso.

Pertanto, i principali fattori che richiedono il calcolo comprendono i seguenti:

  1. Stima più probabile: Questo comporta fornire la valutazione più precisa possibile per il compito assegnato.
  2. Stima pessimistica: Questa rappresenta la durata necessaria per completare un compito in caso di circostanze sfavorevoli. Questa categoria comprende rischi più elevati, come esperimenti falliti e sessioni di debug complesse.
  3. Stima ottimistica: Questo si riferisce al periodo di tempo previsto per completare un compito se le condizioni procedono in modo ottimale.

Stima PERT = (stima ottimistica + 4 x stima più probabile + stima pessimistica) / 6

Deviazione standard PERT = (stima pessimistica – stima ottimistica) / 6

Per ottenere un intervallo di confidenza di circa il 99,7% (essere sicuri dell’entità della probabilità) è possibile calcolare: Stima Pert ± 3 x deviazione standard PERT (il valore 3 può essere impostato a 2 per limitare il range).

Non dimenticare di utilizzare i dati dei progetti già completati come punto di partenza per la stima relativa. Quando si stimano i tempi, più fonti esterne si utilizzano, più accurate e averse al rischio saranno le stime.

Obiettivi delle stime

Nel formulare le previsioni, mantenere un focus costante sull’obiettivo finale è di estrema importanza. Creare e mantenere stime accurate richiede un notevole investimento di sforzo e tempo. In particolare nel campo dei progetti di intelligenza artificiale, la previsione dei risultati risulta complessa a causa della loro natura intricata, amplificando così l’importanza di guadagnare fiducia sia dal tuo team che dai clienti in queste previsioni. Questa fiducia è fondamentale poiché correlata positivamente alla probabilità di esecuzione di successo.

Vale la pena sottolineare che il livello di certezza legato alle stime diminuisce quando ci si confronta con territori inesplorati, come la creazione di soluzioni per nuovi settori di business o l’integrazione di algoritmi e tecnologie innovative. In questi casi, possedere una roadmap coerente verso il traguardo diventa una guida fondamentale.

Tuttavia, è prudente evitare una dipendenza eccessiva da calcoli precisi che puntano sull’aspetto temporale o su progetti dettagliatamente approfonditi. Invece, è consigliabile un’applicazione oculata delle stime. Queste servono non solo a garantire la coerenza tra le strategie di implementazione e le aspettative dei clienti, ma anche a guidare i progetti in accordo con tali desideri.

Rischi

Nel campo dei progetti di intelligenza artificiale, il punto iniziale e cruciale di vulnerabilità risiede nella definizione degli obiettivi del progetto. Il punto chiave del successo risiede in una buona comprensione degli obiettivi desiderati. È molto interessante quando l’implementazione del progetto inizia in modo rapido, ma se manca precisione, questo può discostarsi significativamente dai requisiti effettivi del business. Pertanto, è molto importante avere obiettivi ben stabiliti e ben definiti. Questi obiettivi possono fungere da bussola per il team, consentendo loro di distinguere tra soluzioni accurate e errate.

Come affrontare i progetti di ricerca?

Un’impresa di ricerca comprende qualsiasi progetto mirato a trovare soluzioni a problemi precedentemente non affrontati. In particolare, la motivazione dietro i progetti di ricerca va oltre il miglioramento delle conoscenze scientifiche. Essi comprendono scenari in cui i team si immergono in ambiti inesplorati, come nuovi settori di business o librerie di intelligenza artificiale emergenti, e si sforzano di scoprire applicazioni innovative dell’IA nel contesto aziendale. Questo vale per quasi tutte le iniziative di intelligenza artificiale, in cui un progetto di ricerca secondario si occupa del processo di modellazione.

Tuttavia, un problema fondamentale con i progetti di ricerca è la tendenza a mancare di completezza. Ogni impresa di ricerca richiede un obiettivo ben definito; senza questa chiarezza, il raggiungimento del successo rimane sfuggente. Inoltre, affrontare le sfide esterne ha la stessa importanza nel campo delle imprese di ricerca. Le assegnazioni finanziarie per la ricerca aumentano naturalmente in proporzione all’ampiezza della portata del progetto. Limiti di budget, se presenti, possono anche imporre vincoli sulla profondità e durata della ricerca.

Una volta determinato il quantum di ricerca fattibile, gli sforzi collaborativi possono essere indirizzati verso l’affronto degli esperimenti in sospeso. Ogni voce nel backlog dovrebbe incarnare un’idea in grado di arricchire la qualità del modello o facilitare la realizzazione delle funzionalità desiderate. I criteri SMART – specifici, misurabili, raggiungibili, rilevanti e limitati nel tempo – servono come un quadro pertinente per articolare i dettagli di ogni esperimento.

Conduci valutazioni di qualità rapide ma approfondite su tutti gli esperimenti in corso nel tuo ciclo di ricerca attuale. Questa pratica aiuta a valutare gli investimenti di tempo previsti per ogni esperimento. Per salvaguardare la traiettoria dei tuoi progetti di ricerca e prevenire possibili passi falsi, è imperativo attenersi alle seguenti linee guida:

  • Stabilisci un obiettivo preciso
  • Stabilisci i criteri di successo
  • Definisci i limiti, come il tempo e i limiti di denaro
  • Riempi la coda degli esperimenti
  • Prioritizza in base a ciò che desideri
  • Tieni traccia di tutti i test e dei loro risultati
  • Rendi il codice facile da copiare
  • Annota ciò che trovi

Alcune parti aggiuntive che devono essere prese in considerazione sono:

  • Identifica ciò che è auspicabile e ciò che è la parte principale
  • Riduci lo sforzo per le parti non importanti all’inizio
  • Cerca di essere il più snello possibile (in base al budget che hai)

Una considerevole parte dei progetti si basa su un approccio di stima dall’alto verso il basso, in cui il processo inizia con l’allocazione del budget generale per il progetto e successivamente lo decompone in componenti più piccoli. Questo metodo viene particolarmente utilizzato quando il quadro finanziario e i prezzi del progetto sono già stabiliti. Tuttavia, questo approccio incontra un notevole problema: le stime iniziali tendono ad essere meno affidabili all’inizio del progetto. La sfida nasce dal fatto che determinare il budget richiesto è complesso prima di avere una comprensione completa dei requisiti del progetto e un piano dettagliato.

Questa sfida può essere ulteriormente aggravata, soprattutto quando è impossibile valutare l’accuratezza del preventivo iniziale rispetto all’esito finale del progetto. L’efficacia della stima dall’alto verso il basso è ottimizzata quando esiste una comprensione profonda di come ogni attività all’interno dell’ambito del progetto contribuisce al prezzo fisso iniziale. Tuttavia, questo livello di comprensione richiede un tempo e uno sforzo considerevoli, che spesso non è possibile ottenere manualmente.

Alcune parti aggiuntive utili

  • Nessuno può lavorare sui progetti tutto il tempo perché tutti hanno bisogno di pause, partecipano a riunioni, rimangono bloccati nel traffico, ecc. Quindi, si dovrebbe assumere che una risorsa non sia disponibile per il 20% del tempo ma sia disponibile per l’80% del tempo. Se una risorsa del progetto è disponibile solo la metà del tempo, impostare l’unità di disponibilità massima al 40%. Quando si configura il programma per il progetto, non dimenticare di considerare le festività, le chiusure degli impianti, la formazione e le vacanze di ogni risorsa. Nessun piano va mai esattamente come previsto. È necessario avere un margine perché alcune attività saranno in ritardo.
  • Includi un buffer: Nessun piano va mai esattamente come previsto. È necessario avere un margine di errore perché alcune attività saranno in ritardo. Un’idea valida è aggiungere un’attività di buffer alla fine di determinate fasi (come quelle che utilizzano nuove tecnologie di cui il tuo team ha poca o nessuna esperienza) o estendere la scadenza generale del progetto per quella fase del 20% rispetto alla sua durata originale. Ad esempio, se la durata originale di una fase è di 100 giorni, si potrebbe farla diventare 120 giorni.
  • Cerca di identificare alcuni dei rischi possibili all’inizio del progetto e rendi questo un procedimento continuo.

Conclusioni

  • Le stime vengono utilizzate per pianificare e controllare i progetti, comprendere la complessità e calcolare i costi.
  • La stima è difficile e imprecisa, quindi è necessario avere un campione rilevante e un buon processo di stima.
  • Utilizzare i punti stima relativi invece delle ore esatte per migliorare l’accuratezza.
  • Differenziare tra stime di business e di implementazione e considerare i vincoli di budget del modello di business.
  • Descrivere i passaggi, fare una proposta per l’architettura del software e utilizzare metodi statistici come PERT per stimare i progetti.
  • PERT prevede una valutazione per ogni attività su una scala da 1 a 3 (stima migliore, più probabile e pessimistica).

Riferimenti

Dubovikov K. (2019). Gestione della scienza dei dati. Packt Publishing

Creazione di un budget di progetto – Una guida completa

Scopri tutto quello che ti serve per creare un budget di progetto realistico, con o senza un sistema che ti aiuti, in una guida semplice.

www.forecast.app

A Three-Point Estimating Technique: PERT