Docs Italia beta

2 Il tavolo di lavoro

Il presente documento è stato redatto dal Tavolo di lavoro dell’Agenzia per l’Italia Digitale, istituito con determinazione del Direttore generale n. 165 del 9 giugno 2017. Al Tavolo di lavoro, coordinato da Francesco Grasso, hanno partecipato per l’AgID Francesca Villani, Gaetano Bruno, Salvatore Del Pizzo, Giovanni Di Iasio.

Hanno fatto parte del Tavolo di lavoro anche i seguenti esperti esterni, nominati nella medesima determinazione n. 165 e selezionati tra quanti avevano presentato la propria candidatura a seguito dell’avviso pubblicato dall’Agenzia sul proprio sito web il 4 maggio 2017:

  • Ivana Beni, Almaviva;
  • Giulio Borsari, Ministero della Giustizia [4];
  • Luigi Buglione, GUFPI-ISMA;
  • Michele Canalini, Consip;
  • Marco Caprio, Agenzia delle Entrate;
  • Carlo Contavalli, Digital Team (PCM);
  • Iginia De Fent, Insiel;
  • Sergio Di Martino, Università degli Studi di Napoli;
  • Gianluca Ferri [5], SQS;
  • Marco Geraci, CAST;
  • Vittorio Goletti, FID;
  • Gianfranco Lanza, CSI Piemonte;
  • Gabriele Massarelli, Consip;
  • Roberto Meli, DPO [6];
  • Antonio Messina, Agenzia delle Entrate;
  • Domenico Natale, UNINFO;
  • Simone Piunno, Digital Team (PCM);
  • Antonella Rampini, Consip;
  • Michele Slocovich, OMG-CISQ.

Nel corso delle attività, svoltesi tra il giugno 2017 e il febbraio 2018, il Tavolo di lavoro ha effettuato 5 riunioni aperte ai componenti esterni. Nel luglio 2017 si è tenuta un’audizione di Francesco Teseo e Giuseppe Lo Presti di Accenture, durante la quale è stata illustrata l’esperienza di detta società nel campo oggetto d’indagine. Nel febbraio 2018 si è tenuta un’audizione di Andrea Gelli, della società QSM Switzerland, che ha rappresentato lo stato dell’arte delle gare pubbliche nella Confederazione Elvetica. Oltre a tali incontri, l’interazione tra i componenti del Tavolo di lavoro è avvenuta tramite scambio di documenti e strumenti di collaboration remota.

Le attività del Tavolo di lavoro si sono articolate nelle seguenti fasi:

  1. ricognizione a livello internazionale di esperienze e casi di studio sulle metriche del software;
  2. ricognizione di metriche non funzionali, confronto di strumenti, metodologie, proposte a disposizione;
  3. analisi del modello strategico del Piano Triennale, con lo studio delle possibili applicazioni a tale modello delle metriche non funzionali;
  4. studio dell’impatto delle metriche non funzionali su capitolati e schemi contrattuali delle pubbliche amministrazioni;
  5. redazione del testo finale del documento.

Analogamente ad altri documenti di natura tecnica pubblicati in passato dall’Agenzia, la presente guida tecnica sarà aggiornata in rapporto all’evoluzione delle tecnologie ICT e del contesto normativo/organizzativo delle pubbliche amministrazioni italiane.

2.1 Ricognizione a livello internazionale

Come prima attività, il Tavolo di lavoro ha effettuato una ricognizione presso alcune pubbliche amministrazioni estere che svolgono funzioni analoghe ad AgID e organismi di altri Paesi che si occupano di standard per la misurazione del software.

I destinatari della ricognizione sono stati individuati nel corso della prima riunione del Tavolo di lavoro, attingendo a riferimenti istituzionali e all’esperienza dei partecipanti esterni del Tavolo che fanno parte di comitati e organizzazioni internazionali. Ai destinatari è stata inoltrata una richiesta a mezzo posta elettronica, illustrando le finalità dello studio in corso e chiedendo contributi sulla tematica.

In particolare sono state chieste:

  • informazioni riguardo le modalità utilizzate per la misurazione del software;
  • se sono state sperimentate metriche per le caratteristiche non funzionali del software.

Nella tabella che segue sono riepilogati i destinatari della ricognizione.

Tabella 1: destinatari della ricognizione internazionale

Organizzazione Riferimento
Directeur de l’Agence du numérique – Francia agence.numerique@finances.gouv.fr
Secretary at the Federal Ministry of the Interior and Federal Government Commissioner for Information Technology - Germania Besucherdienst@bmi.bund.de
Government Digital Service – UK kevin.cunnington@digital.cabinet-office.gov.uk
Office of the Government Chief Information Officer (OGCIO) - Irlanda barry.lowry@per.gov.ie
Director of the Digital Services Unit; National Architecture for Digital Services – Finlandia Kristiina.Luukkonen@vm.fi
KERC - Korea-EU Research Centre ockwon@etri.re.kr
EU-Japan Centre for Industrial Cooperation fabrizio.mura@eu-japan.gr.jp
Ministerio de Modernización Gobierno Digital - Argentina digital@modernizacion.gob.ar
Ministerio de Hacienda y Función Pública - Secretaría General de Administración Digital - Subdirección General de Impulso de la Administración Digital y Servicios al Ciudadano – Spagna secretaria.sgiadsc@seap.minhap.es
Minister of Digital Affairs – Polonia apiasecki@ibemag.pl
Minister of Entrepreneurship and Information Technology of the Republic of Estonia info@mkm.ee
AEMES (associazione spagnola per la governance, la misurazione delle tecnologie dell’informazione e la gestione) admon@aemes.org
ASSEMI (ASSociation pour l’Etude des Métriques Informatiques) - Francia Secretariat@assemi.org
DASMA (Deutschsprachige Anwendergruppe für Software-Metrik und Aufwandschätzung e.V.) – Germania info@dasma.org
ITSA (Korea Information Technology Service Industry Association) hijeong@itsa.or.kr
NESMA (Netherlands Software Metrics users Association) - Olanda office@nesma.org;https://nesma.org/2018/01/non-functional-requirements/
PSMO (Associazione polacca per le misure del software) kontakt@psmo.pl
JFPUG (Japan Function Point User Group) office@jfpug.gr.jp
Programme Office eGovernment Switzerland info@egovernment.ch anna.faoro@egovernment.ch

Non tutti gli interpellati hanno risposto. In alcuni casi, forse a causa della insufficiente conoscenza della tematica, le risposte ricevute non sono sembrate pertinenti. Nella tabella che segue sono sintetizzati i contributi più significativi tra quelli acquisiti.

Tabella 2: esiti della ricognizione internazionale

Nazione / Rispondente Sintesi delle informazioni trasmesse
Estonia Abbiamo ricevuto informazioni e alcuni documenti riguardanti la gestione dei processi e la definizione di standard nazionali per i contratti stipulati dalle P.A. estoni. Il rispondente non si è espresso sulle metriche non funzionali e sul loro eventuale utilizzo.
Gran Bretagna La risposta riguarda essenzialmente la piattaforma utilizzata per misurare la qualità dei servizi offerti dalle amministrazioni. Nulla è stato detto dell’utilizzo di metriche del software.
Giappone (EU-Japan Centre for Industrial Cooperation)

Il rispondente ha precisato che la sua organizzazione è piccola e non svolge misurazioni del software. Le motivazioni sono:

  • lo scarso budget a disposizione;
  • l’acquisto di prodotti software e/o servizi di sviluppo software avviene unicamente con il criterio del prezzo più basso.
  • scarso interesse da parte del top management nei confronti di programmi di lungo termine relativi al software.
Giappone (IFPUG)

Il Japanese Function Point User Group conferma quanto alla riga precedente. Da parte dell’industria ICT si segnala interesse per la tematica, ma in sostanza non sono state avviate azioni concrete. JFPUG conferma inoltre che i requisiti non funzionali sono molto spesso trascurati nelle fasi iniziali dei progetti, per poi emergere nelle fasi successive.

Riguardo a SNAP, JFPUG è stato piuttosto esplicito nell’affermare che il metodo presenta criticità.

Irlanda

