AUTOMAZIONE OGGI 381
SOLUZIONI SOFTWARE PER L’INDUSTRIA 89
La metodologia ‘Agile’ nello sviluppo
del software
Il processo di sviluppo è un fattore cruciale per il successo di
un prodotto software. Le esperienze nello sviluppo e nella ge-
stione del software seguendo lemetodologie classiche hanno
portato spesso a risultati molto diversi da quelli preventivati, a
volte catastrofici. I numeri sono disarmanti in quanto sugli svi-
luppi che hanno un time to market di 2/3 anni dal kick off del
progetto al primo rilascio nel 20%dei casi i progetti sono abor-
titi, nel 40% dei casi il prodotto finale risulta non conforme a
quello che il mercato (o il committente) si aspettava, nel 60%
dei casi il prodotto finale ha un numero inaccettabile di bugs e
nel 70% dei casi i costi di sviluppo a consuntivo sono almeno il
doppio di quelli preventivati. Negli anni si è perciò capito che
non è possibile seguire unmodello di sviluppo classico (water-
fall), nel quale le varie fasi di definizione delle specifiche, pro-
gettazione, sviluppo e test si susseguono in sequenza. I motivi
sono diversi e persino ovvi in quanto le esigenze del mercato
e le tecnologie di base cambiano così velocemente che spe-
cifiche scritte 2/3 anni prima possono diventare obsolete già
nel corso dello sviluppo. Asem per risolvere le problematiche
descritte ha adottato un diverso metodo di gestione nello
sviluppo del software, denominato ‘Agile’, la metodologia di
programmazione XP (Extreme Programming) e la tecnica TDD
(Test Driver Development). Il metodo ‘Agile’ coinvolge tutti
i protagonisti e interessati fin dalle prime fasi del progetto.
Gli sviluppatori e i committenti (cioè quelli che sanno cosa
devono ottenere dalla soluzione software), si incontrano re-
golarmente e frequentemente, inmodo da essere sempre sin-
cronizzati su ogni aspetto della soluzione che sta nascendo.
All’inizio delle attività non esistono specifiche ‘scolpite nella
pietra’ ma, al contrario, le stesse vengono modificate e/o ag-
giornate durante il percorso di sviluppo. Fin dai primissimi
mesi si cerca di completare un primo sviluppo basilare, ma
al tempo stesso completo di tutte le funzionalità. Il prodotto
vienemostrato e condiviso con i committenti che possono ve-
rificare emisurare l’aderenza dello stesso alle loro aspettative.
Variazioni anche importanti della soluzione possono quindi
essere definite e attuate fin dalle prima fase, senza aspettare
la fine dello sviluppo.
Secondo lametodologia
‘Agile’ il prodotto cresce
a ogni iterazione, soli-
tamente mensile, nelle
quali si definiscono le
funzioni che devono
essere implementate
nel mese successivo.
Alla fine di ogni mese
si hanno a disposizione
funzionalità della so-
luzione perfettamente
testate (grazie al TDD)
e potenzialmente ven-
dibili. La tecnica TDD aiuta a creare una suite di test che per-
mette di ritestare il prodotto nelle sue funzioni di base ogni
volta che lo si desidera. È quindi facile scoprire se nuove fun-
zionalità introdotte hanno compromesso quelle esistenti e
porvi immediato rimedio. Lo sforzo e il tempo di scrittura dei
test, che all’inizio possono sembrare time consuming, alla fine
si rivelano il miglior investimento per la qualità del software
perché permettono di
avere velocemente e in
automatico un’ottima
confidenza sul funzio-
namento stabile e com-
pleto della soluzione.
Asem nello sviluppo del
software ha da tempo
adottato la metodolo-
gia ‘Agile’, la metodolo-
gia di programmazione
XP (Extreme program-
ming) e la tecnica TDD.
I clienti di Asem hanno
potuto e possono ap-
prezzare i risultati di
tali scelte con la piatta-
forma software Ubiquity, che fin dalla nascita ha evidenziato
ottimi standard di qualità, di usabilità e di velocità nell’integra-
zione di nuove funzionalità richieste dal mercato.
Ubiquity: la piattaforma per la teleassistenza
Ubiquity è l’innovativa piattaforma software per la teleas-
sistenza che permette di intervenire su un sistema remoto
come se questo fosse nella propria sede, con il vantaggio di
avere a disposizione tutte le competenze aziendali per la so-
luzione dei problemi riscontrati, annullando le distanze, elimi-
nando le trasferte on site e abbassando drasticamente i costi
di assistenza post vendita. L’utilizzo della soluzione è partico-
larmente utile nelle fasi di installazione emessa in funzione dei
macchinari, per apportare modifiche e aggiornamenti al sof-
tware applicativo e nel debug remoto di PLC o altri dispositivi
S
SI
in copertina
Ubiquity Router - Le soluzioni
HW + SW per la teleassistenza e il
telecontrollo
Schema di collegamento remoto con Ubiquity Runtime e Ubiquity Router