La qualità applicativa aiuta l`impresa
Transcript
La qualità applicativa aiuta l`impresa
Mercat i e in n ova zi o n e APPLIC ATION QUALIT Y - 1 La qualità applicativa aiuta l’impresa di Giampiero Carli Ballola Migliorare la qualità intrinseca del software abbatte i costi di gestione e manutenzione delle applicazioni, accelera la delivery dei nuovi prodotti e dei cambiamenti a quelli esistenti e, potenziando l’efficienza e sicurezza dei processi aziendali, contribuisce a ridurre il rischio operativo dell’impresa. Nel corso di un Executive Dinner organizzato da ZeroUno in collaborazione con Cast si sono approfondite queste tematiche 52 ZEROUNO 348 - MAGGIO 2011 www.zerounoweb.it La qualità strutturale del software applicativo, quella cioè che riguarda gli aspetti ‘interni’, architetturali e di codifica, ha grande importanza nell’esecuzione dei processi aziendali, così come influisce parecchio sulla facilità con la quale il software può essere mantenuto e modificato in funzione di nuove esigenze. Sebbene questi concetti siano ben compresi dai responsabili It, la qualità strutturale delle applicazioni è però spesso trascurata per colpa di tre cause concomitanti: la prima è, banalmente, la mancanza del tempo e del denaro per occuparsene (tempo e denaro che, paradossalmente, mancano proprio perché assorbiti dalla manutenzione del software stesso); la seconda è la scarsità di persone capaci di farlo (e ciò vale soprat- executive dinner di venti tra Cio, It Manager e altri professionisti aventi diverse aree di competenza e responsabilità) che hanno dato vita a uno stimolante dibattito. Come di regola, l’incontro è stato aperto da Stefano Uberti Foppa, direttore di ZeroUno e moderatore della serata, che ha focalizzato il punto d’interesse dell’Application Analysis nei confronti delle imprese. Questo nasce dalla complessità competitiva che le aziende si trovano a dover gestire nel momento in cui, passata la ‘fase acuta’ della crisi economica, ci si deve preparare a un recupero che, comunque si evolva, si svolgerà in un quadro che non sarà più quello di prima. Basti pensare, per dire, a quelli che ancora si chiamano ‘paesi emergenti’, ma che già condizionano l’economia globale. In questa fase l’It ha il ruolo chiave di strumento abilitante della flessibilità strategica e operativa richiesta dalla situazione. È quindi importante che tale strumento sia a sua volta flessibile e ‘snello’, facile da adeguare a improvvise necessità. Migliorare la qualità del software avvantaggia l’It come il business: la prima nell’accelerare la delivery delle applicazioni e ridurre i costi di sviluppo e manutenzione; il secondo nel garantire un alto livello di servizio ai processi aziendali e quindi, in ultima analisi, nel ridurre il rischio operativo. Come è cambiata la qualità del software tutto per le applicazioni legacy, sulle quali poggiano tuttora molti processi vitali per l’impresa); la terza è il fatto che non esistono né regole standardizzate di valutazione della qualità strutturale né metodologie di intervento alle quali attenersi. Di questi problemi, complessi per il coinvolgimento di fattori tecnologici, economici e umani, si è ampiamente discusso in occasione dell’Executive Dinner “Application Quality Analysis e performance aziendali”, svoltosi recentemente a Milano e organizzato da ZeroUno in collaborazione con Cast (vedi riquadro a pag. 55). L’indubbio interesse del tema proposto, che riguarda problemi relativamente poco indagati, ha contribuito a creare un evento ricco di partecipanti (più Ruolo e importanza della qualità del software sono stati esposti in dettaglio da Eugenio Capra, docente di Sistemi Informativi presso il Politecnico di Milano. Dopo aver osservato come la “proletarizzazione”, così l’ha definita, del ruolo dei programmatori (dovuta anche a una grossolana concezione della riduzione dei costi a seguito della compressione dei budget) abbia portato a uno scadimento della qualità intrinseca dei prodotti, Capra ha esposto i dati emersi da due ricerche svolte dal Politecnico sul tema. Una prima ricerca, interessante ai fini appunto della considerazione del fattore umano e organizzativo, è stata svolta su applicazioni scritte in codice Open Source (prevalentemente Java). Ne è emerso che quanto più il software viene sviluppato da persone agenti sul modello della comunità, con processi di comunicazione e collaborazione non formalizzati, tanto più è alta la qualità intrinseca del prodotto, ZEROUNO 348 - MAGGIO 2011 www.zerounoweb.it Hp ha sviluppato il proprio portafoglio di soluzioni Application Transformation includendo sette nuovi prodotti, studiati per consentire ai clienti di modernizzare le applicazioni che guidano le loro imprese. Una soluzione che comprende i servizi Application Modernization di Hp è stata implementata dal Miur-Ministero dell’Istruzione, dell’Università e della Ricerca che gestisce il personale di 10.500 scuole. Cast Application Intelligence Platform, sviluppata da Cast, è una soluzione nata per misurare la Software Quality & l’Application Management Productivity ma con una vista specifica per il business. È una piattaforma che nasce con l’obiettivo di dare visibilità ai top e ai business manager di quella che è effettivamente e oggettivamente la qualità del software su cui si basa la propria organizzazione. 53 Mercat i e in n ova zi o n e I protagonisti dell’evento ZeroUno Questi i nominativi dei manager che hanno partecipato all’Executive Dinner di ZeroUno: Alberto Alberini Ibm presenta una serie di nuove offerte di software e servizi “Smarter Commerce”, studiati per aiutare le imprese ad adattarsi rapidamente all’aumento della domanda dei clienti in ambito sia B2B sia B2C. Si tratta infatti di un mercato che, secondo le stime, è destinato a crescere fino a 20 miliardi di dollari, solo per quanto riguarda il software, entro il 2015. Eugenio Capra Fabrizio Albini Riccardo Amidei dovuta al fatto che per poter lavorare in modo distribuito e non coordinato il codice deve essere ben descritto, strutturato e commentato. La contropartita è la bassa efficienza del modello, con costi elevati in termini di giornate/uomo, che lo rende poco applicabile a realtà dove il time-to-market è determinante. Occorre quindi che l’efficienza produttiva del modello formalizzato e per così dire industrializzato, “sia sostenuta da metodologie di sviluppo che ne limitino gli errori senza però ‘burocratizzare’ il processo”. La seconda ricerca, più tecnologica, ha studiato l’efficienza energetica, cioè il peso dell’applicazione sul server in termini di consumo di risorse di calcolo e quindi di energia (vedi a questo proposito gli articoli pubblicati nell’area Green Economy del sito www.zerounoweb.it). È dimostrato come vi sia un rapporto diretto tra la qualità del software e la sua performance energetica e, altresì, come vi sia un forte divario a favore dei prodotti scritti ad hoc rispetto a quelli costruiti assemblando elementi forniti da framework applicativi, divario che cresce con la dimensione dell’applicazione stessa. Guido Di Dario Mario Giovanni Ferrario Fabio Furgiuele L’intervento di Capra si è concluso con la proposta di un approccio sistemico allo sviluppo che ne consideri cinque dimensioni: il numero di persone coinvolte; la loro cultura e attitudine al lavoro di gruppo; il numero di cambiamenti atteso per il prodotto; la sua criticità per il business; le competenze tecnologiche disponibili. Lo scopo è trovare un bilanciamento tra rigidità e agilità del modello di sviluppo che consenta un governo adeguato al singolo progetto e introduca metriche di 54 ZEROUNO 348 - MAGGIO 2011 www.zerounoweb.it • Alberto Alberini, It manager di Aviva Italia • Fabrizio Albini, It manager di The Walt Disney Company Italia • Riccardo Amidei, direttore Quality Informatica di Fiat Group Automobiles • Marco Andolfi, Direzione Generale di Disignum • Bruno Annunziata, responsabile Monitoraggio e controllo qualità di Insiel • Stefano Brambilla, Technical Manager Direzione Risk Management di Banca Intesa Sanpaolo • Alessandro Campanini, Cio di Banca Fideuram • Eugenio Capra, docente Sistemi Informativi del Politecnico di Milano • Massimo Crubellati, Country manager di Cast • Bill Curtis, Cisq Director, Co-author of Cmm, Cast Senior Vice President and Chief Scientist di Cast • Guido Di Dario, al momento dell’evento Cio di De Agostini Editore • Mario Giovanni Ferrario, responsabile Sviluppo applicazioni gestionali di Fiditalia • Fabio Furgiuele, Technical Manager di Cast • Marco Geraci, Senior Consultant di Cast • Carlo Grimoldi, It manager di Dussmann Service • Barry Groenewald, It International Projects & Special Initiatives di Sky Italia • Ferruccio Maccarini, responsabile Processi Interni di Ubi Sistemi e Servizi • Sergio Martina, consulente di Martina Team • Giuseppe Omodei Salè, direttore Sistemi Informativi di Messaggerie Libri • Farhad Sabzevari, Cio di Directline • Giuseppe Salomoni, Head of Architectures, Innovation & Strategic Projects - Eurosig CB, Global Business & Ges di Ugis • Marco Tacchetti, Head of IT Innovation di Ugis • Alessandro Volpato, direttore Sistemi Informativi di Bennet Marco Geraci Carlo Grimoldi Barry Groenewald controllo riferibili a tre tipi di qualità: interna, o strutturale; esterna, che impatta sull’utente, e d’uso, che Capra definisce come “il bilanciamento di qualità interna ed esterna in rapporto al contesto nel quale l’applicazione viene utilizzata”. Attenzione alle caratteristiche interne La serata è proseguita quindi con l’intervento probabilmente più atteso e stimolante in agenda, e cioè quello di Bill Cur- Marco Andolfi Bruno Annunziata Stefano Brambilla Alessandro Campanini tis, che oltre ad essere Senior Vp e Chief Scientist di Cast è anche direttore del Cisq (Consortium for It Software Quality) e coautore del Capability Maturity Model (Cmm), un vero ‘guru’, quindi, del settore. Con il supporto dei risultati di uno studio realizzato ad hoc, Curtis ha dimostrato come la crescente complessità delle applicazioni faccia sì che l’anello debole della catena non sia tanto la correttezza del codice quanto la funzionalità delle interazioni tra i diversi livelli applicativi (dal nucleo logico all’interfaccia ) e tra le componenti funzionali. Occorre quindi un’analisi qualitativa che valuti in che misura i singoli componenti collaborino nella delivery delle funzioni di business. Ciò comporta il superamento del concetto classico di qualità misurata sulla risposta alle specifiche per dare più attenzione alle caratteristiche interne, non funzionali, del prodotto, anche perché, ha osservato Curtis, “una scarsa qualità strutturale rende più difficile apportare miglioramenti e modifiche alle applicazioni limitando di fatto le esigenze di agilità dell’impresa”. Questo concetto inizia a diffondersi e ci si sta quindi avviando verso quella che Curtis chiama “la quarta ondata del software engineering”, che dopo l’evoluzione dei linguaggi, dei metodi e dei processi incomincia a concentrarsi sul prodotto: “L’ingegnerizzazione della qualità strutturale (Software Quality Enginnering – Sqe) supplementa il Cmmi (Capabily Maturity Model Integration) nell’estrarre dalle applicazioni maggior valore per il business. Il Cmmi – ha proseguito Curtis – sta al miglioramento dei processi come la Sqe sta al miglioramento del prodotto e fa dello stesso Cmmi una solida base per la costruzione di un programma di application quality”. Curtis ha quindi brevemente tratteggiato la metodologia Cast per la misura della qualità strutturale che parte dall’analisi dei linguaggi per giungere, attraverso la costruzione di una vasta base informativa (Application Knowledge Base), a metriche in grado di dare un “indice di salute” del prodotto in oggetto. Queste indicazioni sono utilizzabili sia dai Project Manager e dagli sviluppatori sia, nei loro valori di sintesi, dagli It executive, mancando Cast: analisi, controllo e misura della qualità del software Fondata in Francia nel 1995 e presente in Italia, con sede a Milano e uffici a Roma, dal 1998, Cast (www.castsoftware.com) è Bill Curtis Cisq Director, Co-author of Cmm, Cast Senior Vice President and Chief Scientist di Cast una società a dimensione multinazionale specializzata nell’analisi scientifica del software applicativo e nella realizzazione di strumenti tecnologici per misurarne caratteristiche e prestazioni e migliorarne la qualità. Cast fornisce strumenti di benchmark agli sviluppatori e alle comunità accademiche e scientifiche interessate agli aspetti che possono migliorare la qualità strutturale delle applicazioni. La sua Application Intelligence Platform è una piattaforma tecnologica, concepita a uso dei responsabili dell’It come del business, che analizza, controlla e misura i parametri che determinano la qualità di un’applicazione in modo da ottimizzarne le prestazioni all’utente finale. Nel 2007 ha avviato un programma di raccolta e studio delle caratteristiche strutturali relative ad applicazioni custom implementate da organizzazioni in Nord America, Europa e India, realizzando un data-set che forma la base di conoscenza delle sue analisi. (G.C.B.) Massimo Crubellati Country manager di Cast oggi - ha sottolineato Curtis - dei benchmark standardizzati e riconosciuti sulla qualità del prodotto. Il lungo intervento del direttore del Cisp e chief scientist di Cast (circa 40 minuti) si è infine concluso con la presentazione e il commento dello studio internazionale sulla qualità del software svolto dalla sua società, del quale ZeroUno pubblicherà prossimamente un ampio estratto. ZEROUNO 347 - APRILE 2011 www.zerounoweb.it 55 Mercat i e in n ova zi o n e APPLIC ATION QUALIT Y - 1 Ferruccio Maccarini Progress Software lancia Progress Responsive business integration, una suite completa per l’integrazione che estende la prontezza di risposta delle Service oriented architecture (Soa). Le aziende potranno così aggiungere nuove risorse alle proprie infrastrutture e avranno la possibilità di apportare continui miglioramenti alle proprie soluzioni in maniera semplice. Marco Tacchetti 56 Sergio Martina Il confronto Il dibattito tra gli intervenuti è stato introdotto da Giuseppe Salomoni, Head of Architecture, Innovation & Strategic Projects di Ugis, il quale ha esposto la propria esperienza sull’uso di strumenti di analisi e misura della qualità del software, il cui impiego era finalizzato a quattro obiettivi: “Il primo era capire con quali metodologie si potessero modernizzare le applicazioni per aumentarne la flessibilità”. Il secondo punto era quello dei consumi (“i Mips di un mainframe costano cari, se abbiamo controlli puntuali sulla qualità possiamo ridurre la spesa“); seguiva quindi il controllo degli asset applicativi e dei relativi costi e, infine, la valutazione del dimensionamento della stessa struttura It. Si tratta, pertanto, di problemi che investivano aspetti sia tecnologici sia organizzativi e le analisi di qualità condotte periodicamente sul lavoro svolto e in corso di svolgimento hanno fornito un importante supporto alla gestione operativa della funzione It. L’esperienza descritta ha stimolato una serie d’interventi che hanno dato vita a un dibattito molto vivace, con un continuo coinvolgimento degli speaker (Capra e Curtis), ai quali si è aggiunto Massimo Crubellati, Country Manager di Cast. Per dare una sintesi, sia pure incompleta, di quanto si è detto citeremo gli argomenti che sono stati più discussi, riportandoli nell’ordine con il quale sono emersi nel corso del dibattito. Un primo punto introdotto da Alessandro Campanini, Cio di Banca Fideuram, è stato l’utilità, anzi la necessità, di disporre di strumenti di misura ex-ante, tali da poter inserire precise clausole sulla qualità del software sviluppato in outsourcing. “La cosa più importante – dice Campanini – è pagare STEFANO UBERTI FOPPA Alessandro Volpato ZEROUNO 348 - MAGGIO 2011 www.zerounoweb.it Giuseppe Omodei Salè Farhad Sabzevari Giuseppe Salomoni il giusto prezzo per la qualità che si ha”, ma in difetto di benchmark riconosciuti è difficile inserire nei contratti, come sarebbe auspicabile, dei vincoli sulla qualità del prodotto realizzato. La problematica toccata da Campanini ha innescato un discorso sul ritorno dell’investimento in strumenti di qualità. “Se uso questi tool – si è chiesto Riccardo Amidei, Direttore Quality Informatica di Fiat Group Automobiles – di quanto si può ridurre il costo del contratto di manutenzione?”. Per Amidei non si sa. Ma, aggiunge, “è una valutazione che spetterebbe ai fornitori di Maintenance Service”, in modo da calibrare costo e qualità della propria offerta. Sul problema costo/qualità intervengono Crubellati, per il quale la questione va ribaltata stimando il danno economico che il rischio dato dalla scarsa qualità del software può infliggere all’impresa, e Mario Giovanni Ferrario, responsabile sviluppo applicazioni gestionali di Fiditalia, che osserva come esista e sia calcolabile un “technical debt” dato dal costo del lavoro necessario per rimediare ai difetti di un’applicazione rilasciata e operativa. Si è poi discusso della metodologia Agile, della quale Capra, nel suo intervento, aveva mostrato i vantaggi ma anche i limiti, specie nell’applicazione a gruppi di sviluppo numerosi. Nel caso di Alberto Alberini, It manager di Aviva Italia, che ne ha fatto esperienza diretta, questo metodo ha dato eccellenti risultati e il suo uso ha mostrato un rapporto diretto con la qualità del prodotto, ma ammette che esistano casi in cui convenga un approccio più strutturato, tesi condivisa, in nome della solidità di applicazioni critiche, da Barry Groenewald, It Internal Projects & Special Initiatives di Sky Italia. Un problema delicato viene infine sollevato da Fabrizio Albini, It Manager di The Walt Disney Company Italia, e cioè la difficoltà che s’incontra talvolta nel presentare e negoziare gli aspetti di qualità con gli utenti interni e con responsabili del business che non siano già sensibilizzati al problema. È come sempre una questione di cultura, che va creata e stimolata anche da parte dei fornitori. Come conclude Bill Curtis: “Dobbiamo far capire che la qualità è un modo per semplificare il business e condurlo in modo più efficiente”.