La dimensione del software è il fattore determinante più significativo per lo sforzo e il costo di un progetto software. Quando conosci la dimensione del progetto, ti ritroverai a prendere decisioni migliori, basate sui dati, che a loro volta portano a maggiori tassi di successo.
stima del software - automatizzata
Un dimensionamento coerente del software può aiutare tutti gli aspetti della gestione del portafoglio software
Stima del software—e in particolare Agile stima del software—è considerata difficile e notoriamente inaffidabile, tuttavia stime affidabili sono essenziali per decisioni di investimento ponderate e una pianificazione efficace.

La stima delle dimensioni del software (e di conseguenza dei costi e dei tempi) è importante per far capire ai manager quanto costerà e quanto tempo ci vorrà. I manager e i dirigenti si trovano costantemente di fronte a decisioni difficili sul lavoro software. Nei progetti più grandi, i budget e i tempi vengono spesso superati, il che porta a notevoli sprechi e inefficienze. I manager è necessario conoscere il costo e la durata probabili per sviluppare software in modo da poter pianificare di conseguenza. Ci si aspetta che prendano decisioni affidabili su priorità e allocazione del personale e tuttavia spesso lo fanno senza stime software affidabili del tempo e dello sforzo necessari.

La maggior parte dei professionisti del software ritiene che sia impossibile stimare il lavoro di sviluppo software o che richieda molto tempo. Non è necessariamente così.

Perché le stime degli sviluppatori sono inaffidabili?

A volte gli sviluppatori si rifiutano di offrire stime di sforzo, spesso perché temono che le loro stime possano essere maltrattate come impegni. Si rifiutano di fare troppe analisi dettagliate delle dimensioni in anticipo nel caso in cui i requisiti non vengano implementati. La stima dello sforzo in story point (utilizzando il planning poker) è una pratica comune nei team Agile. Richiede molto tempo ed è fonte di molte discussioni sprecate. Nonostante la sua popolarità, è un approccio imperfetto. È incoerente tra i team e persino all'interno dei team nel tempo. È altamente manipolabile, il che significa che i membri del team possono manipolare i loro punti per adattarli alle loro intenzioni. Il merito degli story point è che aiutano a comunicare entro il team su quanto potrebbe essere difficile fare qualcosa. In generale, non li consigliamo perché sono incoerenti, manipolati, abusati, ludici e, per la maggior parte degli scopi, privi di significato.

Inoltre, gli sviluppatori sottostimano quasi sempre il tempo e lo sforzo effettivamente richiesti per la distribuzione del software. È nella natura umana farlo. Considerano solo fattori noti, ma con il software, spesso ci sono sconosciuti che causano ritardo. Per questo motivo, queste tesi sono raramente ammesse nella stima tecnica.

Le stime scadenti portano a decisioni aziendali scadenti e sono spesso citate come una delle cause principali dei fallimenti di grandi progetti. I project leader devono stimare i progetti software prima dell'investimento in modo da poter determinare il rapporto costi-benefici complessivo dell'iniziativa.

Grazie a stime più tempestive e affidabili del lavoro svolto dal software, è possibile prendere decisioni migliori ed evitare disastri nei progetti.

Come possiamo quindi stimare in modo affidabile il lavoro del software?

Decine di fattori possono influenzare il tempo e gli sforzi impiegati per sviluppare un software (ad esempio la complessità, l'ambiente di lavoro, il supporto esecutivo, l'esperienza tecnica, la volatilità dei requisiti). Il fattore più significativo nel determinare lo sforzo o il costo è la dimensione, in particolare la dimensione funzionale. Una volta nota la dimensione funzionale, è possibile ricavare rapidamente stime valide per altre dimensioni, come:

Una volta che conosci il funzionale misurare, puoi ricavare rapidamente stime valide per altre dimensioni, ad esempio:

  • personale
  • costi
  • tempo di sviluppo
  • test necessari per ottenere una qualità adeguata
  • …e molto, molto altro ancora

Che cosa si intende per dimensione funzionale?

