Metriche del software (3)

Stima di tempi e costi dello sviluppo software

Stimare in modo efficace i tempi e i costi di un’attività di sviluppo software, che si tratti di un progetto articolato o di un semplice intervento di manutenzione, è una pratica con cui si cimentano costantemente i project manager e, più in generale, tutti gli addetti alla realizzazione del software.
La stima basata sull’esperienza personale, ancora oggi largamente utilizzata, spesso non porta a buoni risultati e non ha le caratteristiche di oggettività e ripetibilità necessarie per un buon metodo di stima.
Nasce quindi l’esigenza di disporre di tecniche più oggettive e formali, raffrontabili in ambienti eterogenei, basate su standard internazionali e su criteri più scientifici.
Il corso, dopo aver ripreso le problematiche più comuni nella realizzazione delle stime, illustra le metriche di riferimento oggi disponibili per la misurazione dei software e le modalità con cui sono normalmente utilizzate, esamina alcune tecniche e best practices largamente diffuse e le inquadra nell’ambito di un processo che ne guida l’utilizzo.
I Function Point IFPUG, caposaldo del corso, sono trattati con ampi ed esaurienti riferimenti alle regole di conteggio e a diffuse tecniche di stima (E&QFP, FFPA), mentre per lo spinoso tema della conversione del size in effort vengono presentate le più importanti indicazioni fornite da linee guida nazionali e internazionali, e le migliori pratiche oggi adottate dalle realtà aziendali più evolute.
Il tema dell’uso contrattuale dei Function Point e, più in generale, delle metriche del software viene affrontato a corollario dei principali argomenti.

Destinatari

  • Capi progetto, team leader
  • Analisti funzionali
  • Specialisti nel campo delle metriche del software

Prerequisiti

Conoscenza delle problematiche legate al dimensionamento del software e alla stima di tempi e costi dello sviluppo del software

Contenuti

  • Le problematiche legate alle stime – il cono di incertezza, l’importanza di una buona stima, le caratteristiche di un buon metodo di stima;
  • Il dimensionamento del software – le metriche più diffuse (LOC - Lines Of Code, Function Point) e quelle emergenti (SNAP, Cosmic, Use Case Point, Story Point, …);
  • I Function Point IFPUG 4.3 - elementi teorici fondamentali per il conteggio e la stima; cenni al loro utilizzo contrattuale;
  • Stima dell’effort – la stima basata sui Function Point: best practices e linee guida; la stima per analogia; la stima bottom-up; la stima top-down basata sui work product; la stima basata su modelli parametrici (COCOMO II);
  • Il processo di stima calato nel processo di sviluppo – quando e come stimare (i momenti di stima e le tecniche più idonee); la gestione delle stime in ambito di progetto e in ambito aziendale;
  • Gli strumenti per la stima – templates, repository: con cosa partire e come evolvere;
  • Casi studio tratti da esperienze reali.

Durata
2 giorni

Function Point COSMIC 5.0

Disporre di una metrica funzionale per il dimensionamento del software è ormai un’esigenza primaria in campo informatico.

 

Nonostante la diffusione storica del metodo IFPUG, alcuni limiti nella sua applicazione in contesti e paradigmi di sviluppo moderni hanno portato, nel 1998, alla nascita di un nuovo metodo di misurazione funzionale chiamato ‘COSMIC’, dal nome dell’organismo internazionale che lo ha realizzato: the Common Software Measurement International Consortium. 

 

Il metodo COSMIC oggi si va sempre più diffondendo; l’ISO/IEC lo ha riconosciuto come metrica funzionale rispondente ai propri standard (rif. ISO/IEC 19761:2003).  

 

I Function Point COSMIC permettono la misurazione di applicazioni “tradizionali ma, in virtù di alcune caratteristiche particolarmente interessanti, si possono applicare con altrettanto successo anche ad ambiti software “non standard” (quali ad esempio Datawarehouse, GIS, SOA e architetture a microservizi), nonché a processi software complessi, come nel caso dei processi batch. 

 

Il corso fornisce gli elementi di base per l’apprendimento del metodo COSMIC Function Point, per la sua applicazione pratica nel conteggio e nella stima di applicazioni in essere, di progetti di sviluppo e progetti di manutenzione evolutiva del software. 

 

