Sappiano ormai bene di trovarci all’interno di una trasformazione che gli analisti come Gartner e Forrester stanno codificando all’interno di alcuni macro fenomeni che vanno dal cloud alla mobility, passando per il social business, la collaboration e l’analisi dell’informazione in scenari complessi e con grandi moli di dati, accelerando il passaggio alla Business Technology. Uno scenario in cui le possibilità di differenziazione delle imprese sul piano competitivo dipenderanno dalla capacità di governare tali trend in modo sinergico traendone le giuste opportunità.
“Un contesto in cui le applicazioni diventano l’elemento critico (nel senso positivo del termine), perché dalla loro efficacia dipendono la produttività degli utenti interni, la produzione di soluzioni, la qualità dei servizi erogati alla clientela e al mercato – analizza Stefano Uberti Foppa, direttore responsabile ZeroUno aprendo i lavori di una Tavola Rotonda tenutasi nei giorni scorsi all’interno della terza edizione dell’Italian Software Testing Forum -. Le aziende sono guidate dalla necessità di indirizzare un sistema informativo orientato sempre più a garantire un servizio all’utente. La logica di servizio porta a valutare l’eccellenza e la qualità applicativa come beneficio misurabile e riscontrabile rispetto alla necessità dell’utente”.
La quality assurance richiede governance e competenze
È una prospettiva molto differente rispetto al passato che implica una trasformazione anche sui dipartimenti It, sulle competenze in ambito applicativo e sui processi. “Il ‘problema’ della user experience si ribalta direttamente sulla capacità dell’It di dare risposte al business attraverso la propria struttura, le competenze e le scelte tecnologiche – aggiunge Uberti Foppa – aprendo nuove strade allo sviluppo e al testing delle applicazioni”.
Nuove strade che possono anche voler dire scelte strategiche verso nuovi modelli di sourcing tecnologico con una conseguente riqualificazione delle competenze interne, così come avvenuto in Barilla. Marco Rossi, It Business Process Support director della società, spiega la scelta dell’azienda, risalente ormai ad alcuni anni fa, di “definire un’architettura applicativa e un modello di governance che ha portato progressivamente a esternalizzare la software factory”. Oggi Barilla non ha più in casa la fase dello sviluppo applicativo, ma rimane in capo all’azienda la responsabilità del delivery del servizio applicativo. “Questo significa che siamo noi a dover definire un modello di funzionamento e di regole che vanno fatte rispettare a chi sviluppa tecnicamente l’applicazione – sottolinea Rossi – e compete a noi il governo della software quality, con tutto ciò che ne consegue sul piano del demand management, della gestione dei requisiti, del controllo e della maintenance del parco applicativo, nonché della gestione dei test di accettazione”.
Sul fronte delle competenze questa scelta ha evidenziato la necessità di lavorare molto nell’area del demand management [funzione che in Barilla è interna al dipartimento It, ma nella divisione guidata da Rossi che si occupa di supporto ai processi di business – ndr] cui è affidato il compito di catturare e definire i requisiti, nonché tradurli in specifiche tecnico funzionali da trasferire ai team di sviluppo. “I team che si occupano di quality assurance sono quindi multidisciplinari – spiega Rossi -. Collaborano con il demand manager e figure più tecniche che interagiscono con gli sviluppatori esterni e controllano il rispetto delle regole e delle esigenze espresse. L’utente finale viene coinvolto dall’inizio del processo, ossia nell’identificazione dei requisiti, sino agli user acceptance test finali”.
Anche Graziano Tosi, head of Platform Industrialization di Unicredit Business Integrated Solutions, punta i fari sull’importanza della governance del ciclo di sviluppo “che va dalla gestione del demand (gestione dei requisiti) fino al rilascio del servizio e al suo funzionamento in produzione”.
“Nel nostro caso ‘costruiamo’ il servizio applicativo a seconda della tipologia, mixando tra tecnologie (make and buy) e competenze (interne ed esterne); ma a livello di governance non cambia nulla”, spiega in dettaglio Tosi. “L’importante è che, prima ancora di modellare l’organizzazione, si sia ben focalizzati sul processo di business e su cosa serve veramente all’utente (che per noi è l’utente interno della banca, ma che utilizza strumenti con i quali eroga poi un servizio all’esterno). Una volta analizzato bene il processo e identificati i requisiti, andiamo a individuare le competenze necessarie per calarle all’interno di un modello organizzativo che, anche in questo caso, risulta essere flessibile e si compone di volta in volta sia di risorse interne sia di skill esterni. La governance dell’intero processo, però, rimane all’interno, quindi, anche tutto il controllo sulla qualità”.
Anche nel caso di Tnt Global Express, la qualità applicativa è assicurata attraverso un modello organizzativo che prevede competenze più “business oriented” che tecniche. Il demand management, ad esempio, è una funzione di business, fuori dall'organizzazione It. “All'interno dell'It abbiamo dei business system manager che si interfacciano con i demand manager per definire i requisiti e trasferire le specifiche tecniche ai team di sviluppo; ma i tester del servizio applicativo sono uomini di business, i demand manager appunto – spiega l’It director della società, Paolo Ballabene -. Nel nostro caso, poi, anche la maintenance delle applicazioni è una funzione che sta al di fuori dello sviluppo software e rientra nell’ambito del service delivery and management”.
Sorgenia, invece, ha affrontato un percorso molto vicino a quello di Barilla, optando per l’outsourcing dello sviluppo applicativo. Sergio Caucino, responsabile architetture applicative BI e integrazione della società, rimarca “l’importanza del presidio interno”. “Le persone interne al dipartimento It si occupano di governance, controllo e mantenimento del servizio applicativo, quindi sono responsabili della qualità del software da cui dipende il servizio erogato all’utente – osserva Caucino -. Proprio per questa ragione stiamo lavorando per fare in modo che il controllo sulle applicazioni non sia solo tecnologico, ma anche funzionale”.
Un percorso di cambiamento iniziato prima di tutto da un nuovo approccio: “Siamo passati dalla tradizionale visione ‘a silos’ molto focalizzata sugli applicativi a una visione più orientata al servizio e quindi alle funzioni di business – racconta Caucino -. Con un impatto evidente anche sulle competenze; nel nostro caso, il demand management è interno all'It ma ha una forte focalizzazione sui processi (governati da una funzione di business esterna all’It)”.
Presidio forte su requirement e testing
In alcuni contesti, oggi, troviamo la massima espressione della criticità del servizio applicativo e del suo elevato valore per il business. Pensiamo ad esempio al mondo sanitario e all’implicazione che la qualità dell’applicazione ha direttamente sul paziente. “Sul fronte clinico la piattaforma applicativa richiede performance in continuo aumento, quindi servono tuning continuo e governance – evidenzia Annarosa Farina, responsabile applicazioni, progetti e gestione della Fondazione San Raffaele -. Un ospedale è caratterizzato da processi continui che non si fermano mai (pensiamo solo al Pronto Soccorso) e questo rende complesso il lavoro sull’evoluzione delle applicazioni e sul rilascio dei servizi (spesso si devono effettuare per fasi). Non solo, noi abbiamo anche la Fondazione che si occupa della Ricerca per la quale servono soluzioni molto specifiche e, quindi, non è raro avviare progetti di co-sviluppo insieme ai vendor e alle software house”.
L’infrastruttura alla base dei servizi applicativi (architettura Soa e application server) rappresenta un notevole supporto per il San Raffaele ma, come evidenzia Farina, “la necessità di avere sempre le massime performance non lascia margini di errore. Per noi la qualità del software si traduce in performance del servizio dove un solo minuto di ritardo significa un minuto ‘perso’ nella cura del paziente”.
Uno scenario dove la massima conoscenza dei processi e l’identificazione dei corretti business requirement sono imprescindibili e dove il testing si traduce in una continua attività di tuning per rilevare eventuali colli di bottiglia e analizzare possibili impatti e conseguenze sui processi di qualsiasi intervento sul fronte It.
E benché “in gioco” non ci sia il benessere di un individuo come in campo sanitario, anche il mondo Finance è alle prese con un complesso momento di trasformazione, fortemente accelerato dai trend tecnologici citati all’inizio del nostro servizio (cloud, mobility, social, Big data). “L’esigenza di flessibilità e velocità del business – riflette Roberto Fonso, Cio di Banca Popolare di Milano -fa ‘a pugni’ con un’architettura tecnologica ‘ordinata’ (intesa come infrastruttura modellata secondo una certa organicità e non con approcci ‘quick and dirty’), ma non possiamo non dare risposte veloci con servizi efficaci. In questa evidente complessità, i requisiti chiari diventano fondamentali: il software funziona solo con requisiti di dettaglio correttamente intercettati e adeguatamente tradotti sul piano tecnico. Non solo: il presidio sul testing diventa prioritario cercando di bilanciare attività e tipologie di test con quelle che sono le esigenze reali e gli eventuali rischi per il business”.
Il valore economico della software quality
Proseguendo nel suo discorso, Fonso sottolinea come “la qualità ormai sia oggi abbastanza trasparente: l'utente se ne accorge immediatamente perché l’applicazione non soddisfa le sue esigenze”. “Gli effetti della non qualità sono ormai talmente evidenti che non serve nemmeno spiegarli”, aggiunge il Cio di Banca Popolare di Milano.
Rossi di Barilla però puntualizza “La qualità del software va mantenuta all’interno della disciplina It per sviluppare ed erogare servizi efficaci. Il business non può capire l'investimento finalizzato a migliorare la qualità del software. Per farne percepire il valore bisogna far capire la ricaduta che la qualità ha sulla produttività del business. Questo aiuta anche a stabilire le priorità dei progetti”.
Concorda anche Caucino di Sorgenia che conclude suggerendo, quindi, di cambiare prospettiva: “I test di qualità di solito vanno alla ricerca delle difettosità. Bisognerebbe cambiare approccio e verificare, invece, quanto le applicazioni siano efficaci sul fronte dell'usabilità da parte degli utenti. È questo il valore economico della software quality”.