Gli irlandesi riconoscono che i requisiti non funzionali siano spesso trascurati nella fase di analisi, creando seri problemi nelle fasi successive dei progetti di realizzazione del software.

Peraltro, essi nutrono dubbi sulla possibilità di misurarli agevolmente. In particolare hanno una conoscenza solo teorica del metodo SNAP, che appare, a loro giudizio, piuttosto complesso e strettamente collegato alla metrica dei Punti Funzione.

In conclusione, esprimono perplessità sui benefici dell’applicazione di SNAP, soprattutto in considerazione dello sforzo necessario alla sua applicazione in progetti ICT complessi come quelli tipici delle P.A.; ritengono più importante che i requisiti non funzionali siano tutti correttamente identificati nella fase di analisi e implementati nelle fasi successive dei progetti.

Olanda

Il NESMA (Nederlands Software Metrics users Association) segnala che al suo interno è attivo un gruppo di specialisti e architetti software che stanno lavorando sull’argomento delle metriche non funzionali.

Il NESMA ha messo a punto un framework, presentato alla conferenza IWSM (International Workshop on Statistical Modelling) di Göteborg. La presentazione e il relativo articolo sono stati trasmessi e acquisiti dal Tavolo di lavoro. In estrema sintesi, essi propongono un approccio teorico sulla misurazione della dimensione funzionale / non funzionale del software e la stima dei corrispondenti costi di realizzazione. Esprimono inoltre riserve sul metodo SNAP (considerato ancora non stabile) e su COSMIC (giudicato incompleto).

Svizzera

Nella Confederazione Elvetica le procedure di appalto sono regolate dall’Ufficio federale delle costruzioni e della logistica (UFCL) in base all’Accordo sugli appalti pubblici (GATT-WTO) entrato in vigore per la Svizzera il 1° gennaio 1996. Obiettivo delle PA è ottenere una stima dei costi del progetto prima della gara d’appalto, considerando:

– Le funzionalità, misurate con la FPA;

– I tempi progettuali desiderati;

– Le disponibilità di budget;

– La qualità richiesta durante l’esercizio.

Gli schemi contrattuali prevedono, in genere, che la remunerazione dei fornitori aggiudicatari venga effettuata a corpo, pur con la possibilità di introdurre varianti al progetto con il meccanismo delle “change request”. Ciò è giustificato dal fatto che la determinazione delle basi d’asta è sufficientemente precisa.

In genere le Pubbliche Amministrazioni svizzere si affidano a società esterne che le affiancano nelle fasi di preparazione delle procedure di gara e di determinazione della basi d’asta, e che si occupano del monitoraggio successivo all’aggiudicazione.

A seguito della ricognizione effettuata e dalla lettura dei contributi pervenuti, si può affermare quanto segue:

  • poter misurare i requisiti non funzionali di un software è un’esigenza sentita dalla maggior parte delle amministrazioni pubbliche dei Paesi rispondenti, tuttavia non sembra emergere un reale impiego di metriche o sperimentazioni degne di nota;
  • i metodi attualmente disponibili sono giudicati non sufficientemente maturi; si avverte la necessità di un loro consolidamento, o almeno di una loro integrazione, prima di suggerirne l’uso;
  • l’Italia, con la costituzione del presente Tavolo di lavoro, può ritenersi in posizione più avanzata sull’argomento rispetto alle nazioni interpellate.

2.2 Ricognizione delle metriche non funzionali disponibili

La seconda attività svolta dal Tavolo di lavoro è stata la raccolta di documentazione tecnica inerente l’oggetto dello studio, in particolare inerente le metriche per quantificare le caratteristiche non funzionali del software.

Si è proceduto:

  • ricercando documentazione in rete;
  • acquisendo contributi proposti dai componenti non AgID del Tavolo di lavoro;
  • tramite confronto con altri tavoli di lavoro presenti in AgID o a cui l’AgID partecipa (es. GLU – Gruppo di Lavoro sull’Usabilità della Funzione Pubblica e MiSE);
  • svolgendo due audizioni di società private.

I documenti raccolti sono elencati nella tabella che segue.

Tabella 3: elenco documenti acquisiti