E’ prevista inoltre l’analisi e la discussione di situazioni reali e casi studio mutuati da esperienze pratiche, nonché la eventuale discussione di casi proposti dai partecipanti.  Viene accennato un confronto tra le metriche IFPUG e COSMIC e un’analisi delle possibili modalità di conversione tra i due metodi.

 

Il corso è completato dalla trattazione di alcune best practices per la traduzione dei COSMIC FP in effort e costi.

 

Destinatari

  • Capi progetto
  • Analisti
  • Specialisti nel campo delle metriche

Prerequisiti

Conoscenza delle problematiche di dimensionamento del software e dello sviluppo applicativo

Contenuti

  • Introduzione – perché un nuovo FSM;
  • Standard e riferimenti normativi – manualistica e standard ISO;
  • Regole di misurazione Function Point COSMIC 5.0 - modello del software generale e del contesto; fase di strategia (scopo della misurazione, ambito della misurazione, utenti funzionali, livelli di granularità standard e superiori); fase di mappatura (processi funzionali, oggetti di interesse e gruppi di dati); fase di misurazione (movimenti di dati Entry, Exit, Read, Write); funzione di misurazione; aggregazione dei risultati e formule finali; misurazione delle modifiche (manutenzioni evolutive);
  • Esempi - applicazioni tradizionali, dwh, web services, etc. ;
  • Confronto e convertibilità misure – da COSMIC a IFPUG e viceversa;
  • Temi avanzati - livelli di scomposizione (ambito della misurazione); benchmarking; stima anticipata; modalità di reporting;
  • Casi di studio - proposti dal docente; suggeriti dai partecipanti.

Durata

3 giorni

Guida all'utilizzo pratico dei Function Point

Il calcolo dei Function Point secondo il metodo IFPUG è attualmente la metrica più diffusa per dimensionare i progetti software. Il metodo consente di ottenere risultati facilmente comprensibili da parte dell’utente, in quanto permette di correlare lo sforzo necessario per produrre il software alle funzionalità effettivamente rilasciate. La tecnica ha ormai raggiunto un alto grado di standardizzazione ed è sempre più utilizzata nella contrattazione tra clienti e fornitori. L’applicazione dei Function Point, sebbene guidata da un set di regole codificate (Manuale IFPUG 4.3), nella pratica può lasciare spazio a dubbi e interpretazioni soggettive se tali regole non vengono correttamente interpretate. Il corso, articolato in forma di workshop, tratta le regole di conteggio in modo approfondito, chiaro e sempre correlato a esempi su casi reali. L’obiettivo è fornire un bagaglio di conoscenze pratiche per il conteggio e la stima dei Function Point attraverso la disamina e la soluzione congiunta delle situazioni applicative più ricorrenti nell’ambito dello sviluppo o dell’evoluzione dei sistemi. Vengono inoltre affrontati importanti aspetti inerenti l’utilizzo dei Function Point nel governo dei progetti e nella stesura di contratti per la realizzazione del software.

Destinatari

  • Capi progetto
  • Analisti
  • Specialisti nel campo delle metriche

Prerequisiti

Conoscenza delle problematiche di dimensionamento del software e dello sviluppo applicativo

Contenuti

  • Il metodo IFPUG 4.3 - criteri di utilizzo, ambiti applicativi, elementi e regole di conteggio, cambiamenti rispetto alla versione 4.2;
  • Problematiche applicative – cenni alla stima dei Function Point (FP) nelle fasi “alte” di progetto, rilevazione del portafoglio applicativo esistente, dimensionamento dei progetti di manutenzione evolutiva in base all’effettivo sforzo richiesto, riutilizzo di componenti software già esistenti;
  • Applicazione dei Function Point ai nuovi paradigmi di sviluppo – approccio Object Oriented con UML, applicazioni web, Data Warehouse, SOA;
  • Cenni all’utilizzo dei Function Point nei contratti ;
  • Indicatori per il governo di progetto tramite i FP;
  • Impiego dei Function Point per la determinazione dei Service Level Agreement;
  • Questionari ed Esercizi su casi studio - ampio spazio a discussione di casi reali e ad applicazioni pratiche dei concetti appresi.

Durata

3 giorni