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”.