La dimensione funzionale deriva da Misurazione funzionale delle dimensioni (FSM). È una tecnica standardizzata matura e comprovata per il dimensionamento del software, una pratica ingegneristica formale approvata dai gruppi di standard ISO e agnostica di tecnologia, codifica e metodologia di sviluppo. Come misura universale che si applica a tutti i tipi di software, è considerata dal punto di vista dell'utente. Soprattutto, la dimensione funzionale è oggettiva, valida e coerente, in altre parole, due persone che misurano la dimensione funzionale dovrebbero ottenere lo stesso numero ogni volta. L'unità di misura è il punto funzione; per dirla più specificamente, è il punto funzione COSMIC (o CFP), che può essere stimato o contato esclusivamente e precisamente da requisiti e specifiche. FSM esiste da molti anni e ha dimostrato di essere la misura più affidabile della dimensione del software, consentendo di stimare o misurare la dimensione prima, durante e dopo il processo di codifica.

Posso imparare a stimare rapidamente le dimensioni del software?

Sì, puoi imparare a dimensionare il software (utilizzando correttamente uno standard di dimensionamento funzionale) in un paio di giorni o meno. Puoi diventare completamente competente e certificato in poche settimane. Potrebbe volerci più tempo per imparare a sfruttare il valore della misurazione, ma per questo ci sono consulenti esperti. ScopeMaster fa il grosso del lavoro qui, quindi usare ScopeMaster accelererà il tuo apprendimento e automatizzerà la stima standardizzata!

ScopeMaster è il primo e unico strumento per stimare in modo affidabile le dimensioni funzionali direttamente e automaticamente da un arretrato di requisiti scritti. Non fidarti solo della nostra parola, però; esperti e accademici in tutto il mondo concordano sul fatto che ScopeMaster è un strumento di dimensionamento automatizzato rivoluzionario.

Se vuoi iniziare a stimare il software in modo rapido ed efficace, usa ScopeMaster per stimare i punti funzione COSMIC direttamente e istantaneamente in base ai tuoi requisiti o alle tue storie utente. Insieme a ScopeMaster, puoi dare certezza al tuo lavoro software con la misurazione automatizzata delle dimensioni funzionali.

Per ulteriori informazioni sulla misurazione delle dimensioni funzionali COSMIC, visitare https://www.cosmic-sizing.org.

ScopeMaster è in grado di automatizzare la stima delle dimensioni del software nei punti funzione COSMIC e nei punti funzione IFPUG (entrambi standard ISO) direttamente e istantaneamente a partire dai requisiti o dal backlog delle storie utente.

stima del software - automatizzata

Stime software automatizzate con ScopeMaster

ScopeMaster è stato concepito come uno strumento per automatizzare il lavoro amministrativo di misurazione delle dimensioni funzionali del software in base ai requisiti. Nelle parole del nostro fondatore, Colin Hammond, "Il motivo per cui ho deciso di scrivere uno strumento per fare questo è perché, come project manager software, ho scoperto che dimensione funzionale è il fattore più significativo di cui ho bisogno per gestire un progetto con successo."

ScopeMaster interpreta l'intento funzionale della storia utente o del requisito software, ed è quindi in grado di automatizzare il dimensionamento funzionale, che può quindi essere utilizzato per ulteriori stima dello sviluppo del software.

Non solo ScopeMaster è molto più veloce della misurazione manuale, ma costa anche molto meno del dimensionamento manuale. I contatori certificati sono rari e ScopeMaster elimina gran parte della fatica dal lavoro. ScopeMaster "legge" i requisiti, interpreta l'intento funzionale e quindi li dimensiona di conseguenza. Può stimare le dimensioni a circa tre CFP al secondo. Potresti dimensionare un set di requisiti di 1.000 CFP (circa $1m di software esternalizzato) in circa due o tre minuti. Potresti quindi rivedere i risultati per correggere eventuali errori nei requisiti e verificare la dimensione funzionale di ogni requisito. Una volta verificata dall'analista, la stima diventa una misurazione esatta, che può quindi essere utilizzata per l'outsourcing a prezzo fisso del lavoro di sviluppo software.

Dimensionamento funzionale COSMIC

Nel corso degli anni sono state create diverse varianti della metrica delle dimensioni funzionali. Solo cinque hanno ottenuto il riconoscimento ISO (COSMIC, IFPUG, Mark II, NESMA e FiSMA). IFPUG, Mark II, NESMA e FiSMA sono tutti simili in quanto derivano dal set di regole originale creato da Allan Albrecht presso IBM negli anni '80. La metodologia delle dimensioni funzionali COSMIC si è evoluta da metodologie precedenti, specificamente progettate per risolvere i loro difetti. I principali vantaggi che rendono Metodologia di dimensionamento COSMIC più rilevanti per il software moderno sono:

  • Si basa sui principi del software, trattando elegantemente gli strati software interconnessi e le architetture software.
  • È possibile effettuare stime e misurazioni prima di conoscere tutti i requisiti, il che è particolarmente indicato per lo sviluppo Agile.
  • È stato automatizzato e quindi richiede un apprendimento trascurabile.

