Lavorare con IT e ICT
Spazio ai costruttori dei software
La divisione Sviluppo di Eurosystem si inserisce nella più estesa area Ricerca, Ingegnerizzazione e Sviluppo software, al cui interno si svolgono tutte le attività finalizzate alla produzione di Freeway® Skyline. Tra codici, procedure e linguaggi di programmazione, i costruttori del software si occupano di implementare il prodotto ERP (Enterprise Resource Planning) standard, realizzando nuove funzionalità e adeguamenti tecnologici, e di sviluppare i singoli progetti cliente con le varie personalizzazioni e verticalizzazioni del prodotto standard.
S. Bacci, responsabile area Sviluppo software di Eurosystem: di cosa si occupa esattamente?
S. Bacci: «Il mio compito è quello di supervisionare tutto il ciclo di vita del software stando attento a verificare due cose: che gli obiettivi e la metodologia necessari ad eseguire il processo di produzione siano chiari all’intero team, e che i tempi di sviluppo preventivati siano pertinenti alla complessità delle attività e vengano rispettati. Ma, soprattutto, cerco di avere una visione a lungo termine e segnalare le nuove tecnologie da studiare per avere un prodotto sempre al passo con i tempi e orientato al futuro».
Come vengono definite le linee di sviluppo software? Quali sono gli indirizzi per il futuro?
S. Bacci: «Lo sviluppo del software viene pilotato dal reparto Progetti, in particolare dai PDM (Product Development Manager) per quanto riguarda le evoluzioni del prodotto standard, e dai PJS (Project Specialist) in relazione allo sviluppo dei progetti cliente. Entrambe le figure segnalano modifiche da effettuare in base a priorità di carattere esterno (ad esempio cambiamenti nelle normative che impattano sul funzionamento del prodotto) o a esigenze maturate nel confronto con i clienti. Le segnalazioni generate dal reparto Progetti vengono poi verificate dall’area Ricerca e Ingegnerizzazione, che si occupa di suggerire eventuali variazioni di natura tecnologica e che affida allo Sviluppo tutti gli interventi. In futuro lo sviluppo del software si orienterà sempre di più verso due direzioni: l’utilizzo di tecnologie mobili e touch screen e il ricorso alla User Experience, da cui derivano tecniche che permettono di sviluppare software sempre più “intelligenti” e “usabili” ».
Come si garantisce la migliore qualità possibile di un prodotto software?
S. Bacci: «Attraverso un monitoraggio continuo e varie attività di testing mirate a provare la correttezza tecnica, formale, e di contenuto degli interventi apportati. Di solito, infatti, programmiamo diverse fasi e tipologie di verifica all’interno del processo di produzione: una serie di test automatici vengono lanciati subito dopo la fase di programmazione vera e propria, seguono poi test manuali che vengono svolti direttamente dallo sviluppatore, infine PDM e PJS effettuano un ultimo test di verifica».
Come team di Sviluppo software, con quali aree aziendali collaborate maggiormente? E in che modo?
M. Perissinotto: «Collaboro con diverse figure a seconda delle necessità: mi interfaccio con l’area Ricerca e Ingegnerizzazione per gestire modifiche all’infrastruttura del software, con i PDM per approfondire le nuove funzionalità da implementare nel prodotto standard, e con i PJS per risolvere segnalazioni di anomalie su progetti cliente. Un aspetto tipico del nostro lavoro è proprio la necessità di confrontarsi continuamente per arrivare ad ottenere il risultato migliore».
F. Camillo: «Essendo impegnato nello sviluppo del prodotto standard, in particolare del sottosistema MRP (Material Requirements Planning), mi relaziono soprattutto con i PDM che, dopo aver individuato gli interventi da eseguire, si confrontano con noi sull’impostazione tecnica dello sviluppo. È un rapporto molto collaborativo, soprattutto nella fase di analisi ma anche nella risoluzione di eventuali problematiche insorte durante i test o dopo l’installazione: spesso capita di riuscire ad individuare aspetti di cui non si era tenuto conto in fase di analisi e realizzazione solo unendo le nostre diverse competenze».
L. Marchetti: «La mia specialità è sviluppare per i progetti cliente, che richiedono molta flessibilità mentale e operativa, sia per la varietà delle tecnologie con le quali si lavora sia perché i tempi di realizzazione richiesti dai clienti sono sempre molto stretti. Oltre, quindi, a collaborare con i PJS, per gestire le molteplici necessità faccio riferimento alla figura responsabile della Pianificazione progetti, che stabilisce le priorità con cui affrontare le varie richieste, consentendo a tutti di procedere secondo un’organizzazione ben definita».
Sviluppo prodotto standard e sviluppo progetti cliente: che differenza?
A. Robecchi: «Molto spesso si tratta di lavorare in due ambienti che richiedono un diverso approccio. Sviluppare per un progetto cliente significa, infatti, realizzare
una componente di sistema che, pur andando ad inserirsi in un contesto standard come il prodotto Freeway® Skyline, non dovrà essere del tutto confacente alle regole di produzione dello stesso perché destinata a soddisfare le esigenze di uno specifico cliente. È un lavoro certosino che riusciamo a realizzare solo grazie alle caratteristiche di alta flessibilità e configurabilità del nostro software gestionale».
S. Maurizio: «Pur trattandosi di attività diverse, le due cose non sono poi così nettamente separate. Capita, infatti, di doversi chiedere: “il software che sto sviluppando è specifico per il cliente o potrà essere riutilizzato?”; Occorre sempre tenere presente quali funzionalità sono specifiche e quali sono invece generiche (e quindi possibilmente condivisibili fra più progetti). I due aspetti devono essere sempre ben separati, anche all’interno di uno stesso progetto».
W. Bet: «A differenza di quanto succede con i progetti cliente, quando si lavora per il prodotto standard si considera che ogni modifica verrà inserita in un contesto già esistente, predisposto e sviluppato in un certo modo, per cui bisogna essere sicuri che l’inserimento effettuato possa dialogare in modo coerente con tutte le altre componenti dello standard».
Quanto conta avere un contatto diretto con l’utilizzatore finale del software che andate a sviluppare?
R. Lorenzon: «Lavorare a stretto contatto con il cliente permette di capire realmente com’è organizzata un’azienda. Occupandomi di implementazioni di sistemi workflow in progetti
personalizzati, ho capito che nessuno riesce, meglio del cliente stesso, a raccontare come funziona il processo produttivo di un’azienda in modo tale che questo processo possa essere implementato correttamente e reso, eventualmente, generico per ogni caso d’uso. Il confronto con il cliente permette insomma di arricchire e consolidare la soluzione che progettiamo».
M. Fumagalli: «Conta moltissimo perché aiuta a vedere molto più chiaramente le possibilità di miglioramento del prodotto e l’evoluzione che in futuro potrebbe avere. Confrontandosi direttamente con i referenti dell’azienda cliente si comprende quale utilizzo del software viene fatto nella pratica e in quali passaggi gli utenti incontrano difficoltà che in fase di analisi o progettazione non erano state previste. Si riesce così ad essere molto più efficaci in fase di modifica, miglioramento, o risoluzione di un’anomalia».
A. Serio: «Un interfacciamento diretto conta molto, è importante per la realizzazione di un prodotto di qualità e per una crescita professionale. Solo a partire da un confronto con l’utilizzatore finale è possibile comprenderne esigenze, dinamiche ed individuare eventuali punti critici. Affrontare queste criticità ed individuarne la migliore soluzione è parte di un percorso di crescita, aumenta la propria esperienza e il bagaglio di casi d’uso».
Com’è cambiato il vostro lavoro nel tempo?
F. Abbi: «Rispetto a quanto avveniva in passato, quando lo sviluppo di prodotto era focalizzato sull’utilizzo di un numero limitato di tecnologie ben note all’intero team, ho riscontrato la crescente spinta a sperimentare strade tecnologiche nuove ricorrendo ad un numero sempre più ampio di soluzioni inedite e fra loro differenti. Questa apertura, se da una parte ha generato l’indubbio beneficio di realizzare un prodotto innovativo e moderno, dall’altra ha creato la necessità di aggiornare le competenze comuni al team di sviluppo e indirizzare alcuni di noi verso precise specializzazioni. In questo cambiamento è venuta meno una certa interscambiabilità esistente tra i componenti del reparto, a favore di una maggiore qualificazione. Oggi possiamo dire che cerchiamo di mantenere competenze all’avanguardia su molte e più varie materie rispetto al passato, pur non rinunciando del tutto a quell’interscambiabilità. La possibilità di impiegare le stesse persone su più progetti e tecnologie consente, infatti, un più esteso passaggio di conoscenze all’interno di tutto il gruppo».
S. Speltra: «L’importanza che nel tempo ha acquisito l’informazione, il modo in cui viene strutturata, sintetizzata e visualizzata dall’utente finale, ha in un certo verso modificato anche il nostro approccio al lavoro. Oggi l’utente finale deve essere al centro del sistema ed il software che andiamo a sviluppare deve partire da questo concetto, aldilà delle tecnologie che si sceglie di impiegare per realizzarlo. Sviluppare un software sempre più vicino al ruolo aziendale che lo utilizzerà porta, dunque, ad uno sforzo maggiore nel far sì che la stessa informazione sia presentata in modo diverso a seconda del profilo utente che voglia consultarla. Per ottenere questo risultato occorre avere una grande padronanza delle logiche di funzionamento dell’azienda cliente e orientare le attività di sviluppo, già nella fase di progettazione, sulla base delle priorità di accesso e utilizzo del software individuate con la stessa azienda. Se si parte da questo requisito il risultato non potrà essere che ottimale, oltre che pienamente accettato dall’utilizzatore finale».
F. Zanin: «Oggi utilizziamo un numero maggiore di tecnologie e dobbiamo affrontare conseguenti problematiche di integrazione. Il fatto stesso di orientare lo sviluppo verso un software web based, come appunto è Freeway® Skyline, ha aumentato la complessità del lavoro perché occorre far confluire in un’unica interfaccia, quella di un portale web connesso al sistema gestionale, funzionalità eterogenee dal punto di vista tecnico che devono essere presentate nello stesso modo dal punto di vista formale».
Qual è l’aspetto che caratterizza maggiormente il vostro lavoro?
S. Curtolo: «La raccolta e la condivisione di informazioni. Ad esempio, se devo sviluppare una nuova funzionalità all’interno di un progetto cliente, devo prima raccogliere l’analisi funzionale del PJS, verificare con il PDM che lo sviluppo non vada ad impattare negativamente sul prodotto standard, condividere le linee di sviluppo con il reparto Ingegnerizzazione. Solo quando tutte le informazioni si integrano perfettamente tra di loro e il circolo – virtuoso in questo caso – si è concluso, posso iniziare davvero il mio lavoro di sviluppo».
A. Zarpellon: «Occupandomi specialmente di implementazioni relative all’area contabile del nostro prodotto software, mi capita spesso di sviluppare nuove funzionalità in seguito a cambiamenti legislativi, cosa che in Italia si verifica continuamente e che costringe a lavorare in tempi stringenti (come nel caso della recente normativa sullo “spesometro” che ne prevede l’introduzione entro novembre). Ma l’aspetto più importante da considerare in questo ambito è la capacità di guidare il cliente nel districato rompicapo normativo e burocratico, offrendo adeguamenti e funzionalità che rispondano in maniera efficiente, certa e confacente a quanto richiesto dalla legge».
Aggiornamento e formazione: quanto è importante?
F. Abbi: «È fondamentale, non solo per quanto riguarda l’utilizzo di tecnologie più avanzate all’interno del prodotto, ma anche per acquisire quelle competenze necessarie a rendere più efficiente il processo di sviluppo dello stesso. Al riguardo, di recente, Eurosystem ha sponsorizzato l’acquisizione da parte mia della certificazione Microsoft relativa al prodotto Team Foundation Server, che ha l’obiettivo di supportare il processo di produzione del software secondo i dettami dell’ingegneria del software. Grazie a questa certificazione sto contribuendo a definire le procedure che ci permettano di collaborare in maniera più coordinata ed efficiente, migliorando la misurabilità e la qualità dello sviluppo».
F. Zanin: «La necessità di rimanere costantemente aggiornati su tecnologie e metodologie è uno degli aspetti più impegnativi e stimolanti di questo lavoro; nel nostro settore la formazione continua non è un modo di dire ma una neccessità, perché le informazioni in circolazione a livello globale sono tante e si diffondono velocemente, e bisogna quindi saper cogliere quelle più utili, significative e promettenti. Allo stesso tempo, poiché difficoltà o problematiche che si presentano sono spesso riconducibili a situazioni già note e necessitano di soluzioni già collaudate, risulta assai utile documentare e condividere con i colleghi l’esperienza maturata singolarmente, a favore di una più estesa e approfondita conoscenza di gruppo».