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:
- ricognizione a livello internazionale di esperienze e casi di studio sulle metriche del software;
- ricognizione di metriche non funzionali, confronto di strumenti, metodologie, proposte a disposizione;
- analisi del modello strategico del Piano Triennale, con lo studio delle possibili applicazioni a tale modello delle metriche non funzionali;
- studio dell’impatto delle metriche non funzionali su capitolati e schemi contrattuali delle pubbliche amministrazioni;
- 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:
|
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:
- 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.
- 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.
- La tematica è oggettivamente ampia e soggetta a evoluzione molto rapida. Essa comprende non solo questioni tecniche, ma anche economiche, giuridiche e di mercato.
- 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:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
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. |