Gli story point sono prevalenti in tutti i progetti Agile; sono una misura proxy specifica per team per lo sforzo. Ogni team ha una comprensione comune della grandezza di uno story point, in genere nell'ordine di poche ore di sforzo, sebbene non ci siano regole rigide. Gli story point non sono una valuta universale; non sono uno standard e non possono essere utilizzati in modo affidabile per confrontare team o progetti. Gli story point sono un utile indicatore interno dello sforzo previsto quando non sono disponibili altri mezzi di stima. I function point, tuttavia, sono universali, standard e altamente applicabili allo sviluppo Agile tanto quanto a qualsiasi altra metodologia di sviluppo. Clicca qui per saperne di più sui vantaggi di CFP e Story Points.

Conoscere le dimensioni è fondamentale per un progetto software affidabile

Una volta che conosci la dimensione funzionale nei punti funzione COSMIC (CFP), puoi stabilire rapidamente altre metriche direttamente correlate alla dimensione, come costo, sforzo e programma. Dopo aver stabilito la dimensione in CFP, puoi quindi usare valori di conversione di settore che mappano i punti funzione a queste metriche. Invece di usare conversioni di settore, puoi usare i tuoi dati di progetto storici per stabilire i tuoi benchmark di velocità.

Stima agile senza sforzo

Invece di perdere tempo discutendo di story point o giocando con le carte di Fibonacci, riteniamo che la stima Agile sia idealmente raggiunta tramite il dimensionamento funzionale con COSMIC FP. Ciò significa che puoi stimare meglio:

  • Velocità (CFP medi erogati a settimana)
  • Programma (numero di settimane necessarie per la consegna)
  • Costo (costo totale per progettare, sviluppare, testare e consegnare)
  • Sforzo (sforzo necessario per progettare, sviluppare, testare e fornire)
  • Qualità (potenziali difetti per ciascun componente della consegna)

Quanto velocemente puoi ricavare le stime?

Manualmente, un analista competente può misurare i punti funzione a una velocità di diverse centinaia di FP al giorno (che si traduce in software del valore di centinaia di migliaia di dollari), sebbene dipenda dalla qualità e dalla chiarezza dei requisiti e delle specifiche. La velocità dipende anche dall'esperienza e dall'abilità dell'analista. Con ScopeMaster, puoi aspettarti di raggiungere queste regole su quattro volte più veloce.

Stima automatizzata in punti funzione COSMIC

Stima durante la scrittura delle storie utente in Jira

Utilizzando il Analizzatore di storie ScopeMaster per Jira, puoi stimare la dimensione funzionale delle tue storie senza nemmeno uscire da Jira. Il testo della tua user story viene analizzato dal potente motore linguistico di ScopeMaster per rilevare l'intento funzionale e la dimensione funzionale.

La stima delle dimensioni del software dal punto di vista dell'utente è ottenibile con una sofisticata analisi linguistica dei requisiti

Benchmarking con ScopeMaster

Prendi alcuni progetti passati e inserisci i loro requisiti in ScopeMaster per ottenere la dimensione funzionale. Dato che conosci già il costo di quel progetto passato, ora puoi stimare lo sforzo e la pianificazione del nuovo progetto.

La dimensione non è l'unico fattore che determina i costi e la tempistica del software, ma è il più significativo. La migliore misura della dimensione è il punto funzione COSMIC.

Per coloro che ritengono l'automazione dannosa, poco importante o semplicemente troppo difficile, controlla l'eccellente articolo di Steve McConnelle sul perché la stima è un'abilità importante e preziosa di cui hanno bisogno i project manager.

Problemi con i punti della storia

  • Incoerente
  • Giocabile
  • Non lineare

Gli story point sono un'opinione basata sul team sulla quantità di sforzo che potrebbe essere necessaria per creare un software dal punto di vista di uno sviluppatore. Gli story point sono essenzialmente un proxy per le stime dello sforzo, ad esempio uno story point potrebbe essere l'equivalente di un dipendente ideale che lavora per un giorno ideale. Sono altamente soggettivi e dipendono dalle opinioni del team. Inoltre, variano da team a team e persino all'interno dello stesso team nel tempo. La loro incoerenza e giocabilità li rende poco pratici come metrica ingegneristica affidabile.

 

Ulteriori letture