Background Image
Table of Contents Table of Contents
Previous Page  5 / 45 Next Page
Information
Show Menu
Previous Page 5 / 45 Next Page
Page Background

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