GUFPI-ISMA Evoluzione delle Linee Guida: l’utilizzo contrattuale dei Function Points Roberto Meli Coordinatore Consiglio Direttivo GUFPI-ISMA Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 2 Perché era necessario intervenire ? • I contratti per il software ad hoc sono difficili da gestire • Si acquistano spesso prodotti molto diversi tra loro usando, però, lo stesso parametro di costo per FP (ad es. un’applicazione di 250 FP per la stampa di etichette allo stesso costo di una complessa applicazione statistica di 250 FP) • Le valutazioni di congruità di un contratto sono spesso svolte in maniera limitata usando un solo o pochi parametri di confronto • I meccanismi rigidi di pricing utilizzati finora hanno indotto spesso pratiche illecite come il “backfiring dai costi” Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 3 • Si acquistano pagine HTML (o addirittura animazioni grafiche) utilizzando il concetto di “FP equivalenti” • Sono usate unità di misura di prodotto software per misurare entità diverse (hardware, servizi etc.) • Si confondono spesso variabili di input del processo produttivo con variabili di output (ad es. si misura il prodotto software usando le unità tempo-persona) • I cambiamenti di requisiti in corso d’opera sono fonte di conflittualità permanente nell’esecuzione contrattuale • I contratti quadro di grande rilevanza generano continui micro-contenziosi risolti (nella maggior parte dei casi) con negoziazioni “extra” contrattuali Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 4 Un dato di fatto ! Esperti legali Acquisitori La disciplina e la pratica contrattualistica per il software non è così matura come in altri settori industriali. Roma, 10 maggio 2006 Software manager Commerciali Amministrativi Assenza della “cultura della misura” per il software Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 5 Iniziativa LGC-FP • Più di 40 esperti • Più di 30 organizzazioni • Stretta collaborazione con CNIPA • Fine2005 – Inizio 2006 • Obiettivi: LGC-FP GUFPI-ISMA Semilavorati per LG CNIPA Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 6 Ma cosa sono i Function Points ? Un modo per… • Misurare le funzionalità che l’utente richiede e riceve • Misurare lo sviluppo e la manutenzione del software indipendentemente dalla tecnologia utilizzata Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 7 Functional Size Measurement – FSM ISO/IEC/JTC1/SC7 Standard #14143 Dimensione funzionale: • la dimensione del software ottenuta quantificando I requisiti utente funzionali Requisiti utente funzionali • l’insieme dei requisiti che rappresentano le procedure e le consuetudini dell’utente che il software deve effettuare per soddisfare I bisogni dell’utente stesso. Sono esclusi i requisiti di qualità e ogni requisito tecnico Utente • ogni persona, dispositivo fisico, componente software, ecc. che interagisce con il software oggetto di misura” Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 8 Requisiti Utente • Requisiti Utente Funzionali Sono un insieme dei Requisiti Utente che rappresentano le procedure e le consuetudini dell’utente che il software deve effettuare per soddisfare i bisogni dell’utente stesso. • Requisiti di Qualità Ogni requisito correlato alla qualità del software così come definito nella norma ISO 9126:1991. • Requisiti Tecnici I requisiti sono correlati alla tecnologia e agli ambienti, per lo sviluppo, la manutenzione, il supporto e l’esecuzione del software. Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 9 FP: Modello di riferimento EIF EQ ILF ILF EI EO Dominio utente (umani + sistemi) Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 10 FP: Procedura per il Conteggio Contare Funzioni tipo Dati Determ. FP Non Pesati Contare Funzioni tipo Transaz. Determ. Tipo di Conteggio Identificare Ambito del Conteggio e Confine dell’ Applicazione Roma, 10 maggio 2006 Calc. FP Pesati Determinare Valore Fattore Aggiustamento Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 11 Quali elementi considerare in un contratto SW ? • • • • • • • • Classe di fornitura Modelli di produzione e punti di stima/misura funzionale Ambito della fornitura Classificazione e livello di dettaglio dei requisiti per il software Varianti in corso d’opera nei requisiti per il software Modalità di valorizzazione degli interventi interrotti precocemente Fattori d’impatto sul prezzo di scambio Schemi contrattuali “base” Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 12 Classi di fornitura impattate • SSW Sviluppo e MEV di software ad hoc (Custom) • PSW Personalizzazione e riuso di prodotti esistenti Sviluppo e personalizzazione del Software Manutenzione evolutiva funzionale Manutenzione evolutiva non funzionale (anche detta Manutenzione migliorativa) Manutenzione correttiva Manutenzione adeguativa o adattativa Si introduce il concetto di manutenzione ordinaria e straordinaria in funzione delle dimensioni stimate dell’intervento Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 13 Modelli di produzione e punti di stima/misura funzionale INTEGRATION INTEGRATION iterazione fasi discipline milestone minore discipline principali milestone maggiore discipline di supporto Lifecycle Objectives Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione Initial Operational Capability Product Release iterazioni release Roma, 10 maggio 2006 Lifecycle Architecture release release release release release release release finale 14 “Ambito” della fornitura • Cos’è incluso e cosa è escluso (prodotti/processi) ? • Quale parte della Work Breakdown Structure (Project Lifecycle Model) è stata o sarà commissionata? Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 15 “Ambito” della fornitura • Non influenza i FP • Influenza il prezzo unitario Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 16 Classificazione e livello di dettaglio dei requisiti per il software SW Application Macro Functional Process • misura funzionale (requisiti funzionali) • misura tecnica (requisiti non funzionali/tecnici) • misura qualità (requisiti non funzionali/qualità) Roma, 10 maggio 2006 General Functional Process Multiple Logical Data Group … General Functional Process Typical Functional Process … Logical Data Group Base Functional Process Logical Data Group Base Functional Process Base Functional Process Logical Data Group Base Functional Process Base Functional Process SW Application Macro Functional Process General Functional Process … General Functional Process Typical Functional Process Multiple Logical Data Group Logical Data Group Base Functional Process Logical Data Group Base Functional Process Base Functional Process Logical Data Group Base Functional Process Base Functional Process Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione … 17 Varianti in corso d’opera nei requisiti per il software possiamo valutare in FP ogni Change Request come se fosse un intervento di manutenzione evolutiva, correggendo, però, le misurazioni con alcuni fattori di aggiustamento che tengano conto del livello di riuso applicabile e/o dello spreco di impegno dovuto ai requisiti cambiati o abbandonati. Tali fattori sono stati denominati rispettivamente come CLi (Change Level) e LCPi (Life Cycle Progress) Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 18 Modalità di valorizzazione degli interventi interrotti precocemente Prezzo ridotto = FP x (Prezzo unitario FP x %fasi svolte) Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 19 Schemi contrattuali “base” • M1.Modello a misura con prezzo in funzione delle risorse impiegate (lavoro, strumenti, materiali) • M2.Modello a misura con prezzo in funzione del prodotto rilasciato e delle sue caratteristiche • M3.Modello a corpo per prodotto specificato “Essendo il nostro focus incentrato sulla misura funzionale di supporto alla contrattualistica, tralasceremo di approfondire la prima categoria, legata al consumo di risorse, e ci concentreremo solo sulla seconda e terza categoria.” Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 20 Principi per il contratto quadro • La misura funzionale è il driver di costo primario • Livello di riuso e necessità di replicazione impattano la misura funzionale stessa • La competizione può avvenire sul costo medio per FP • Durante l’esecuzione del contratto la miscela di attività può cambiare rispetto alle aspettative senza che questo impatti sulla correttezza dell’assegnazione avvenuta in gara. Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 21 Modello a misura per accordo quadro • valorizzazione basata su classi di progetti • valorizzazione basata su produttoria di fattori correttivi Classe 1 X €/FP Classe 2 Y €/FP Classe … ….. Classe n Z €/FP MB B N A MA RELY (Grado di affidabilità del software) 0,75 0,88 1 1,15 1,39 DOCU (Accuratezza della documentazione) 0,89 0,95 1 1,06 1,13 0,75 0,88 1 1,15 1,3 TOOL (uso di software tools) 1,24 1,12 1 0,86 0,72 SCED (Vincoli di pianificazione) 1,29 1,1 1 1 1 Fattori di qualità del prodotto Fattori tecnici del prodotto CPLX (Complessità del prodotto) Fattori relativi al progetto Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 22 Fattori di impatto sui costi… Rilevanza Alta Capacità degli analisti Capacità dei programmatori Esperienza sul linguaggio/strumento Utilizzo di strumenti avanzati Utilizzo di componenti dedicate Riuso tecnico di software esistente Modifiche in corso d’opera/Volatilità dei requisiti Complessità Disponibilità di utility parametrizzabili Classe di fornitura Riuso funzionale di software esistente Replica di software funzionalmente identico o simile su piattaforme diverse Qualità/affidabilità/usabilità richiesta Media Maturità del processo di sviluppo Metodi di analisi e progettazione Disponibilità di utility di OS/piattaforma Metodi di programmazione Tracciamento dei requisiti Flessibilità del processo Disponibilità delle risorse Dispersione delle risorse Quantità di sedi/utenti/interfacce Architettura Tipologia di sistema Documentazione richie Vincoli di schedulazione sta Integrazione con altri sistemi Interfacciamento con altri sistemi Esperienza sul sistema Bassa Capacità del capo-progetto Coesione del gruppo di progetto Vincoli sui tempi di elaborazione Vincoli sistemi memorizzazione Caratteristiche prestazionali Dimensione della base dati Bassa Media Alta Misurabilità Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 23 valorizzazione basata su produttoria di fattori correttivi MB B N A MA RELY (Grado di affidabilità del software) 0,75 0,88 1 1,15 1,39 DOCU (Accuratezza della documentazione) 0,89 0,95 1 1,06 1,13 0,75 0,88 1 1,15 1,3 TOOL (uso di software tools) 1,24 1,12 1 0,86 0,72 SCED (Vincoli di pianificazione) 1,29 1,1 1 1 1 Fattori di qualità del prodotto Fattori tecnici del prodotto CPLX (Complessità del prodotto) Fattori relativi al progetto Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 24 Costi non proporzionabili ai FP Non ha alcun senso commerciale e tecnico lo “spalmare” i costi fissi di progetto o relativi a componenti progettuali non proporzionabili ai FP sul prezzo della componente proporzionale. Ad esempio: il costo di installazione di un applicativo non dipende da quanto è grande in FP ma da quante volte lo si deve fare e in che situazioni logistiche Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 25 Impatti del riuso… Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 26 La necessità di replicazione… Stesse funzionalità (EI,EO,EQ, ILF,EIF) Differenti architetture Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 27 La Misura Funzionale Contrattuale (MFC) MFC = FPrilasciati - FPriusati + FPreplicati Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 28 Conclusioni… • LGC-FP : un supporto al miglioramento delle transazioni commerciali per il software ad hoc • Documento nel pubblico dominio: www.gufpi-isma.org • Utilizzato per far evolvere le Linee Guida CNIPA • Cantiere in continua evoluzione Roma, 10 maggio 2006 Linee guida sulla Qualità delle Forniture ICT: evoluzione ed applicazione 29