Il progetto. Herzum Software è un’azienda italiana di ICT che appartiene a Herzum, un gruppo di consulenza internazionale specializzato in strategie IT, enterprise architecture, software integration e sviluppo software agile.

Herzum Software ha ereditato l'esperienza storica del gruppo e l’ha estesa grazie al programma PIA – Pacchetti Integrati di Agevolazione, co-finanziato dall'Unione Europea, dal MIUR e dal Governo Regionale della Calabria. L’azienda, in collaborazione con il dipartimento di Ingegneria informatica, Automatica e Gestionale (DIAG) “Antonio Ruberti” della Sapienza Università di Roma, ha portato a termine un progetto di ricerca e sviluppo tecnologico denominato COSMFactory, finalizzato allo sviluppo di metodologie e strumenti per supportare le imprese nella realizzazione di progetti software in ‘cosourcing’.

Le attività del progetto.
Grazie al progetto COSMFactory, Herzum Software ha migliorato in modo significativo la sua capacità di supportare le aziende nello sviluppo dei loro progetti di sviluppo software con la moderna pratica del cosourcing e di offrire un servizio di nuova generazione quale esperto cosourcer, cioè fornitore di servizi di sviluppo software in modalità cosourcing.

Il ‘Cosourcing’ è un insieme di tecnologie e di best practice sia tecnologiche che di business, che possono essere utilizzate per migliorare l’efficienza ed abbassare i costi dello sviluppo di applicazioni software. Le buone pratiche includono soluzioni di tipo architetturale, organizzativo e metodologico e rispondo al problema diffuso di dover affidare a varie e diverse aziende parti specifiche dei progetti di sviluppo software. Ciò include un modo specifico di organizzare il lavoro in workpackages (WP) e di assegnare lo sviluppo di ogni WP o al reparto IT interno all’azienda o ad un fornitore esterno.
La tecnologia di supporto fornisce soluzioni tecnologiche specifiche e avanzate per permettere che la gestione di varie parti del processo di cosourcing diventi più efficiente, più trasparente e altamente tracciabile.

Il cosourcing, rispetto al tradizionale outsourcing, condivide lo stesso obiettivo di ridurre il costo dello sviluppo del software per un’azienda, ma nello stesso tempo ha l’obiettivo di mantenere all’interno dell’azienda il controllo sia del ciclo di vita dell’applicazione sviluppata che dell’intero suo portafolio di applicazioni IT. Per raggiungere questi obiettivi, la pratica del cosourcing per un’azienda ha necessità di processi ben definiti ed adeguati strumenti di supporto.

Grazie al progetto il “COSM”, l’approccio agile, a componenti, e centrato sulle architetture, che è stato usato dal gruppo Herzum in progetti ed organizzazioni di tutte le dimensioni, è stato esplicitato e migliorato, specialmente relativamente ai processi di cosourcing. In particolare sono stati definiti una strategia di gestione del cosourcing e strumenti studiati ad hoc per supportare un’azienda che voglia adottare l’outsourcing di grandi o piccole parti di sviluppo del proprio portfolio di applicazioni IT, allo scopo di ridurre i costi di gestione, pur mantenendo in casa il controllo e il know how sulle applicazioni complessive e sull’intero suo patrimonio di applicazioni software interoperanti.
Inoltre la Software Factory di Herzum Software (COSM Factory) per lo sviluppo di applicazioni SOA a componenti è stata ben definita ed arricchita con importanti funzionalità come: l’orchestrazione dei processi, una moderna tecnologia per l’interfaccia utente delle applicazioni, la possibilità di far evolvere l’ambiente di esecuzione dei componenti verso le attuali architetture di Cloud computing e la possibilità di erogare anche servizi di egovernment.

In particolare, Herzum Software ha migliorato COSM, il suo approccio globale allo sviluppo del software, introducendo ed integrando un insieme di pratiche di cousourcing. Inoltre, ha migliorato la sua piattaforma software COSM Factory, che permette lo sviluppo di applicazioni SOA a componenti sulle principali piattaforme esistenti (i.e., Java e Microsoft .NET), con funzionalità di supporto per tutto il ciclo di vita di un progetto in cosourcing, attraverso strumenti ed applicazioni specifiche che coprono tra l’altro la ‘richiesta di un preventivo’ ad un fornitore di tipo cosourcer, il ‘ciclo di vita di un progetto di sviluppo’ e le ‘operazioni di consegna, accettazione e fatturazione’.

Questi processi sono supportati da un portale web, detto portale di cosourcing, che è stato sviluppato come parte del progetto.

I principali processi di business sono stati modellati attraverso opportuni workflow facilmente personalizzabili, che permettono ad un’azienda di avere il controllo completo del suo processo di cosourcing. A titolo di esempio, il portale è in grado di: supportare l’organizzazione di un progetto in workpackage, che possono essere di qualunque dimensione, incluso i micro-progetti della durata di qualche giorno o settimana, associare ai workpackage feature, piani di test, schedulazione dei tempi, etc, gestire la richiesta di informazioni aggiuntive da parte del fornitore, sottomettere il codice, supportare l’attività di test, gestire i risultati dei test di integrazione, accettare o rifiutare il lavoro svolto; gestire la fatturazione del progetto.
Il portale di cosourcing si basa su un repository federato dove un utente può facilmente inserire e ritrovare qualunque prodotto del progetto: metadati (come feature, progettazioni, informazioni su interoperabilità, …), artefatti, deliverable di progetto, documenti manageriali (preventivi, contratti fatture, pianificazioni di progetto, …). Il portale di cosourcing si basa ed integra strumenti quali: issue tracking system, wiki e knowledgemanagement system (KMS), un source code management system, un single sign-on system, asset repository, continuos integration system e strumenti di orchestrazione.

COSMFactory, include il portale di cosourcing, ma aggiunge e si specializza sullo sviluppo del software basato su componenti, dove i componenti di business (i.e., business component o BC), possono essere sviluppati usando servizi che offrono funzionalità di base, quale sicurezza, persistenza, etc; o servizi ausiliari per orchestrazione di servizi, abilitare applicazioni al cloud computing, moderne interfacce utenti grafiche, proxy per abilitare l’eGovernement oppure eseguire su un ambiente di esecuzione indipendente dalla piattaforma tecnologia utilizzata (i.e., BC execution environment).

Vantaggi ed Aspetti Innovativi.
I vantaggi per il business, sia di tipo economico che organizzativo, sono rappresentati da un portale di cosourcing facilmente utilizzabile ed altamente personalizzabile. In generale, il cosourcing nello sviluppo di applicazioni software è una nuova tendenza di business per le aziende che vogliono ridurre il costo di sviluppo in IT, mantenere il pieno controllo del ciclo di vita dello sviluppo del loro software, ottimizzare la gestione del proprio portfolio IT.
Inoltre, gli approcci outsourcing tradizionali sono spesso ottimizzati per progetti medio/grandi. Il cosourcing, non solo apporta architetture e un insieme di pratiche moderne e agili al mondo dell’outsourcing, ma anche supporta micro-progetti (progetti che durano solo pochi giorni), facendone una soluzione perfetta per un più ampio insieme di aziende.
Per raggiungere questi obiettivi sono necessari processi ben definiti e strumenti di supporto specifici. Questo bisogno emergente, sia nel privato che nel pubblico, è stato affrontato dalla Herzum Software in questo progetto e sono state prodotte risposte innovative e cost-effective.