Titolo Autore/Fonte Data
“Il Software non è un frutto” dalla rivista “il Project Manager” Roberto Meli apr-15
“Metric Views” IFPUG ago-12
10 metrics for improving the level of management Pekka Forselius - Risto Nevalainen (FISMA Finlandia) 2012
8 Steps to Measure ADM Vendor Deliverables CAST  
A fact-based approach to portfolio rationalization Bill Dickenson (Strategyontheweb.com) - Scott Moore (IBM) - Gregory J Chiarella (IBM) 2015
A Shortcut to estimating Non-functional Requirements? Frank Vogelezang – NESMA (Olanda) 25/10/2017
A Shortcut to Estimating Non-Functional Requirements? - Architecture Driven Estimation as the Key to Good Cost Predictions F.W. Vogelezang - E. van der Vliet - R. Nijland - E.R.Poort - H.R.J.Mols - J. de Vries (Olanda) ott-17
Accord cadre 2016 pour le support et la maintenance du si chorus ccme partie 1 : cahier des clauses administratives particulieres ET partie 2 : cahier des clauses techniques particulieres Ministero delle Finanze e dei conti Pubblici (Francia) 2016
Agile-4-FSM - Improving estimates by a 4-pieces puzzle Luigi Buglione 17/05/2012
Agility-and-Reliability-Need-Not-Be-Mutual-Exclusive Satish Dani - Venkat Nagarajan (CAST) 2015
Agreement for the provision of Services (Sole Entity Multiple Purchase) Victorian Government Purchasing Board (VGPB) – Dipartimento del Tesoro e della Finanza 2017
Allegato 1.5 Regole di programmazione RAI 2016
Allegato 2 CAPITOLATO TECNICO RdO MEPA per l’acquisizione di servizi professionali per il supporto alla validazione delle stime dimensionali per lo sviluppo applicativo e la manutenzione evolutiva - 15154SVI - N007/15 - Banca d’Italia - Eurosistema 2016
Allegato 2.1 LOTTO 2 – Descrizione Sistemi componenti e dimensioni della fornitura RAI 2016
Allegato 2.7 Strumenti a supporto RAI 2015
Amendment of solicitation/modification of contract Dipartimento di Stato U.S. 06/02/2017
Application sourcing vendor performance report CAST 2015
Appmarq: Benchmark Your Applications - To Industry Peers CAST 20/07/2017
Asset Management Accountability Framework Victorian Government Purchasing Board (VGPB) – Dipartimento del Tesoro e della Finanza feb-16
ATDM Workshop - CISQ Automated Technical Debt Measure presentation CISQ giu-16
Automated Enhancement Points 1.0 Specification presentation CISQ  
Automated Enhancement Points V1.0 OMG 03/04/2017
Automated Function Points (AFP) Version 1.0 OMG 03/01/2014
Automated Function Points Calculation - Dimensional Software Measurement Program CAST  
Automated Source Code (in Reliability, Performance Efficiency, Security, Maintainability) Measures 1.0 CISQ  
Automated Source Code Maintainability MeasureTM (ASCMMTM) V1.0 OMG 01/01/2016
Automated Source Code Performance Efficiency Measure TM (ASCPEMTM) V1.0 OMG 02/01/2016
Automated Source Code Reliability Measure TM (ASCRMTM) V1.0 OMG 03/01/2016
Automated Source Code Security Measure TM (ASCSMTM) V1.0 OMG 04/01/2016
Balancing uncertainty of context in ERP project estimation: an approach and a case study Maya Daneva (Computer Science Department, University of Twente) 2010
Best Practices Contrattuali -Vol. 1: Principi ed Assunzioni - Linee guida e suggerimenti per un uso corretto delle misure e degli aspetti di misurazione nei contratti ICT. (document, presentazione ed excel di appendice) Luigi Buglione - Michele Canalini - Tommaso Iorio - Gianfranco Lanza - Guido Moretto 25/02/2016
Boosting Software Quality in Insurance IT Systems: Practical Solutions to Application Quality Problems Paul Camille Bentz (Allianz) mar-10
Capitolato Tecnico – Procedura aperta per l’affidamento dei servizi per la gestione degli strumenti – lotto 3 RAI 2014
CAPITOLATO TECNICO e ALLEGATO 1–LIVELLI DI SERVIZIO al Capitolato Tecnico - Procedura aperta, di carattere comunitario, ai sensi dell’art. 55, comma 5, del D.L.vo 163/2006 per l’affidamento di servizi di Application Development and Maintenance del software applicativo - Indicatori di qualità della fornitura INPS 2016
Capitolato TecnicoLotto1“Servizi a progetto per lo sviluppodei Sistemi Informativi RAI–Ambito Istituzionale” RAI 2015
Case Study: Bank of New York Mellon adopt CAST Application Intelligence Platform (AIP) to speed time to market and improve governance of outsourcing relationships CAST 2011
CAST AIP – Health Factors Overview CAST  
CAST Application Intelligence Platform Overview for the Architect CAST 2013
CAST brings transparency and quality assurance to Spanish Social Services IT CAST  
CAST Business Case CAST nov-16
CAST CWE for FDA CAST  
CAST Implementazioni reali degli standard OMG/CISQ - AgID-Tavolo di lavoro sulle Metriche Marco Geraci 28/07/2017
CAST improves efficiencies in a multi-sourced environment for Government of Catalonia CAST  
CAST Mips Reduction Index CAST lug-17
CAST Worldwide Application Software Quality Study – 2010 CAST 2010
CISQ in azione per Agile & DevOpsContributo CAST al Gruppo 3 CAST mar-17
CISQ Quality Characteristic Measures and the ISO/IEC 25000 Series Bill Curtis (Consortium for IT Software Quality)  
CISQ Recommendation Guide - Effective Software Quality Metrics for ADM Service Level Agreements CISQ  
CloudReady Index (CRI) CAST  
Come governare meglio i contratti dell’Ict Luigi Buglione sulla rivista CORCOM gen-17
Conclusions and recommendations of the Dutch temporary committee on government ICT projects Camera dei rappresentanti dei Paesi Bassi 15/10/2014
Considerazioni e commenti sulla disamina dell’ISO 25023. Domenico Natale ott-17
Consular Systems Modernization Solicitation - SAQMMA16Q0152 Dipartimento di Stato U.S. 05/05/2017
Consulta Licitações de TIC Governo del Brasile 23/05/2016
Contributo GUFPI-ISMA per un modello di integrazione GUFPI-ISMA 2017
Contributo GUFPI-ISMA per un modello di integrazione - Il Quadro Generale: un progetto di…”servizio”! v03/v04 Luigi Buglione 2017
Contributo GUFPI-ISMA per un modello di integrazione - Schema ‘123’+Schema ‘ABC’…è la somma che fa il totale! Alcuni spunti per le modalità di gestione e corresponsione Luigi Buglione  
CRASH Benchmark Report 2015 – SAP(CAST Research on Application Software Health) CAST 2015
CRASH Report2017 Global Sample CAST 2017
CRASH Special Report - Impact of Java EE Frameworks on the Structural Quality of Applications CAST apr-13
Data Manipulation: la componente assente della misura funzionale!isura funzionale! Luigi Lavazza (Università degli Studi dellÍnsubria) - Roberto Meli 15/12/2016
Deep Dive on Sizing with:-Automated Function Points -Automated Enhancement Points CAST  
Designing a Measurement Method for the Portability Non-Functional Requirement (NFR) Feras AbuTalib - Alain Abran - Dennis Giannacopoulos 2013
Developing ICT Investments – Technical Guidance Victorian Government Purchasing Board (VGPB) – Dipartimento del Tesoro e della Finanza 2012
DevOps &ITIL - Friends or Foes? Chiara Mainolfi - Luigi Buglione (itSMF Italia) 28/02/2017
DevOps Motivations and Barriers: Costs and Quality More Important Than Speed Hewlett Packard 2016
Documentazione della Gara a “Procedura aperta per la conclusione di un accordo quadro, suddiviso in 7 lotti, avente a oggetto l’affidamento dei servizi applicativi it per le pubbliche amministrazioni” CONSIP lug-17
Documenti vari su casi comuni di applicazioni di punti funzione FPA e SNAP (http://www.ifpug.org/itips-utips/) IFPUG  
Documents Eligible for IFPUG Certification Extension Credits (CEC) - Step Procedura Conteggio IFPUG CPM v4.3.x IFPUG  
DRAFT MANUAL ON POLICIES AND PROCEDURES FOR PROCUREMENT IN EGOVERNANCE Ministero dell’Industria e dell’Information Technology (DeitY) Governo dell’India 2016
Dramatically Reducing Software Vulnerabilities - Report to the White House Office of Science and Technology Policy Paul E. Black - Lee Badger - Barbara Guttman - Elizabeth Fong (National Institute of Standards and Technology)  
E&QFP® - Early & Quick Function Points for IFPUG method - Reference Manual 1.1 DPO 2012
eCommerce Benchmark Report - Sample Benchmark Report CAST 28/09/2016
Effective Productivity:Manual and Automatic Functional Measures, “Risk -Adjusted” Francesco della Gatta – Michele Slocovich 19/05/2017
Elaborazione DPO su COSMIC/IFPUG Glossary of NFR and Project terms v1 Roberto Meli lug-17
Elenco dei riferimenti di utilizzo di Function Points e Cosmic nelle attività governative Polonia 2013
Estimating Packaged Software a Framework - Version1.0 NESMA (Olanda) 03/10/2016
Estimating Packaged Softwarea Framework NESMA 2016
Estimation Luigi Buglione - Christof Ebert 25/06/2012
Flavors of the CAST Business Case - Measured value among CAST customers CAST  
IFPUG SNAP v2.3.0 (Software Non-functional Assessment Process) Quick Guide IFPUG 2015
From Software Sizing to Productivity Measurement CAST  
Gara 3/2014/LI -Procedura aperta ai sensi del D.Lgs. n. 163/2006 per l’affidamento dei servizi di supporto al demand management, sviluppo, manutenzione, assistenzaper la realizzazione dei modelli di e-government (allegati 1.2, 1.3, 1.4, 1.6, 1A, 1B, 1C, 1D) Lombardia Informatica 2015
Gara n. 9103 Servizi informatici per la manutenzione ordinaria ed evolutiva delle Applicazioni informatiche del GSE SPECIFICA TECNICA Gestore dei Servizi Energetici – GSE S.p.A. 2016
General conditions for the provision of Services Victorian Government Purchasing Board (VGPB) – Dipartimento del Tesoro e della Finanza 2017
Glossary of terms for Non-Functional Requirements and Project Requirements used in software project performance measurement, benchmarking and estimating COSMIC/IFPUG set-15
Governance della Qualità e misurazione FP, l’esperienza di GSE Cristiano Nicola Sticca 14/05/2015
Green IT Index - CAST CAST  
Guideline for the use of COSMIC FSM to manage AGILE projects COSMIC set-11
Guideline for the use of software metrics in contract NESMA 2015
Guidelines - Specific guidance on how to use the COSMIC method COSMIC  
IBM and CAST improve quality, reduce risk and costs of application portfolio at National Grid IBM ott-11
Improving the User Story Agile Technique Using the INVEST Criteria Luigi Buglione - Alain Abran 2013
Improving the User Story Agile Technique Using the INVEST Criteria (23° International Workshop on Software Measurement (IWSM) and 8th International Conference on Software Process and Product Measurement (MENSURA)) Luigi Buglione - Alain Abran 23/10/2013
Incorporating CAST Outputs into Service Level Agreements (SLAs) CAST  
Information technology — Software measurement — Functional size measurement — Part 5: Determination of functional domains for use with functional size measurement ISO/IEC TR 14143-5 01/04/2004
Is a ‘fixed price’ Agile contract possible? How function points can be used to help create contracts for tech projects where Agile methodologies are being used Ian Brightwell (CIO) 10/08/2017
IT Policy Report Innovation and Technology Caucus (Texas) mag-17
Kodeks dobrych praktyk Polskiego Stowarzyszenia Miar Oprogramowania Jarosław Świerczek (Presidente dell’Associazione polacca di misure del software)  
Leverage CAST AIP in Agile Development Philippe Guerin (CAST)  
Linee Guida CISQ - Metriche di qualità del software per SLA efficaci nei contratti ADM CISQ 2015
Linee Guida per l’accessibilità e l’usabilità di siti ed applicazioni web SOGEI 26/11/2013
Link alla rivista “Tutto Misure” (Misurare per…credere: una breve overview della Misurazione nel mondo ICT, Quanto è grande un requisito? Parte 1 –Requisiti funzionali, Quanto è grande un requisito? Parte 2 –Requisiti funzionali - i metodi FSM, Quanto è grande un requisito? Parte 3 –Requisiti non-funzionali, Quanto è grande un requisito? Parte 4 –Misurare i requisiti non-funzionali: IFPUG SNAP, Quanto è grande un requisito? Parte 5 -Misurare i requisiti non-funzionali: Benchmarking e Profili non-funzionali, Metrologia e Contratti: Parte 1 –Misurare per Gestire, Metrologia e Contratti: Parte 2 –Livelli di Servizio, Metrologia e Contratti: Parte 3–Ambiti, confini applicativi e strati/partizioni, Metrologia e Contratti: Parte 4–Measurement by Assets (MbA): come e quanto misurare?) Luigi Buglione Dal 2014 al 2017
Managing Agile at Scale - A briefing for Software Executives and Chief Information Officers COSMIC -IFPUG - Nesma lug-17
Maximize the synergies between ITIL® and DevOps AXELOS ago-14
Measuring application development productivity Allan J. Albrecht 1999
Measuring Information Technology (IT) Project Performances in Texas - House Bill (HB) 3275 Implications (a position paper) Herb Krasner - Bob Futrell 12/07/2017
Metric Cards for Automotive Software Projects Automotive SPIN Italy ott-12
Metrologia e Contratti - Parte 4 – Measurement by Assets (MbA): come e quanto misurare? Luigi Buglione feb-17
Misurare il software Luigi Buglione feb-08
Mitigate Business Risk and Unlock Software Potential with Contextual Software Analysis Peter Kaminski (Cutter Consortium) apr-17
Mitigating Software-Related Business Risk Requires Systems Perspective Peter Kaminski (Cutter Consortium) apr-17
Modalità con cui una metrica non attualmente presente nella ISO/IEC 25023 può essere definita “conforme”, nonché a chi spetta verificare/certificare questa conformità Domenico Natale ott-17
Modello di Costo Integrato DATA PROCESSING ORGANIZATION  
National Science and Technology Council - Networking and Information Technology Research and Development Program FEDERAL CYBERSECURITY RESEARCH AND DEVELOPMENT STRATEGIC PLAN 05/02/2016
Onderzoeksrapporten van Policy Research Corporation in het kader van het parlementair onderzoek ICT-projecten bij de overheid Commissionato dalla commissione temporanea delle TIC, Camera degli Stati Generali (Olanda) ott-14
Output- and Outcome-Based Service Delivery and Commercial Models Cognizant apr-14
Parlementair onderzoek naar ICT-projecten bij de overheid Seconda Camera degli Stati Generali (Olanda) 2014
Parliamentary Investigation into Governmental ICT-projects - A great need for FPA and Estimating René Notten - Camera dei rappresentanti dei Paesi Bassi 08/10/2014
PUBLIC PROCUREMENT LAW Autorità per gli appalti pubblici (PPA) - Turchia gen-12
Qualità del Codice Sorgente SQS Italy – SQS Nederland 10/05/2017
RAI -Direzione ICT Sviluppo e manutenzione applicazioni - L’esperienza con CAST AIP Anna Maria Fassi (RAI ICT) 03/06/2013
Reducing the Cycle Time for Change in Health Care Insurance -A Conversation with Kelly Cannon, former Vice President, Shared Application Services at Kaiser Permanente, CIO, Enterprise Infrastructure at Nationwide Insurance, and CIO at Wausau Insurance. CAST  
Regulation Systems Compliance and Integrity (“Regulation SCI”) The Securities and Exchange Commission 03/02/2015
Risk and AFP Measurement in a digital transformation program, Allianz Italia use case Piergiacomo Ferrari 03/05/2016
Scaled agile: experiences and perspectives Michele Slocovich 06/06/2017
Simple Function Point Functional Size Measurement Method - Esempi di applicazione del metodo Comitato Editoriale dell’associazione SiFPA (Simple Function Point Association) 2014
Simple Function Point Functional Size Measurement Method - Manuale di Riferimento Comitato Editoriale dell’associazione SiFPA (Simple Function Point Association) 2014
SNAP Counting Spreadsheet V0210_d4_2003 IFPUG 2003
SNAP Vizi privati e pubbliche virtù - Brainstorming sul grado di maturazione e applicabilità delle varie sottocategorie Gianfranco Lanza - GUFPI - ISMA 2017
Software assurance into Department of Defense Contracts Dipartimento della Difesa U.S. feb-16
Software Fail Watch: 2016 in Review Tricentis 2017
Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation Estratto dall’articolo di Allan J. Albrecht e John E. Gaffney Jr. 1983
Software Metrics & Software Metrology Alain Abran 2010
Software Non-functional Assessment Process (SNAP) Assessment Practices Manual - Release 2.3 IFPUG mag-15
Software or Service? - That’s the question! Luigi Buglione - Alain Abran - Christiane Gresse von Wangenheim - Fergal McCaffery - ean C.R.Hauck 05/10/2015
Software Product Quality Evaluation and Certification Ecosystem ISO/IEC 25000 14/03/2015
Some thoughts on Productivity in ICT projects Luigi Buglione 23/08/2010
Some thoughts on Productivity in ICT projects: measurable entities, measurable requirements, possible impacts Luigi Buglione 03/10/2007
Standard Software Development Agreement – Rules of Procedure version 1.0 - general conditions Ministero degli affari economici e delle comunicazioni dell’Estonia  
Standard Software Development Agreement – Rules of Procedure version 1.0 - rules of procedure Ministero degli affari economici e delle comunicazioni dell’Estonia  
Statement of Work & Request for Quotes GSA (General Services Administration) 17/05/2017
Success Stories: AXA CAST 2011
Tassonomia, riflessioni e confronti a seguito della riunione il 28 luglio 2017 del 1 e del 22 agosto Domenico Natale ago-17
Tavolo di Lavoro AgID sulle metriche contrattuali - Sintesi dei contributi CISQ/OMG – Gruppi 1 e 2 Michele Slocovich ago-17
Technical Debt CAST 2012
Technical Debt (da http://it-cisq.org/standards/technical-debt/) CISQ  
Template terms for using automated function points in software adm contracts CISQ - David Consulting Group 10/02/2014
Tesi di Laura: “Qualità dei prodotti software: confronto tra gli standard ISO 9126 e 25010” Paolo Maione 2017
The ‘functional’ side of Security - How to apply FPA to a typical non-functional attribute Luigi Buglione 15/09/2017
The Analysis and Proposed Modifications to ISO/IEC 25030—Software Engineering—Software Quality Requirements and Evaluation—Quality Requirements Karen Mou Kui - Khaled Ben Ali - Witold Suryn 22/04/2016
The COSMIC Functional Size Measurement Method Version 4.0 Measurement Manual COSMIC apr-14
The CRASH Report - 2011/12 (CAST Report on Application Software Health) CAST 2011
The CRASH Report 2014-2015 (CAST Research on Application Software Health) - The Global State of Structural Quality in IT Applications CAST 2014
The Next Frontier: Measuring and Evaluating the Non-Functional Productivity Luigi Buglione  
The Significance of IFPUG Base Functionality Types in Effort Estimation - An Empirical Study Luigi Buglione - Cigdem Gencel 13/09/2010
The Texas Information Technology (IT) Forum – A Focus on IT Procurement Herb Krasner 01/02/2017
The Texas IT Forum – After Action Report Herb Krasner 01/02/2017
Tierce maintenance de l’application « GENESIS » et prestations associées («TMA GENESIS 2015» )Cahier des clauses administrative sparticulières Ministero della Giustizia (Francia) 05/02/2015
Top10 Metrics - Metric Cards Luigi Buglione 01/04/2011
TURKISH PUBLIC PROCUREMENT LAW - Basic Concepts and Principles Turchia  
Tutto ciò che non è Funzionale GUFPI - ISMA lug-17
Use The Concept Of Technical Debt To Drive More Effective Application Delivery Mike Gilpin (Forrester Research) 16/09/2013
Use The Concept Of Technical Debt To Drive More Effective Application Delivery Mike Gilpin 16/09/2013
Using Software Measurement in SLAs: Integrating CISQ Size and Structural Quality - Measures into Contractual Relationships CISQ  

Prima di esaminare i documenti acquisiti, essi sono stati selezionati escludendo:

  • quelli troppo datati, per ridurre il rischio di recepire eventuali concetti obsoleti o superati dall’evoluzione della tematica;
  • quelli il cui contenuto non risulta affine agli obiettivi del Tavolo di lavoro (descritti al §1.5), in modo da focalizzare lo studio e massimizzare l’efficacia dei risultati;
  • i documenti riferiti a contesti significativamente diversi dal settore pubblico, i cui contenuti non sono coerenti con le normative vigenti (anche se, in via teorica, alcune indicazioni della presente guida tecnica potrebbero tradursi in proposte per il legislatore).

Nella tabella che segue sono elencati i documenti così filtrati e giudicati più rilevanti. Per ogni documento è riportato un breve abstract utile per inquadrarne i contenuti.

Tabella 4: sintesi dei documenti più rilevanti

Titolo Documentazione della Gara a “Procedura aperta per la conclusione di un accordo quadro, suddiviso in 7 lotti, avente a oggetto l’affidamento dei servizi applicativi IT per le pubbliche amministrazioni”
Autore/Fonte CONSIP
Sintesi Nella documentazione, oltre i documenti standard per la gara per l’affidamento dei servizi applicativi IT per le pubbliche amministrazioni, vengono riportate le metriche dei Punti Funzione IFPUG (attualmente release 4.3) per i servizi di sviluppo e manutenzione evolutiva di software, ivi includendo la qualità del sw – modello ISO 25010 - oppure i Giorni Persona.
Titolo Automated Function Points Calculation - Dimensional Software Measurement Program
Autore/Fonte CAST
Sintesi Questo documento, partendo dall’utilizzo dei Function Point nei diversi scenari, analizza il processo di calcolo degli Automated Function Points partendo dalla ISO 19515. Definisce quali sono le regole, le fasi e gli output per il conteggio automatico dei Function Point. Spiega in modo puntuale il processo di calibrazione e illustra degli esempi di applicazioni di questo metodo.
Titolo CAST AIP – Health Factors Overview
Autore/Fonte CAST
Sintesi Il documento fornisce una descrizione di sintesi delle metriche di qualità e quantità del sw definite nella piattaforma CAST AIP (CAST Application Intelligence Platform). Queste metriche vengono definite da CAST come fattori di “health” (Trasferibilità, Changeability, Robustezza, Prestazioni, Sicurezza, Indice di manutenibilità, Dimensioni tecniche) di misura di un’applicazione. Per ognuno di questi fattori ne viene fornita la definizione e viene descritto la modalità di misurazione.
Titolo Technical Debt
Autore/Fonte CAST
Sintesi Questo documento costituisce una breve presentazione della caratteristica “Technical Debt”, nella quale se ne da una definizione, si presentano le “violation” che non devono accadere per questa caratteristica e infine viene riportata la formula di calcolo per il “Technical Debt”.
Titolo Green IT Index
Autore/Fonte CAST
Sintesi Questo documento è una presentazione della soluzione di CAST basata sull’indice “Green IT” definito da CAST come un criterio di business in grado di aggregare regole di qualità e criteri tecnici che hanno impatto sull’efficienza di un sw, e sulla robustezza di un applicativo. Inoltre fornisce un breve cenno sui criteri tecnici di efficienza e robustezza dell’indice “Green IT”.
Titolo Mips Reduction Index
Autore/Fonte CAST
Sintesi Questa presentazione spiega il “Mips Reduction Index” (Million Instructions Per Second) che costituisce una delle caratteristiche di CAST. Illustra come è possibile ottimizzare il consumo del mainframe; introduce il database Appmarq come un repository di benchmarking, considerando ogni applicazione mainframe come un database di riferimento. Inoltre evidenzia i fattori di rischio all’assessment di un software e quelli legati alla dimensione funzionale. Infine descrive l’insieme dei criteri tecnici che si possono seguire per avere una “riduzione del consumo della potenza di calcolo”.
Titolo eCommerce Benchmark Report - Sample Benchmark Report
Autore/Fonte CAST
Sintesi Questo documento è una presentazione al database Appmarq di CAST, ne spiega come è stato costituito, quali caratteristiche di qualità possiede, quanti e quali dati sono presenti al suo interno. Vengono descritti i risultati di benchmark dei fattori di “health” di CAST (Criteri tecnici, TQI (Total Quality Index), Trasferibilità, Changeability, Robustezza, Efficienza, Sicurezza) rispetto alle righe di codice e l’elenco delle regole che non devono avvenire rispetto ai fattori “health”
Titolo The COSMIC Functional Size Measurement Method - Version 4.0 Measurement Manual
Autore/Fonte COSMIC
Sintesi Questo documento costituisce un manuale del metodo COSMIC di misurazione della dimensione funzionale di un software. Spiega quali possono essere i tipi di software per i quali può essere utilizzato il metodo COSMIC, definisce i ‘Functional User Requirements’ (‘FUR’) che il metodo COSMIC intende misurare e come devono essere mappati affinché possono essere misurati con questo metodo, il processo di misurazione, le regole legate alla misurazione e infine gli ambiti di applicazioni.
Titolo Best Practices Contrattuali -Vol. 1: Principi ed Assunzioni - Linee guida e suggerimenti per un uso corretto delle misure e degli aspetti di misurazione nei contratti ICT.
Autore/Fonte Luigi Buglione - Michele Canalini - Tommaso Iorio - Gianfranco Lanza - Guido Moretto
Sintesi Questo documento riporta pertanto i principali principi e assunzioni da considerare a partire dalla stesura di un capitolato fino alla gestione del progetto di lavoro conseguente all’aggiudicazione di una data attività. In particolare a partire dai requisiti utente, di cui ne differenzia la tipologia (Schema ABC), presenta i diversi metodi per la misurazione delle dimensioni funzionali e non di un software e seguendo tutti gli elementi di un capitolato, ne descrive quali sono gli elementi misurabili e/o da considerare. Inoltre viene riportato (link a un excel di lavoro) un esempio per l’auto-valutazione delle prassi adottate nel proprio contratto. Il foglio di calcolo elenca i PA (Principi & Assunzioni) riportati nel documento. La valutazione delle PA alimenta il foglio che calcola la distribuzione dei valori assoluti e percentuali, generando una valutazione di alto livello con due parametri: Copertura dei Principi/Assunzioni e Qualità della Copertura. Nel foglio di calcolo viene anche riportato un istogramma (generato in automatico) che permette di individuare aree di forza e di possibile miglioramento in un contratto/progetto.
Titolo Software Non-functional Assessment Process (SNAP) - Assessment Practices Manual Release 2.3
Autore/Fonte IFPUG
Sintesi Questo documento costituisce un manuale del metodo SNAP, nella quale viene presentato il metodo, illustrati degli esempi e riportato l’appendice dei termini, come si rapporta il processo di conteggio degli SNAP rispetto ai Function Point con delle tabelle pratiche di regole e esempi utili a determinare la modalità di conteggio dei Function Point e SNAP.
Titolo The Next Frontier: Measuring and Evaluating the Non-Functional Productivity
Autore/Fonte Luigi Buglione
Sintesi Questo documento spiega le ragioni e immette dei suggerimenti per misurare la produttività non funzionale, partendo analizzando la produttività dei requisiti utente funzionali e non e con l’applicazione di SNAP e il confronto con i Function Point ne presenta la soluzione illustrando l’uso dei Function Point e SNAP insieme in un unico progetto.
Titolo

Simple Function Point Functional Size Measurement Method - Manuale di Riferimento

SiFP-01.00-RM-IT-01.01

Autore/Fonte SIFP
Sintesi Il documento descrive il metodo di misurazione della dimensione funzionale del software denominato SiFP (Simple Function Point), ne riporta i principi su cui si fonda, l’ambito di applicazione, il modello del software alla base della misurazione, la descrizione dei tipi di Base Functional Components (BFC), la procedura operativa di misura, la funzione di assegnazione e aggregazione dei valori elementari, il processo di misurazione più in generale, le modalità di documentazione standard della misura e la convertibilità del metodo.
Titolo E&QFP® - Early & Quick Function Points for IFPUG method - Reference Manual 1.1
Autore/Fonte DPO
Sintesi Questo documento costituisce un manuale del metodo E&QFP per la stima dei Function Point. Il manuale ne descrive il metodo e i principi su cui si basa E&QFP i diversi livelli di granularità della stima (o dettaglio), i diversi livelli di aggregazione delle componenti del metodo e le tabelle con riferimento valori corrispondenti a ciascun livello. Inoltre il documento descrive i possibili scenari di stima e ne illustra il workflow per la misurazione con pratici suggerimenti. Mostra anche alcune delle stime più appropriate per il controllo della misurazione basate su modelli del ciclo di vita del software. Illustra esempi di casi di studio e scenari di applicazione E & QFP a diversi livelli di stima.
Titolo Glossary of terms for Non-Functional Requirements and Project Requirements used in software project performance measurement, benchmarking and estimating - version 1.0
Autore/Fonte COSMIC/IFPUG
Sintesi È un documento che definisce e classifica la terminologia da utilizzare per i requisiti non funzionali e di progetto utilizzati nella misurazione, benchmarking e stima delle performance di un progetto software. La tassonomia adottata fa riferimento in particolare ai requisiti utente funzionali (FUR), ai requisiti non funzionali (NFR) e ai requisiti di progetto e vincoli (PRC).
Titolo Linee Guida CISQ - Metriche di qualità del software per SLA efficaci nei contratti ADM
Autore/Fonte CISQ
Sintesi Questo documento illustra come devono essere concepiti gli SLA rispetto ai contratti di “application development and maintenance” (ADM). Spiega inoltre come devono essere elaborate le metriche di riferimento e rispetto a queste caratteristiche viene fornito come esempio l’uso degli Automated Function Points (AFP) standardizzati dal CISQ. Infatti vengono di seguito definiti gli SLA per caratteristiche di Qualità (Security, Reliability, Performance Efficiency, Maintainability). Per ognuna di queste caratteristiche viene fornita una griglia delle violazioni delle buone pratiche di scrittura del codice a livello di componente e a quello di struttura per AFP.

Le risultanze più significative emerse da questa fase di ricognizione sono:

  1. Nel corso degli ultimi anni la tematica della misurazione del software è stata esaminata e approfondita da una pluralità di soggetti (aziende private, enti pubblici/governativi, ricercatori, consulenti, strutture del mondo accademico). Tali soggetti hanno operato in modo disomogeneo, anche partendo da concetti e definizioni distanti tra loro. Come conseguenza, oggi esistono numerose “scuole di pensiero” parzialmente in contrapposizione, che seguono ciascuna una propria evoluzione e che è difficile integrare. Si riscontra sovrabbondanza anche di proposte di soluzioni e metodologie, poche delle quali hanno raggiunto un grado di diffusione tale da poterne valutare oggettivamente l’efficacia. Anche solo un confronto tra le varie soluzioni disponibili è arduo, mancando persino un’unica tassonomia di riferimento.
  2. Anche con riferimento alle sole metriche, esiste una pluralità di definizioni e classificazioni spesso incoerenti tra loro, che va risolta prima di intraprendere qualunque analisi.
  3. La tematica è oggettivamente ampia e soggetta a evoluzione molto rapida. Essa comprende non solo questioni tecniche, ma anche economiche, giuridiche e di mercato.
  4. I soggetti che si occupano della tematica hanno ruoli distinti (sviluppatori di software, venditori, integratori, clienti, normatori, utenti finali). Essi sono, legittimamente, portatori di interessi diversi, a volte in contrasto tra loro, e ciò si riflette anche su come la tematica viene percepita e sulla posizione espressa dalle varie tipologie di soggetti.

Sulla base delle risultanze di cui sopra e delle esperienze maturate nel settore dai partecipanti, il Tavolo di lavoro ha individuato e condiviso le seguenti asserzioni:

  1. Occorre delimitare con attenzione il perimetro dello studio. Nello specifico, il Tavolo sceglie di occuparsi delle metriche di prodotto, escludendo quindi le metriche di processo e di servizio. Ciò non significa che queste ultime vengano reputate poco importanti: semplicemente, nell’economia dei lavori ci si concentrerà sulle metriche di prodotto, delegando l’approfondimento delle altre a successive iniziative.
  2. Allo stesso modo, si limita il perimetro dello studio al software applicativo realizzato ad hoc, benché alcune delle considerazioni espresse possano riguardare anche prodotti di mercato venduti a licenza d’uso.
  3. Tenuto conto dei precedenti due punti, le metriche su cui il Tavolo di lavoro concentra il suo esame devono consentire di quantificare le caratteristiche di un software e dunque il suo “valore” [7] come bene dell’amministrazione che lo ha commissionato e/o lo detiene.
  4. Sono d’interesse per il Tavolo metriche diffuse, se possibile conformi a standard [8] riconosciuti, comprensibili all’utente e non solo alle figure tecniche, adeguate al modo di operare della pubblica amministrazione e alla normativa in vigore, che non richiedano investimenti eccessivi per la loro applicazione.
  5. Sono d’interesse per il Tavolo metriche facilmente fruibili e semplici da utilizzare, come già rappresentato al §1.5. In altre parole, sono d’interesse metriche che si prestino a un uso flessibile, applicabile a contesti d’uso tra loro assai diversi e scalabile, cioè adattabile ad acquisizioni di piccola e grande rilevanza.
  6. Sono d’interesse metriche da utilizzare:
  • ex-ante (in fase di definizione dei requisiti del software che deve essere realizzato/mantenuto);
  • ex-post (per verifiche e collaudi del software rilasciato/mantenuto);
  • in fase di assessment di parchi applicativi già esistenti, sia per valorizzarli a scopo contabile (affinché risultino in stato patrimoniale come asset delle PA), sia per identificare aree di miglioramento e di intervento sul software, per successivi interventi di manutenzione evolutiva o migliorativa.
  1. Benché possano essere citate, a titolo informativo e come esempi utili a declinare concetti teorici, alcune soluzioni di mercato, non rientra nel perimetro di questo studio valutare o comparare tra loro prodotti proprietari.
  2. Il perimetro dello studio include modelli di valorizzazione economica del software, almeno per quanto riguarda gli aspetti metodologici. Tuttavia non rientra nel mandato di questo Tavolo fornire riferimenti di prezzo, tariffe o altre informazioni di mercato.

2.3 Analisi del modello strategico del Piano Triennale

Come terza attività, il Tavolo di lavoro ha effettuato una lettura accurata e una disamina del testo del Piano Triennale, estrapolando:

  • i passaggi che hanno attinenza coi progetti di sviluppo e manutenzione di applicazioni software;
  • le indicazioni che determinano o impongono l’uso di metriche del software;
  • le metriche più adatte, tra quelle a disposizione, a fungere da fattore abilitante per il raggiungimento degli obiettivi del Piano Triennale.

Tra le varie indicazioni del Piano, si è approfondito in particolare l’uso di metodologie innovative (es. Agile) per lo sviluppo di software. Su questo argomento il Tavolo ha effettuato una ricerca nella letteratura tecnica e tra le fonti disponibili in rete, con l’obiettivo di analizzare le connessioni (fattori positivi, criticità e opportunità) tra le metodologie innovative propugnate dal Piano Triennale e le metriche per il software.

I risultati dell’analisi svolta sono riportati al capitolo 5.

2.4 Analisi di capitolati e schemi contrattuali

Nell’ambito della documentazione raccolta dal Tavolo di lavoro, sono stati oggetto di specifica analisi schemi di contratto, capitolati e altra documentazione di gara riguardante attività di sviluppo e manutenzione di software applicativo.

Come primo obiettivo, si è cercato di capire in che modo viene attualmente regolato, nella documentazione contrattuale della P.A., l’uso di metriche del software. Successivamente, sulla scorta delle criticità riscontrate, sono stati formulati alcuni suggerimenti, di ordine generale, sulla scrittura di capitolati e articolati contrattuali.

2.4.1 Situazione attuale

Come anticipato al §1.3, l’uso di metriche del software nei contratti e nei capitolati delle P.A. è, nella stragrande maggioranza dei casi, limitato ai Punti Funzione. Le amministrazioni, in molti casi, sono consapevoli dei limiti di questa metrica, tuttavia è prevalente un approccio “conservativo”: le P.A. preferiscono attestarsi su clausole e articolati contrattuali consolidati, ben diffusi o in qualche modo “ufficializzati” anziché sperimentare contenuti innovativi, a volte percepiti come possibile fonte di contenziosi.

Esistono peraltro alcuni esempi d’innovazione in questo ambito. Essi verranno citati nei paragrafi che seguono.

2.4.1.1 Esempio 1: linee guida Lombardia Informatica

Tra il materiale pervenuto al Tavolo di lavoro, appare utile estrarre alcuni contenuti del documento “METODOLOGIE E LINEE GUIDA DI MISURA DEI FUNCTION POINT”, redatto da Lombardia Informatica, allegato alla gara 3/2014/LI per l’affidamento dei servizi di supporto al demand management, sviluppo, manutenzione, assistenza per la realizzazione dei modelli di e-government della Regione Lombardia.

Nel suddetto documento (citato a titolo di esempio, senza entrare nel merito delle scelte effettuate dai suoi redattori) vengono anzitutto definiti 4 “livelli di misurazione” delle funzionalità del software, vale a dire:

  • misura approssimata (stima);
  • misura grezza (stima);
  • misura dettagliata;
  • misura approfondita.

Ogni livello di misurazione tiene conto delle informazioni disponibili nelle varie fasi del progetto: al crescere delle informazioni disponibili aumenta di precisione e di complessità nel conteggio.

Il documento prescrive che le misure richieste all’accettazione di nuovi sviluppi e manutenzioni evolutive siano di livello “dettagliate”. Per obiettivi di controllo si usano invece misure di livello “approfondito”. Per entrambi i livelli si prevede il metodo di misurazione IFPUG 4.3.1.

In fasi iniziali possono essere richieste al fornitore misure (o meglio “stime”) di livello “approssimato” o “grezzo”. Il livello “grezzo” è considerato accettabile per la prima valorizzazione richiesta al fornitore. Per le stime si prevede l’impiego del metodo Early & Quick Function Point (E&QFP) [9]. Per il livello “grezzo” è anche possibile l’uso del metodo Simple Function Point, brevemente descritto al successivo §4.2.

Un concetto interessante presente in questo documento è la distinzione tra “misura funzionale” (in UFP) del software e “misura funzionale contrattuale” (MFC) dello stesso. Mentre la prima misura deriva dall’applicazione del metodo dei Punti Funzione IFPUG, la seconda misura tiene conto dei tre fattori seguenti:

  • riuso (sia generico che per incorporamento di servizi offerti da altre applicazioni), che diminuisce la MFC rispetto alla misura funzionale; il documento fissa le percentuali di abbattimento degli UFP da applicare nei vari scenari che possono verificarsi;
  • replica (ad esempio la necessità di duplicare la medesima funzionalità su più piattaforme), che aumenta la MFC rispetto alla misura funzionale; anche in questo caso il documento fissa la percentuale di innalzamento degli UFP da applicare nei vari scenari possibili;
  • change request (CR), vale a dire varianti di requisiti in corso d’opera, che aumentano la MFC.

Riguardo all’ultimo fattore (CR), il documento stabilisce le seguenti regole di conteggio, da applicarsi in caso di variazioni di requisiti in corso d’opera:

  • le funzionalità aggiunte (ADD) dovranno essere sia quelle individuate originariamente che quelle introdotte dalle CR;
  • le funzionalità modificate (CHG) dovranno essere sia quelle individuate originariamente che quelle introdotte successivamente dalle CR;
  • le funzionalità cancellate (DEL) dovranno essere sia quelle individuate originariamente che quelle introdotte successivamente dalle CR;
  • una funzionalità classificata come ADD o CHG che sia stata modificata due o più volte attraverso CR verrà moltiplicata per 1,4;
  • una funzionalità aggiunta con un cambiamento dei requisiti (ADD) che sia poi cancellata successivamente con un nuovo cambiamento dei requisiti sarà abbattuta del 50% e sarà identificata per escluderla dall’aggiornamento del patrimonio;
  • una funzionalità cancellata (DEL) che venga ripristinata con un cambiamento dei requisiti successivo non sarà conteggiata.

Per passare dalla misura funzionale in UFP alla MFC, il documento di Lombardia Informatica propone la formula:

MFC = Σ i(UFP x SAC riuso x SAC replica x SAC CR) i

Dove:

  • SAC: Size Adjustment Coefficient;
  • UFP: Unadjusted Function Point, rilasciati o da rilasciarsi, calcolati per ogni funzione secondo i dettami del metodo standard IFPUG;
  • SACriuso è il fattore di abbattimento che si intende riconoscere alla funzionalità che gode di riuso;
  • SACreplica è il fattore di incremento che si intende riconoscere alla funzionalità che deve essere resa disponibile su due o più canali di fruizione;
  • SACCR è il fattore di abbattimento o di incremento relativo alla funzionalità oggetto di CR.

Infine, nel documento vengono introdotti fattori correttivi al corrispettivo unitario contrattuale del Punto Funzione. Nell’ambito del medesimo contratto, è previsto che interventi progettuali distinti possano avere caratteristiche differenti, con impatto sulla produttività e dunque sul corrispettivo dell’intervento stesso. All’attivazione di ciascun intervento, cliente e fornitore verificano che le caratteristiche dell’intervento si discostino da quelle “nominali”. In tal caso, al corrispettivo unitario contrattuale vengono applicati i coefficienti correttivi riportati nella tabella che segue. L’approccio deriva palesemente dal metodo Cocomo 2.1, le celle in bianco contengono i valori che sono stati ritenuti applicabili al caso di Lombardia Informatica.

Tabella 5: coefficienti correttivi da Cocomo

image0

Il corrispettivo unitario da applicare nel singolo intervento si calcola moltiplicando il corrispettivo “nominale” per i coefficienti riportati in tabella.

Riassumendo, Lombardia Informatica usa misure e stime delle caratteristiche funzionali, passa alla misura “contrattuale” MFC per tener conto di riuso, repliche e change request. Infine applica fattori correttivi al corrispettivo unitario considerando l’impatto delle caratteristiche di qualità del software, tecniche e di progetto. Per quest’ultimo passo utilizza metriche “discrete” tratte dal metodo Cocomo.

2.4.1.2 Esempio 2: l’approccio Sogei per l’usabilità

Tra il materiale preso in esame, il Tavolo di lavoro ha analizzato il documento Sogei “Linee guida per l’accessibilità e l’usabilità di siti ed applicazioni web” (DA-00-WE-01 26 novembre 2013) [10], che ha l’obiettivo di fissare indicazioni e soglie minime accettabili che fornitori e sviluppatori sono tenuti a rispettare per rendere accessibili, ai sensi della normativa vigente, informazioni e servizi resi disponibili mediante siti, applicazioni web nonché prodotti a scaffale.

Nel documento sono richiamati i 12 requisiti di accessibilità stabiliti dalla normativa; per ciascuno di essi sono fornite indicazioni tecniche per la corretta applicazione e verifica/test degli stessi.

In appendice, il documento contiene i modelli che il fornitore deve consegnare compilati a Sogei, in sede di collaudo, per dichiarare la conformità alla normativa del sito/applicazione rilasciato.

Nel merito, si ritiene che l’approccio di Sogei sia utile come base di partenza. Un’evoluzione interessante potrebbe consistere nel derivare, dai modelli in appendice al documento, indicatori per quantificare il grado di conformità di un prodotto software ai requisiti di accessibilità (in prospettiva, metriche di accessibilità).

La disponibilità di tali metriche sarebbe utilissima:

  • per misurare il livello di accessibilità di parchi applicativi esistenti;
  • per fissare quantitativamente il livello di accessibilità desiderato (una volta superato il minimo da rispettare) per un software da sviluppare;
  • per definire in maniera oggettiva, in progetti per migliorare l’accessibilità di un software, il lavoro da effettuare (come differenza tra la misura iniziale e quella desiderata), e per stimare l’impegno e dunque i costi relativi.

2.4.1.3 Esempio 3: SIN-AGEA

Il terzo contributo preso in esame è il documento “Istruzioni operative: metodologia e linee guida per la misurazione del software” del 5 febbraio 2014, redatto dalla società SIN e utilizzato nell’ambito del contratto quadro con L’Agenzia per le Erogazioni in Agricoltura (AGEA), sia per i conteggi effettuati da SIN per AGEA, sia per i contratti con fornitori esterni per i quali SIN effettua funzioni amministrative e di governo, come da atto esecutivo A08-01 del contratto di servizio quadro AGEA-SIN del 17 novembre 2008.

In generale il documento appare rifarsi alle regole di conteggio IFPUG versione 4.3.1. Prevede anche, per le stime, l’uso del metodo Early & Quick Function Point 3.1. Fornisce poi suggerimenti operativi su come effettuare il conteggio nelle casistiche:

  • presenza di middleware;
  • applicazioni datawarehouse;
  • applicazioni web based;
  • applicazioni GIS;
  • architetture a componenti.

In tutti questi casi non si discosta significativamente dai contenuti del documento di Lombardia Informatica di cui al §2.4.1.1)

Appare invece seguire un diverso approccio nell’introduzione della c.d. “Misura Funzionale Adeguata” (MFA).

A differenza del caso di Lombardia Informatica (che definiva una misura funzionale contrattuale e un insieme di corrispettivi unitari per la remunerazione del fornitore), in questo caso il corrispettivo unitario del PF è fissato contrattualmente al medesimo valore per tutte le tipologie di applicazione (cioè è indipendente dalle caratteristiche non funzionali). Pertanto, per tenere conto di queste ultime, la modifica avviene sulla misura, passando da UFP a MFA con la formula:

MFA = UFP * FattAd

Il fattore di adeguamento (FattAd) tiene conto:

  • del riuso e della replicazione di funzionalità;
  • delle modifiche in corso d’opera (CR);
  • di requisiti tecnici e di qualità del software.

L’ultimo gruppo include, secondo il documento, i seguenti elementi (tratti dal metodo Cocomo):

  • Affidabilità (RELY);
  • Complessità (CPLX);
  • Riusabilità (RUSE);
  • Prestazioni (TIME);
  • Utilizzo di Tool.

Il documento specifica che l’uso o meno del fattore di adeguamento deve essere stabilito in fase di attivazione del singolo intervento, insieme alla categoria di funzioni su cui va usato e ai relativi valori.

Il riuso, la replicazione di funzionalità e le CR sono trattate in modo sostanzialmente analogo al caso di Lombardia Informatica, cui si rimanda. Anche per i requisiti tecnici e di qualità, nel documento si fa uso dei coefficienti del metodo Cocomo: è presente una lista di valori analoga a quella di Tabella 3, con in più una riga relativa al requisito TIME (vincoli sui tempi di esecuzione). Si segnala che per il requisito TOOL (Utilizzo di tool, applicato soprattutto nelle applicazioni di datawarehouse) il documento non prevede l’utilizzo dei coefficienti Cocomo, bensì fissa i seguenti valori:

  • 0,6 per tutte le funzioni e i file logici già conteggiati (tipo operazione = CHG);
  • 0,8 per EO ed EQ di nuova realizzazione (tipo operazione = ADD).

La MFA del singolo elemento di conteggio è calcolata moltiplicando il numero di UFP del singolo elemento per il fattore di adeguamento. La MFA totale è calcolata sommando le MFA dei singoli elementi (il documento fornisce anche alcuni esempi pratici di conteggio e adeguamento). Infine, la MFA così ottenuta viene moltiplicata per il corrispettivo unitario previsto contrattualmente, per calcolare l’importo da corrispondere al fornitore.

In conclusione, il percorso metodologico previsto in questo esempio è simile a quello di Lombardia Informatica, ma include una “forzatura concettuale” perché deve comunque adeguarsi a un articolato contrattuale rigido che prevede un unico valore per il corrispettivo unitario del PF.

2.4.2 Suggerimenti e proposte

Sulla scorta di quanto sopra, si può anticipare qualche indicazione di ordine generale per la redazione di capitolati e schemi contrattuali. Per indicazioni di dettaglio relativi alle singole tipologie progettuali in cui si declinano le attività di sviluppo e manutenzione applicativa, si rimanda al capitolo 6.

Nella scrittura dei requisiti del software da realizzare (o del servizio di manutenzione da erogare) le amministrazioni devono impiegare, ove possibile, definizioni di tipo quantitativo, identificando gli elementi misurabili, fissando soglie oggettive e valori univoci. Per chiarire con un esempio, un requisito dalla definizione vaga e qualitativa del tipo “L’applicazione dovrà essere scalabile” (dizione effettivamente rilevata in più di un capitolato pubblico) non è accettabile: una formulazione quantitativa della stessa esigenza potrebbe essere, ad esempio, “L’applicazione dovrà tollerare un aumento del 100% del numero di utenti connessi con un degrado prestazionale inferiore al 10% misurato sui tempi di risposta”.

La medesima cura va applicata alla scrittura degli SLA, indicando ove possibile le metriche per la loro misurazione e controllo. In alcuni contesti, l’amministrazione potrà chiedere allo stesso partecipante alla gara di proporre metriche e metodologie per la misurazione degli SLA: tali elementi potranno concorrere ad attribuire il punteggio tecnico dell’offerta in esame.

I contratti di sviluppo e manutenzione applicativa dovrebbero passare dal modello di retribuzione basato sulla dimensione funzionale del software prodotto (o in manutenzione), a modelli più articolati che introducano meccanismi di premialità legati alla qualità del prodotto rilasciato, ad esempio quote sospese degli importi, da pagare solo al raggiungimento di soglie definite di indicatori di qualità. Si rimanda al capitolo 6 per applicazioni pratiche di questa raccomandazione.

In generale, gli attuali schemi contrattuali sembrano troppo rigidi. Si sono rilevati casi di contratti di sviluppo applicativo in cui l’unica metrica prevista (i Punti Funzione) era palesemente inadatta a quantificare attività facenti parte della fornitura (es. realizzazione di documentazione utente e tutorial, installazione su sedi periferiche, parametrizzazione di prodotti di mercato) con la conseguenza che – nel corso delle attività – l’amministrazione si è trovata nella necessità di trattare i PF come unità monetaria e di effettuare “conversioni” quantomeno arbitrarie per riuscire ad applicare comunque le clausole contrattuali.

Una maggiore flessibilità dei contratti eviterebbe applicazioni incorrette o negoziazioni successive tra amministrazione e fornitore per consentire la gestione del progetto nell’ambito di una “gabbia” contrattuale troppo stretta.

[4]Sostituito dalla dott.ssa Laura Tomassini come da comunicazione del Ministero della Giustizia del 1 febbraio 2018.
[5]Sostituito a partire dal 12 giugno 2017 dal dott. Giampiero Mutinati, dietro richiesta della medesima società SQS.
[6]Roberto Meli rappresenta anche il punto di vista dell’associazione Assintel e dell’associazione SiFPA.
[7]Nella presente guida tecnica, con “valore” di un software deve intendersi il valore di mercato del software stesso, non il suo valore in assoluto (che è un concetto diverso, legato ad altri parametri, ad esempio l’importanza che il software riveste per i propri utenti).
[8]Tra i vari standard disponibili, si è scelto di porre particolare attenzione agli standard ISO, sia per la loro oggettiva rilevanza e diffusione non solo in ambito ICT, sia in omogeneità con le precedenti linee guida AgID (si ricorda che il presente lavoro si declina come aggiornamento delle linee guida pregresse).
[9]http://www.dpo.it/eqfp/
[10]Il documento è stato acquisito da AgID nell’ambito dell’istruttoria di un parere, reso ai sensi dell’art. 14bis del CAD, su una gara bandita da Consip per conto della RGS.
torna all'inizio dei contenuti