Docs Italia beta

1 Premessa

1.1 Finalità e struttura del documento

Il presente documento costituisce un aggiornamento delle linee guida sul tema dello sviluppo di software applicativo, pubblicate dall’allora CNIPA nell’ambito della collana sulla qualità dei beni e servizi ICT per le acquisizioni della pubblica amministrazione. Il documento si classifica come “Guida tecnica” per differenziarlo dalle linee guida contenenti le regole tecniche e di indirizzo per l’attuazione del Codice dell’Amministrazione Digitale ai sensi dell’art. 71 del Codice stesso.

L’esigenza di aggiornare le precedenti linee guida nasce:

  • dal tempo trascorso dall’ultima revisione del documento, notevole soprattutto se rapportato alla rapidità con cui notoriamente evolve il settore dell’ICT e gli standard disponibili;
  • dalle criticità riscontrate in molti contratti per sviluppo applicativo, a volte derivanti anche da interpretazioni non corrette di indicazioni e passaggi delle precedenti linee guida;
  • dall’attenzione, connessa anche alle contingenze economiche, al contenimento della spesa delle P.A. e al rapporto costi/benefici nelle acquisizioni e nei progetti delle amministrazioni;
  • dalle novità introdotte, anche sotto l’aspetto strategico, dal Piano Triennale per l’Informatica nella Pubblica Amministrazione, pubblicato nel corso del 2017 (https://pianotriennale-ict.italia.it/).

I lettori cui questo documento è indirizzato sono in primo luogo le pubbliche amministrazioni che si trovano a sviluppare o mantenere un parco applicativo da utilizzare nell’ambito dei propri compiti istituzionali. I contenuti del documento sono però d’interesse anche per gli operatori del mercato ICT (aziende, sviluppatori, integratori, consulenti, …).

I contenuti del presente documento rappresentano indicazioni e suggerimenti d’ausilio a un percorso decisionale che resta sotto la piena responsabilità delle amministrazioni. Peraltro, la singola P.A. è il soggetto che meglio conosce le proprie esigenze ed è, quindi, in grado di declinare le indicazioni proposte nella presente guida tecnica in coerenza con il proprio contesto e con le caratteristiche delle iniziativi progettuali che sta conducendo.

Il presente documento è articolato nei seguenti capitoli:

  • Premessa, che descrive il contesto di riferimento, la problematica affrontata e le finalità del documento;
  • Il tavolo di lavoro, comprendente un resoconto delle attività svolte nei mesi che intercorrono dalla costituzione del tavolo fino alla pubblicazione della guida tecnica;
  • Definizioni, ove si illustrano i concetti della tematica e si fornisce una terminologia unica di riferimento;
  • Metriche e strumenti, che descrive le soluzioni e le metodologie disponibili per misurare le caratteristiche funzionali e non funzionali del software;
  • Coerenza con il Piano Triennale, in cui si approfondiscono i punti di contatto tra le metriche del software e le indicazioni strategiche del Piano Triennale;
  • Applicazioni operative ed esempi, in cui si analizzano scenari tipici, tratti dalla usuale operatività delle pubbliche amministrazioni, e si ipotizzano impieghi pratici delle metriche, metodologie e strumenti illustrati nella guida tecnica.

1.2 Glossario

Termine Definizione
ADD Intervento su un prodotto o componente software che consiste nell’aggiunta di funzionalità e che quindi fa incrementare il numero dei punti funzione del prodotto o pacchetto.
AFP

Automated Function Point. Metodo di misura automatica, a partire dall’analisi statica del codice sorgente, del contenuto funzionale di un’applicazione.

Nel 2016 questo metodo di misura è stato sottoposto da OMG al processo di approvazione dell’ISO. Attualmente è in short track per l’approvazione da parte dell’ISO (SO JTC1 SC7 WG6) col numero ISO 19515.

Agile Il termine si riferisce a una metodologia di sviluppo del software in base alla quale i requisiti e le soluzioni, sviluppate per cicli iterativi, evolvono attraverso lo sforzo collaborativo di gruppi di lavoro inter-funzionali auto-organizzanti e dei loro clienti / utenti finali. La metodologia Agile facilita la pianificazione adattiva, lo sviluppo evolutivo, la consegna anticipata, il miglioramento continuo e incoraggia una risposta rapida e flessibile alle richieste di cambiamenti.
Assessment Valutazione e/o accertamento di un bene patrimoniale (asset). In campo informatico, per assessment si intende l’attività di ricognizione dei sistemi hw/sw di un’organizzazione.
BFC Base Functional Component. Elementi di base alla misurazione funzionale. Nella Function Point Analisys di IFPUG si classificano in External Input (vedi EI), External Output (vedi EO), External Enquiry (vedi EQ), External Interface File (vedi EIF), Internal Logical File (vedi ILF).
CAPEX Capital Expense o Expenditure. Nella contabilità, rappresenta il costo per sviluppare o acquisire asset durevoli, ad esempio, la spesa necessaria all’acquisto di un prodotto software o alla sua realizzazione (sviluppo di software ad hoc).
Change Management Gestione delle modifiche. È il sottoinsieme del project management che si occupa dell’utilizzo di metodi e procedure standardizzate per una efficiente e rapida gestione di tutti i cambiamenti, con lo scopo di minimizzare l’impatto di possibili imprevisti sui progetti.
CHG Change, intervento su un prodotto o componente software che consiste nel modificare funzionalità già in esso presenti. In questo caso il numero di punti funzione complessivo del software oggetto dell’intervento può restare invariato, diminuire o aumentare.
CISQ Consortium for IT Software Quality. È un organismo fondato dall’Object Management Group (vedi OMG) e dal Software Engineering Institute (vedi SEI) della Università Carnegie Mellon che si è occupato, a partire dal 2009, dello sviluppo di metodi di misurazione automatica del software.
Cocomo Il Constructive Cost Model (CoCoMo) è un metodo utilizzato per elaborare stime nei progetti di sviluppo software. È descritto nel libro Software Engineering Economics di Barry Boehm del 1981. Il metodo considera vari parametri storici, derivati dall’analisi di un certo numero di progetti e pesati mediante una griglia di valutazione. Il calcolo dell’impegno viene effettuato con una formula specifica che produce il numero di mesi-persona necessari allo svolgimento del progetto. Esistono tre diversi modelli di cocomo che si differenziano per la raffinatezza e la precisione con cui vengono stimati i diversi valori: Basic, Intermediate e Advanced, chiamato anche Detailed.
COSMIC

COmmon Software Measurement International Consortium. È un’organizzazione che nasce da un’iniziativa volontaria di un gruppo internazionale di esperti nella misurazione del software. È anche un metodo di misura della dimensione funzionale del software al pari della FPA di IFPUG.

Prevede i seguenti quattro elementi di conteggio funzionale: Entry, eXit, Read, Write.

Maggiori dettagli sono disponibili sul sito COSMIC (https://cosmic-sizing.org/).

CR

Change Request. Richiesta di modifica da apportare a un prodotto o componente software che viene formalizzata per mezzo di una scheda nella quale si descrive in modo non ambiguo la modifica stessa.

La gestione delle change request (vedi Change Management) viene in genere svolta da un’apposita commissione denominata “change management board” o “change control board” che decide se ciascuna change request deve o meno essere realizzata.

DEL Intervento su un prodotto o componente software che consiste nell’eliminazione di funzionalità già in esso presenti e che quindi comporta una diminuzione del numero di punti funzione del prodotto o componente software.
EI Nel metodo di conteggio IFPUG è un processo elementare di input.
EIF Nel metodo di conteggio IFPUG è un gruppo logico di dati usato in sola lettura, esterno al confine applicativo.
EO Nel metodo di conteggio IFPUG è un processo elementare di output.
EQ Nel metodo di conteggio IFPUG è un processo elementare di interrogazione.
FPA Function Point Analysis, metodo di conteggio dei Punti Funzione secondo IFPUG.
FUR Functional User Requirement, requisito funzionale d’utente.
GUFPI-ISMA Gruppo Utenti Function Point Italia - Italian Software Metrics Association. Il GUFPI-ISMA è l’associazione italiana per la promozione, la diffusione e lo sviluppo delle tecniche quantitative di misurazione del software, inclusi i metodi di misurazione della dimensione funzionale IFPUG e COSMIC (http://www.gufpi-isma.org)
IFPUG

International Function Point Users Group. Organizzazione senza scopo di lucro che si occupa dello sviluppo di due tipi di metodologie standard per il dimensionamento del prodotto software.

Una di esse è definita nel manuale per il calcolo dei Punti Funzione (vedi PF). L’altra - ancora in evoluzione - è il “Software Non-functional Assessment Process” (vedi SNAP).

IFPUG si occupa anche del governo del processo di certificazione dei CFPS/CFPP (Certified Function Point Specialist/Certified Function Point Practitioner) e SNAP, e ospita la International Software Measurement and Analysis Conference (vedi ISMA).

Maggiori dettagli sono disponibili sul sito IFPUG (http://www.ifpug.org/).

ILF Nel metodo di conteggio IFPUG è un gruppo logico di dati usato in lettura/scrittura interno al confine applicativo.
ISBSG International Software Benchmarking Standards Group. Organizzazione fondata nel 1997 da un gruppo di associazioni nazionali di metriche del software, con lo scopo di promuovere l’uso dei dati del settore IT per migliorare i processi e i prodotti software. Gestisce dati di sviluppo / manutenzione del software IT. Questi dati, che provengono da organizzazioni IT internazionali considerate affidabili, possono essere utilizzati come riferimento per progetti IT (http://www.isbsg.org).
ISO International Organization for Standardization. È la più importante organizzazione a livello mondiale per la definizione di norme tecniche. Maggiori dettagli sono disponibili sul sito ISO: www.iso.org.
KPI Key Performance Indicator, indicatore di riferimento della prestazione. Vedi SLA.
Legacy Riferito a un sistema informatico, un’applicazione software, un componente hardware che è un lascito del passato e pertanto risulta obsoleto, ma che continua a essere usato poiché non si intende o non si può rimpiazzarlo.
MARK-II Il metodo di misura funzionale MARK-II (o più semplicemente MK II) è stato definito da Charles Symons nel 1991 e viene aggiornato dalla UK Software Metrics Association (http://www.uksma.org/). In questo metodo i FUR sono identificati, suddivisi in tre classi distinte (“input”, “exit” e “object”) e contati. I tre valori ottenuti sono “pesati” (moltiplicati per opportuni fattori moltiplicativi o “pesi”). La dimensione funzionale complessiva è ottenuta sommando i tre valori pesati.
MEPA Mercato elettronico della pubblica amministrazione.
MEV Manutenzione evolutiva del software. Comprende gli interventi volti a modificare, aggiungere o eliminare funzionalità di applicazioni esistenti.
Misurazione

Assegnazione di un numero o categoria a un attributo di un’entità per descriverla, usando una specifica unità di misura e regole di conteggio. Il valore assegnato all’attributo è la misura, definibile anche come risultato della misurazione.

Nell’ambito del presente studio viene impiegato, in alternativa, anche il termine “metrica”. Metrica e misura, del resto, sono intesi come sinonimi in molta letteratura tecnica. Per maggiore precisione, si segnala che la ISO 15939 propende per un uso generalizzato del termine “misura” nel senso di misura diretta o base, mentre associa “metrica” a una misura derivata (definita come funzione di due o più misure base).

Esempio: misurare in un certo istante la pressione sanguigna di un paziente produce una misura base; ripetere la misurazione ogni ora nel corso della giornata e calcolare la media produce una misura derivata o metrica (pressione media giornaliera).

NFR Non Functional Requirement, requisito non funzionale di un prodotto o componente software. Gli NFR sono distinti dai requisiti funzionali - oggetto dell’analisi dei punti funzione - e dai requisiti di progetto. I requisiti non funzionali possono essere suddivisi in requisiti di qualità, requisiti di sistema/ambiente e requisiti tecnici.
OMG Object Management Group. L’OMG è un consorzio internazionale no-profit fondato nel 1989 che si occupa di standard aperti. Gli standard di modellazione di OMG, tra cui Unified Modeling Language (UML) e Model Driven Architecture (MDA), sono orientati alla progettazione, la manutenzione di software e altri processi.
OPEX Operating Expense o Expenditure. In contabilità, rappresenta il flusso di cassa in uscita per la realizzazione di interventi di natura ricorrente, ad esempio la spesa necessaria per la gestione di un prodotto o sistema.
P.A. Pubblica Amministrazione.
Parco applicativo L’insieme dei prodotti software di cui dispone una Pubblica Amministrazione a seguito di acquisizione di prodotti di mercato e/o a seguito di realizzazione di soluzioni software ad hoc. Nella presente guida tecnica è sinonimo di portafoglio applicativo.
PF

Punto Funzione (in inglese Function Point). Metrica del software definita per la prima volta nel 1975 da Allan Albrecht presso IBM per dimensionare i requisiti funzionali d’utente (vedi FUR) di un prodotto software durante la sua progettazione. Lo scopo era ottenere una stima più oggettiva dell’impegno richiesto.

Successivamente l’evoluzione del metodo è stata presa in carico da IFPUG (vedi).

Negli anni sono state sviluppate varianti del metodo originario (es. MARK-II, COSMIC).

Portafoglio (applicativo) Vedi parco applicativo.
PT Piano Triennale.
Quality Gate

Elemento di controllo previsto in alcune metodologie di project management. Si tratta di una “special milestone” (traguardo intermedio di progetto), che viene normalmente fissata all’avvio di una fase Fn che dipende fortemente dal risultato della fase precedente Fn-1.

Consiste essenzialmente in un controllo di qualità dei risultati della fase Fn-1. Nei casi in cui detto controllo non venga superato, il progetto può essere annullato o sospeso.

RdO Richiesta d’Offerta.
SCU

SNAP Counting Unit, Unità di conteggio SNAP. È l’oggetto elementare di cui vengono valutate complessità e dimensione.

La SCU può essere un componente, un processo o un’attività identificata nell’ambito di una o più sotto-categorie SNAP. In alcuni casi, la SCU si identifica col processo elementare (in termini IFPUG).

Una SCU può comprendere sia caratteristiche funzionali che non funzionali: in questi casi, il dimensionamento del processo elementare viene eseguito utilizzando la FPA per la parte funzionale, il metodo SNAP per la parte non funzionale.

SEI Software Engineering Institute. Il SEI è un centro di ricerca e sviluppo con sede nel campus della Carnegie Mellon University di Pittsburgh.
SiFP

Simple Function Point è un metodo di misura funzionale del software, pensato per velocizzare i conteggi rispetto ad altri metodi quali FPA di IFPUG e COSMIC.

Rispetto a FPA, il metodo prevede il conteggio di due sole tipologie di BFC (vedi): UGEP (Unspecified Generic Elementary Process) e UGDG (Unspecified Generic Data Group).

SiFPA Simple Function Point Association è un’associazione senza scopo di lucro che si prefigge di promuovere e diffondere a livello mondiale il metodo dei Simple Function Point (vedi).
SLA Service Level Agreement, accordo sul livello del servizio. Strumento contrattuale che, facendo uso di opportuni indicatori (vedi KPI), consente di specificare in modo quantitativo e non ambiguo le caratteristiche del servizio che il cliente richiede al fornitore. Ciascuno SLA è in genere associato a una penale, applicata in caso di non rispetto dello SLA stesso.
SNAP Software Non-functional Assessment Process. Metodo di misura complementare alla FPA, sviluppato da IFPUG per misurare i requisiti non funzionali (vedi NFR) di un prodotto o componente software.
SNAP Point (SP) Unità di misura del metodo SNAP. Il contenuto non funzionale di un’applicazione software conteggiato tramite SNAP si esprime in SNAP Point.
SQuaRE

Systems and software Quality Requirements and Evaluation è uno standard di qualità del software definito nel documento di specifica ISO/IEC 25010:2011, la cui ultima revisione risale al 2017.

SQuaRE prevede due modelli:

  • un modello per la qualità in uso, composto da cinque caratteristiche (alcune delle quali ulteriormente suddivise in sottocaratteristiche) che si riferiscono al risultato dell’interazione uomo-computer, quando un software viene utilizzato in un particolare contesto;
  • un modello di qualità del prodotto software/Sistema informatico, composto da otto caratteristiche (che sono ulteriormente suddivise in sottocaratteristiche) che si riferiscono a proprietà statiche del software e proprietà dinamiche del sistema informatico.
UFP

Unadjusted Function Point. Fino alla versione 4.2, il metodo FPA distingueva tra UFP e AFP (Adjusted Function Point). Quest’ultimo valore era ottenuto moltiplicando il numero di UFP per il cosiddetto “value adjustment factor” (VAF), fattore che teneva conto di 14 caratteristiche generali di sistema (GSC), essenzialmente caratteristiche non funzionali che, per definizione, non venivano prese in considerazione dal semplice conteggio degli UFP.

Il VAF non è più utilizzato a partire dalla release 4.3 di FPA (gennaio 2010).

1.3 Il contesto di riferimento

Nella generalità dei casi, le pubbliche amministrazioni italiane acquisiscono da fornitori esterni, stipulando appositi contratti, i servizi di:

  • sviluppo applicativo;
  • manutenzione (correttiva, migliorativa, adeguativa, evolutiva) di applicazioni informatiche.

Di norma il personale interno dell’amministrazione è coinvolto in alcune delle attività connesse ai servizi di cui sopra, ad esempio nella raccolta dei requisiti nei progetti di sviluppo applicativo; più raramente, personale interno collabora alla fase di analisi e progettazione delle applicazioni. Si riscontrano anche situazioni in cui al fornitore esterno sono affidate tutte le attività progettuali, compresa la raccolta dei requisiti.

Per il suo ruolo, AgID ha visibilità dei contratti della pubblica amministrazione centrale e, in casi rilevanti o legati a progettualità specifiche, anche di enti locali. Esaminando l’insieme di questi contratti si possono rilevare le seguenti caratteristiche:

  • la maggioranza dei servizi di sviluppo e manutenzione viene acquisita dalle amministrazioni nell’ambito di contratti pluriennali di grandi dimensioni (anche in termini economici) in cui vengono fissati corrispettivi unitari, modalità di remunerazione, SLA e penali; tali atti costituiscono una “cornice” entro la quale si svolgono più progetti di realizzazione o evoluzione di applicativi software;
  • la remunerazione dello sviluppo copre in genere anche un anno di manutenzione correttiva (garanzia) delle applicazioni rilasciate;
  • nella maggioranza dei contratti il fornitore viene remunerato a misura, sulla base della dimensione del software rilasciato; quest’ultima grandezza viene misurata in Punti Funzione (nel seguito “PF”);
  • si riscontrano anche numerosi contratti in cui il fornitore viene remunerato a tempo e spesa, sulla base delle giornate persona erogate e rendicontate;
  • sono rari i contratti in cui è previsto un pagamento a corpo (si riscontrano solo in caso di iniziative circoscritte e ben definite già in fase di negoziazione con il fornitore);
  • gran parte dei contratti vengono stipulati a seguito di procedure competitive, secondo quanto previsto dalla normativa in vigore;
  • si riscontra un ricorso crescente agli strumenti messi a disposizione da Consip (Accordi Quadro, MePA, ecc.) anche a causa delle forti indicazioni date in questo senso dalla L. 28 dicembre 2015, n. 208.

1.3.1 Strumenti Consip a disposizione

Per acquisire servizi di sviluppo e manutenzione applicativa le amministrazioni possono ricorrere ai seguenti strumenti Consip [1];

  • contratti SPC Cloud lotto 3 e lotto 4 (attivati tra l’aprile e l’agosto 2017);
  • contratti-quadro per l’affidamento di servizi in ambito Sistemi Gestionali Integrati (5 lotti, aggiudicati nell’agosto 2017);
  • accordo quadro per l’affidamento di servizi applicativi. Dei tre lotti geografici previsti, il lotto 1 “Centro” risulta esaurito; il lotto 2 “Nord” è stato prorogato fino al 6 dicembre 2018 (al novembre 2017 il quantitativo consumato era pari al 25%); il lotto 3 “Sud e Isole” è sub iudice (una prima sentenza della Corte di Giustizia Europea è stata emessa il 22 dicembre 2017; la nuova udienza di merito è stata fissata per il 7 marzo 2018; la sentenza definitiva è prevista per aprile 2018).

Risulta, al momento, in fase di esame delle offerte la gara per il nuovo accordo quadro per servizi applicativi (AQ Servizi Applicativi 2), che prevede 7 lotti. In questa nuova gara si prevede, come regola di base, la remunerazione sulla base dei Punti Funzione (nel cui prezzo offerto i concorrenti debbono considerare le caratteristiche di qualità sulla base del modello ISO 25010) oppure dei Giorni Persona.

Sono peraltro previsti, in questa nuova iniziativa, alcuni elementi di flessibilità. Si riporta ad esempio un passaggio dal capitolo 6 dell’allegato 5 al capitolato tecnico:

Le Amministrazioni che dispongono di metodologie standardizzate e linee guida consolidate per una più precisa e controllata determinazione dell’effort possono modificare le regole cautelative sopra esposte. (…) A livello di Accordo Quadro vengono, pertanto, identificate le sole metriche di base e i fattori che ne determinano la misura, lasciando all’Amministrazione la facoltà di declinare in AS [2] tali fattori”.

Infine, si segnala che le amministrazioni pubbliche possono reperire sul MEPA, con il bando “Servizi Professionali”, competenze per supportarle nei progetti di sviluppo e manutenzione di software applicativo.

1.4 Le problematiche

Le criticità che più frequentemente si riscontrano, o che comunque l’Agenzia ha rilevato negli ultimi anni, nella gestione dei contratti pubblici per sviluppo e manutenzione di applicazioni informatiche sono:

  1. Carenza di competenze tecniche interne alle amministrazioni. Le P.A. soffrono di una cronica mancanza di personale informatico interno. Questa carenza, legata anche al mancato turn-over del personale e alla difficoltà di acquisire nuove risorse umane, mette a volte l’amministrazione in condizione di debolezza nei confronti delle controparti contrattuali, favorisce condizioni di lock-in e di perdita di controllo non solo delle attività progettuali ma anche del patrimonio di dati e applicazioni dell’amministrazione stessa.
  2. Carenza di competenze nella gestione di gare e contratti. Per gli stessi motivi di cui al punto precedente, alcune amministrazioni difettano di figure professionali in grado di scrivere capitolati e documentazione di gara adeguati, di verificare il rispetto dei livelli di servizio e di applicare efficacemente le clausole contrattuali. Con riferimento ai già citati Punti Funzione, alcune amministrazioni hanno difficoltà ad applicare correttamente questa metrica (che in effetti richiede competenze specifiche e un adeguato percorso formativo): si riscontrano contratti nel cui articolato si fa un uso erroneo della metrica dei Punti Funzione, tale da annullarne i vantaggi. In occasione di recenti convegni sullo stato dell’informatica pubblica, alcuni relatori hanno proposto, per superare queste criticità, il drastico abbandono della metrica dei Punti Funzione. Benché questa provocazione possa stimolare il dibattito, è chiaro che si tratta di una falsa soluzione, giacché il problema è di competenze e non di unità di misura. Per chiarire il punto con una metafora di senso comune, sarebbe come se per risolvere una situazione di sovrappeso si abolissero le bilance.
  3. Mancanza di strumenti e meccanismi contrattuali per garantire la qualità di quanto ricevuto dal fornitore. Benché, in via teorica, tutte le amministrazioni desiderino ottenere alti livelli di qualità nelle forniture, in pratica le amministrazioni non richiedono formalmente, con rare eccezioni, strumenti efficaci per raggiungere tale obiettivo, o non li utilizzano. Anche la semplice misurazione della qualità dei prodotti/servizi acquisiti non è sempre attuata, in quanto l’amministrazione non dispone di strumenti propri di verifica e di sufficiente know-how (a volte la misurazione è demandata al solo fornitore).

Con riferimento alle forniture di sviluppo software, l’unica metrica di prodotto al momento sufficientemente diffusa (i Punti Funzione) misura solo le funzionalità di un’applicazione; le dimensioni non funzionali (usabilità, prestazioni, manutenibilità, sicurezza, ecc.) sono fuori dal perimetro di applicazione dei PF. Ciò comporta che interventi su applicazioni finalizzati, ad esempio, ad aumentare l’usabilità, non vengono a oggi remunerati sulla base del risultato, perché non ci sono metriche di prodotto condivise adatte a misurare l’intervento. Tali attività vengono invece remunerate a corpo o a giorni persona.

  1. Eccessiva enfasi al prezzo. Negli ultimi anni si sono riscontrati, in gare per sviluppo applicativo, ribassi rilevanti rispetto alla base d’asta, a dispetto delle modalità di aggiudicazione (criterio dell’offerta economicamente più vantaggiosa) e del maggior peso assegnato alla qualità dell’offerta [3].

Ciò è senz’altro dipeso dalle condizioni competitive del mercato ICT. Tuttavia si possono avanzare altre spiegazioni. Ad esempio si riscontrano gare in cui il punteggio tecnico non viene assegnato in base a criteri oggettivi ma prendendo atto di dichiarazioni del fornitore. In questi casi tutte le offerte tecniche tendono a ottenere il massimo del punteggio (in quanto i concorrenti dichiarano massima qualità), con la conseguenza che torna a essere determinante, per vincere la gara, il ribasso rispetto alla base d’asta.

I contratti che vengono stipulati a seguito di queste gare presentano corrispettivi unitari nettamente inferiori alle medie di mercato. Durante l’erogazione della fornitura, però, spesso emergono discrepanze tra offerta e servizio reso. Tale situazione diviene critica se l’amministrazione cliente non ha competenze e strumenti per la gestione dei contratti tali da interloquire con efficacia coi fornitori, di precisare i requisiti e di verificarne il rispetto, di monitorare gli SLA minimi definiti a livello contrattuale o migliorativi proposti in sede di offerta.

Ultimamente le amministrazioni hanno cominciato a percepire questa criticità e sono alla ricerca di contromisure. Alcune P.A. puntano ad alzare le basi d’asta, ritenendo che corrispettivi unitari più alti motivino il fornitore “a rispettare il contratto sottoscritto”. Si tratta, com’è evidente, di una falsa soluzione, del tutto insufficiente se ad essa non vengono affiancati gli strumenti per misurare/verificare la qualità di cui al punto c).

  1. Mancata capitalizzazione del patrimonio applicativo delle amministrazioni. Molte P.A. detengono un parco applicativo di dimensioni rilevanti, magari frutto di una serie di progetti susseguitisi nel tempo e di ripetuti investimenti anche ingenti, ma non sanno come quantificare e valorizzare dal punto di vista finanziario questo loro asset. Ciò deriva in parte dalla perdita di controllo già citata al punto a), ma anche dal mancato utilizzo di metriche riconosciute in grado ad esempio di misurare la sicurezza (o la portabilità, o la riusabilità) di un parco applicativo.
  2. Difficoltà a distinguere tra investimenti e spese ricorrenti. Nella quasi totalità delle pubbliche amministrazioni, i costi per la manutenzione (correttiva, adeguativa, migliorativa) di un parco applicativo vengono considerati spese ricorrenti (OPEX). A volte, per il pagamento di queste attività è previsto un canone fisso. Com’è noto, già da anni alle amministrazioni viene chiesto, nelle manovre di bilancio, di tagliare le spese ricorrenti. Se le P.A. avessero a disposizione strumenti per quantificare i benefici degli interventi di manutenzione, questi ultimi potrebbero essere considerati investimenti, e il loro costo imputato di conseguenza come CAPEX.
  3. Difficoltà ad adeguarsi al modello strategico del Piano Triennale. Il modello strategico di evoluzione del sistema informativo delle P.A., presente nel Piano Triennale 2017-2019, introduce numerosi elementi di novità nell’ambito dei servizi di sviluppo e manutenzione di software applicativo. Ad esempio si prevede che le amministrazioni sviluppino le proprie applicazioni con approccio modulare, esponendo interfacce alle stesse sotto forma di API, in modo che soggetti terzi, pubblici o privati, possano integrarle per realizzare servizi a cittadini e imprese. In quest’ottica, oltre alle tradizionali caratteristiche funzionali del software (le sole misurabili, come detto, in Punti Funzione), assumono grande importanza aspetti quali la fruibilità delle API, la qualità della documentazione delle stesse, le prestazioni, la scalabilità, la sicurezza, l’accessibilità nel caso di servizi web, tutte caratteristiche per cui oggi non si fa uso di una metrica condivisa. Si ritiene che questo aspetto, ove non venga fronteggiato, determinerà criticità e ritardi nell’adeguamento delle P.A. alle indicazioni del Piano Triennale.

1.5 Finalità del documento

Tenendo presente le criticità elencate al paragrafo precedente, la presente guida tecnica si propone di:

  • esaminare possibili integrazioni alle attuali metriche per il software applicativo (basate essenzialmente sulla misura delle funzionalità erogate), affiancando a queste ultime misure delle caratteristiche non funzionali del software, anche allo scopo di consentire l’attribuzione contabile dei costi di manutenzione del software, attualmente considerati spese ricorrenti, a investimenti;
  • analizzare in che modo è possibile aggiornare le modalità di misurazione dei prodotti software per adattarsi al nuovo modello strategico di evoluzione dei sistemi informativi delle P.A., basato su uno sviluppo modulare e su interfacce API;
  • studiare come le eventuali metriche alternative possono essere condivise dagli operatori di mercato e applicate alle acquisizioni della pubblica amministrazione, ad esempio legando una percentuale significativa della remunerazione del fornitore alla qualità dei prodotti realizzati e ai risultati effettivamente conseguiti.

Vale la pena segnalare che le amministrazioni, oggi come in passato, appaiono disponibili a seguire le linee guida dell’AgID, alla cui realizzazione – peraltro – collaborano insieme a soggetti appartenenti alla ricerca, all’industria e all’accademia. Nel corso degli anni le linee guida dell’Agenzia hanno contribuito, tra l’altro, a standardizzare l’approccio delle pubbliche amministrazioni alla definizione e gestione dei contratti.

La presente guida tecnica, in omogeneità con le precedenti pubblicazioni dell’AgID di questo tipo, non hanno pretesa di completezza documentale, esaustività e massimo rigore sulla tematica in esame. Al contrario, esse rappresentano una sintesi di prima fruibilità delle asserzioni della letteratura tecnica in materia. Esse sono indirizzate a una categoria ben definita di lettori (dirigenti e funzionari della pubblica amministrazione), pertanto sono focalizzate sulle esigenze e sul contesto pubblico; perseguendo anche finalità didattiche, il livello della trattazione è stato reso, ove possibile, comprensibile al più ampio pubblico, soprattutto tramite una serie di esempi, indicazioni operative e suggerimenti pratici. Ove il lettore voglia andare più in dettaglio e/o cerchi una narrazione tecnica più rigorosa, verranno forniti riferimenti a testi o siti web su cui approfondire.

[1]È rappresentata la situazione al febbraio 2018.
[2]Appalto Specifico.
[3]L’art. 95 comma 10-bis del Codice degli appalti recita: “La stazione appaltante, al fine di assicurare l’effettiva individuazione del miglior rapporto qualità/prezzo, valorizza gli elementi qualitativi dell’offerta e individua criteri tali da garantire un confronto concorrenziale effettivo sui profili tecnici. A tal fine la stazione appaltante stabilisce un tetto massimo per il punteggio economico entro il limite del 30 per cento” (disposizione introdotta dal D.Lgs. 56/2017 in vigore dal 20/5/2017); dunque al massimo il prezzo conta per il 30%.
torna all'inizio dei contenuti