UNIVERSITÀ DEGLI STUDI DI PADOVA. Corso di Laurea Specialistica in Ingegneria Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DI PADOVA. Corso di Laurea Specialistica in Ingegneria Informatica"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI PADOVA Facoltà di Ingegneria dell'informazione Corso di Laurea Specialistica in Ingegneria Informatica Aree di misura ed Indicatori per l'applicazione open source Spago4Q: estrazione dei dati per il monitoraggio del processo di sviluppo del software Relatore: prof. Michele Moro Relatore Aziendale: dott. Davide Dalle Carbonare Laureando: Nicola Salier Anno Accademico

2 empty

3 empty Ai miei genitori

4 empty

5 Ringraziamenti empty Ringrazio i miei genitori, che in questi cinque anni hanno sempre cercato di aiutarmi in ogni momento. Li ringrazio per avermi sostenuto, aiutato, ascoltato, consigliato e per avermi concesso la loro ducia qualunque scelta facessi. Ringrazio Erika, mia sorella, che mi ha sempre aiutato in tutto, nel cammino universitario e in quello personale, e che inne, nonostante gli impegni di lavoro, ha saputo aiutarmi anche nella stesura di questa tesi. Ringrazio mia zia Amelia, che ha sempre pregato per me anché la vita mi sorridesse. E in qualche modo credo che lo stia facendo anche ora. Ringrazio la mia compagnia, per i weekend di svago trascorsi in questi ultimi anni, e le persone che hanno permesso che questa compagnia si formasse. Ringrazio Mitia, per la sua amicizia, i suoi consigli e il suo appoggio in ogni situazione. Ringrazio Gian, per tutti i momenti in cui mi ha aiutato e per quelli in cui mi ha saputo ascoltare, in un modo che nessuna Università ti può insegnare. Ringrazio i miei compagni d'appartamento, per avermi sopportato in questi anni di convivenza. Ringrazio Gabriele Ruatti per aver permesso che svolgessi lo stage che ha portato alla stesura di questa tesi, Davide Dalle Carbonare, che come relatore aziendale ha saputo dimostrarsi paziente in ogni situazione e si è sempre rivelato una presenza costante per aiutarmi durante lo svolgimento dello stage e nella stesura della tesi, Sergio Oltolina, che con la sua esperienza ha contribuito alla correzione dei contenuti di questa tesi, Nicola Bertazzo e tutti i ragazzi del gruppo Engineering. Ringrazio il prof. Michele Moro per la sua disponibilità e il supporto fornitomi in questi mesi.

6

7 Indice Sommario Introduzione 2 1 Engineering Ingegneria Informatica Divisione di mercato Scenario misure ed esigenze aziendali 11 3 Il processo di misura Il modello CMMI Spago4Q - Requisiti iniziali Requisiti Caratteristiche Contesto Infrastruttura di supporto Analisi metodologica degli strumenti di supporto Goal Question Metric Metriche e soglie per l'area Project Management Piattaforma e strumenti per lo sviluppo L'applicazione Spago4Q Componenti Meta-modello per la gestione dei KPI Meta-modello per gli estrattori

8 6.2 Strumenti per la gestione di progetto Microsoft Project Cardinis Ganttproject Microsoft Project Server Rappresentazione indicatori 57 8 Implementazione del sistema Analisi di Microsoft Project Web Services Costruzione estrattore Integrazione nell'ambiente Spago4Q Rappresentazione graca delle metriche Report Documenti KPI Conclusioni 97 A Codice sorgente 99 A.1 Estrattore A.2 Stubs Bibliograa 119

9 Sommario L'oggetto della tesi riguarda lo studio di metriche per il monitoraggio del processo di sviluppo del software attraverso la piattaforma software Spago4Q (SpagoBI for Quality). Con questo obiettivo è stata svolta un'attività di stage presso l'azienda Engineering S.p.A. durante la quale è stata estesa una soluzione open source esistente, fornendo un supporto per il software di project management Microsoft Project In particolare è stato implementato un estrattore dati che interfacciandosi con Project Server recupera le informazioni di interesse per il calcolo delle metriche e le veicola verso Spago4Q. Quest'ultima è una piattaforma per valutare l'adeguata maturità ed ecacia dei processi di sviluppo del software e dei prodotti realizzati. Attraverso l'uso di tecniche non invasive e indipendenti dall'ambiente adottato Spago4Q estrae i dati e analizza le misure raccolte, fornendo poi report graci utili alla valutazione del progresso di progetto. Tale sistema, che si appoggia all'infrastruttura di SpagoBI, un'altra soluzione open source, permette l'estensione delle proprie funzionalità da parte di sviluppatori esterni, impostando soltanto le linee guida che devono essere seguite, così da facilitare l'integrazione delle nuove parti con il sistema stesso. Una volta completata la costruzione della classe estrattore si è passati all'inserimento di questa nel sistema Spago4Q, attraverso la denizione dell'ambiente operativo necessario per il corretto popolamento del data warehouse aziendale. Inne, dai dati raccolti sono stati creati appositi documenti analitici che rappresentano le informazioni in una forma chiara e di rapida comprensione, utili alla valutazione dello stato di avanzamento del progetto e come supporto per l'individuazione delle azioni di miglioramento dei processi.

10 2

11 Introduzione L'azienda Engineering svolge da anni un ruolo leader nel campo dell'information technology (IT), attraverso lo sviluppo di prodotti software e come consulente strategico, proponendo soluzioni innovative e all'avanguardia per le piccole e medie imprese che vogliono migliorare i processi di sviluppo del software attraverso procedure organizzative complesse. In questo contesto, in cui si ricerca un incremento continuo della produttività, della qualità e dell'ecacia dei processi di sviluppo adottati, risulta evidente l'importanza della misurazione dei processi di produzione. Le varie fasi che portano al rilascio di un nuovo prodotto software sul mercato, infatti, devono essere monitorate costantemente, e i dati ottenuti attraverso l'analisi vanno mantenuti come fonte di informazione per i progetti successivi. In questo modo, basandosi sull'esperienza passata, i processi possono evolvere in modo da ottenere i risultati migliori. All'interno di questo ciclo di miglioramento si inserisce l'approccio di analisi e gestione della qualità SPI (Software Process Improvement) basato su framework di valutazione esterni, quali l'iso 9001:2000 o il CMMI. Tra i concetti che stanno alla base del CMMI, in particolare, vi sono cinque livelli di maturità che caratterizzano l'azienda in base alle capacità organizzative e produttive che dimostra. Inoltre il CMMI fornisce le linee guida che possono essere seguite al ne di migliorare la qualità globale e l'ecacia della prodotti realizzati. Spago4Q si inserisce in questo settore come piattaforma open-source per la valutazione della maturità e dell'ecacia dei processi di sviluppo del software. Implementato su un application server compatibile con la tecnologia Java, come ad esempio Apache Tomcat, Spago4Q, attraverso tecniche non invasive e indipendenti dagli strumenti utilizzati in fase di sviluppo, permette la raccolta di dati e la valutazione dei progressi in base 3

12 all'analisi degli indicatori di processo. Nell'infrastruttura che costituisce il sistema Spago4Q la parte iniziale del processo di analisi è costituita dagli estrattori di metriche. Questi componenti software, interfacciandosi direttamente con i software di gestione progetti utilizzati dai manager aziendali, ricavano i valori degli indicatori di interesse per l'azienda, li trasformano in base alle speciche degli strumenti analitici di Spago4Q e alimentano un data warehouse aziendale in cui sono conservati i dati storici ricavati da ogni progetto. L'argomento della tesi è centrato proprio sullo sviluppo di un estrattore dati per il software di project management Microsoft Project Tale estrattore è stato sviluppato utilizzando il linguaggio Java, in modo da garantire la massima compatibilità con la piattaforma Spago4Q. Inoltre è stato utilizzato Axis, estensione per la piattaforma Eclipse, che si è rivelato un notevole supporto nella creazione di client software per servizi web basati sul protocollo di comunicazione SOAP e le descrittori WSDL. La componente server del sistema Microsoft (Project Server 2007), infatti, integra un insieme di web services, ai quali è possibile accedere da postazioni remote, che forniscono delle funzionalità utili per il monitoraggio dei progetti e l'amministrazione delle risorse dell'organizzazione. Anche le procedure di autenticazione al sistema, necessaria per poter accedere al server e a tutti i servizi, sono comprese tra i servizi disponibili. Utilizzando i metodi messi a disposizione da alcuni di questi web services sono state estratte le informazioni relative ai progetti. I dataset ottenuti in questo modo, simili a documenti XML, sono stati analizzati e da questi sono stati ricavati soltanto gli indicatori di interesse, riguardanti la parte di gestione progetti del processo di sviluppo. Tali KPI (Key Process Indicator), dopo essere stati trasformati opportunamente e sottoposti al componente analitico di Spago4Q, sono stati memorizzati all'interno del data warehouse aziendale. Una volta completato il popolamento del data warehouse si è passati alla creazione dei documenti analitici e dei report graci, per rappresentare le informazioni estratte in una forma esplicativa e facilmente comprensibile, in modo da percepire immediatamente quale fosse lo stato di avanzamento dei progetti. Per la realizzazione di questi documenti è stato utilizzato il motore di reportistica JasperReports, integrato nello strumento di sviluppo ireport, 4

13 il quale mette a disposizione dell'utente un'interfaccia graca per la creazione del layout delle pagine. Inne i report sono stati integrati nella piattaforma Spago4Q, sono stati deniti gli indicatori, le soglie, l'ambiente di valutazione delle metriche, e sono stati costituiti i collegamenti tra questi elementi. Il risultato nale sono i documenti KPI, che comprendono un sistema di calcolo delle metriche per fornire le rappresentazioni grache corrette secondo le soglie di riferimento denite per ciascun indicatore. 5

14 6

15 Capitolo 1 Engineering Ingegneria Informatica Engineering è un player globale e il primo gruppo di system integration in Italia, leader nell'oerta integrata e completa lungo l'intera catena del valore del software: progettazione, sviluppo, servizi di outsourcing, prodotti e soluzioni verticali proprietarie, consulenza IT e strategica, su misura per i modelli di business dei clienti su tutti i mercati. Il gruppo Engineering opera con 7 business unit: Finance Pubblica Amministrazione Centrale Pubblica Amministrazione Locale Sanità Energy & Utilities Industria & Servizi Telecom supportate da 6 centri competenza trasversali rispetto alle business unit e ad elevata specializzazione e dalla Direzione Ricerca e Innovazione che ha il 7

16 Figura 1.1: L'approccio al mercato doppio ruolo di promuovere la ricerca sul software a livello internazionale e trasferire l'innovazione al ciclo produttivo delle strutture di business. Come certicazione di qualità Engineering è stata tra le prime società in Italia ad adottare agli inizi degli anni '90 la certicazione dei processi di produzione a norma ISO Dal 1996 la società ha adottato la certicazione AQAP 2110/160, standard NATO. Nell'ambito dello sviluppo software il gruppo detiene la certicazione al livello 3 secondo il modello CMMI (Capability Maturity Model Integration, version 1.2). Inne la sede di Pont Saint Martin del Gruppo, che ospita il data center, possiede dal 2006 la certicazione ISO 27001:2005 per i sistemi di gestione della sicurezza nelle tecnologie dell'informazione. 1.1 Divisione di mercato Il Gruppo ha un'organizzazione per divisioni di mercato specializzate nell'offering verticale e società operative autonome secondo gli obiettivi aziendali e diversicate per linee di competenza. All'interno della società si possono identicare diversi centri di competenza: SAP 8

17 Pont St. Martin, un centro europeo di managed operations Enterprise Content Management Automazione e Controlli Sicurezza Open Source e Business Intelligence In particolare è attraverso la collaborazione con il centro Open Source e Business Intelligence che si è svolto il lavoro esposto in questa tesi. Le principali competenze oerte dal Centro sono legate all'iniziativa SpagoWorld ( che conta circa 20 progettisti e sviluppatori di Engineering attivi, nonché allo sviluppo di componenti e soluzioni open source, anche in ambito Business Intelligence ( a competenze speciche in ambito SOA/BPM, Enterprise Portals e Enterprise Content Management. Completano il quadro le competenze derivanti dalla gestione di comunità globali (quali Consorzio OW2, QualiPSo, NESSI OS Working Group, SpagoWorld), dalla contribuzione a progetti open source quali Eclipse STP/Intermediate Model, Apache ServiceMix, exo platform, Mondrian, Harvard JHOVE e dallo sviluppo di soluzioni infrastrutturali che applicative basate su Java EE, RedHat Enterprise Linux, Suse Novell Linux, JBoss AS, JOnAS, Ingres, Liferay, exo, JetSpeed, PHPNuke, Alfresco, Struts, Spring, JSF, ServiceMix, PEtALS, Lucene, Carrot2, CAS, OFBiz, OLAT, Talend, JasperSoft. La divisione di mercato che si occupa di Ricerca e Innovazione ha un doppio ruolo all'interno del ciclo produttivo del gruppo Engineering. Le risorse sviluppano innovazione e grazie alle sinergie operative con le business unit di mercato trasferiscono i risultati della ricerca nella fase progettuale verso i clienti, generando valore e nuove opportunità per le strategie ed i modelli di business richiesti dal mercato. La Direzione Ricerca e Innovazione ha denito una strategia di approccio fondata sull'utilizzo, la realizzazione e l'integrazione di soluzioni open source come opportunità di business e tecnologiche nell'oerta ai clienti. Per questo è strettamente correlata al centro di competenza Open Source e Business Intelligence anche attraverso la promozione e il supporto alle soluzioni 9

18 Figura 1.2: Il ruolo della Direzione Ricerca & Innovazione gestionali raccolte sotto il brand SpagoWorld, utilizzate in Italia e all'estero come piattaforma di riferimento per lo sviluppo di applicazioni in progetti per Pubblica Amministrazione, Finanza e Industria. 10

19 Capitolo 2 Scenario misure ed esigenze aziendali All'interno di un'azienda come Engineering la problematica della misurazione del processo di produzione del software assume un'importanza rilevante al ne di migliorare l'ecacia degli strumenti di pianicazione e controllo, e per questo è necessario applicare un ciclo di miglioramento continuo che favorisca l'incremento della qualità, della produttività e allo stesso tempo riduca i tempi di sviluppo. Un processo di sviluppo software per un'organizzazione IT è un insieme di processi che prevedono l'esecuzione delle diverse attività coinvolte nella realizzazione di un sistema software, processi che includono la conoscenza di cosa è accaduto in seguito allo sviluppo di precedenti progetti e quindi le informazioni o le consuetudini che hanno portato al successo e/o che consentono di evitare gli errori connessi alle attività di realizzazione. La caratteristica di tali processi è di evolvere nel tempo come conseguenza dell'evoluzione della tecnologia, della conoscenza, delle capacità delle persone e, in generale, di altre modiche di contesto (esigenze del mercato, altri attori coinvolti, ecc.). Sulla base della conoscenza e dell'esperienza i processi possono, o meglio, devono, essere messi a punto per consentire di ottenere i risultati migliori; questa messa a punto è ciò che costituisce il Software Process Improvement (SPI - miglioramento dei processi software). Poiché, per migliorare, un'organizzazione ha bisogno di: 11

20 conoscere la propria situazione attuale poter riutilizzare le conoscenze acquisite sul processo si rende evidente la necessità di stabilire un processo di produzione, tenerlo sotto controllo e raccogliere delle misure in modo da vericare il raggiungimento di alcuni obiettivi quanticabili. Tale attività di misura deve però essere adattata a diversi fattori, tra i quali il contesto, gli obiettivi preposti e chi ne utilizza i risultati. Ne consegue quindi che per aumentare la propria competitività un'azienda di produzione del software debba passare attraverso il miglioramento del suo processo di sviluppo e che quest'ultimo vada perfezionato in maniera incrementale e continua. Figura 2.1: Ciclo di miglioramento aziendale Il ciclo di miglioramento inizia con la caratterizzazione dell'azienda, dei suoi modelli di sviluppo e di obiettivi misurabili utili alla successiva valutazione di sistema. Per ogni singolo progetto si prosegue con: caratterizzazione e denizione di obiettivi misurabili in modo da individuare le opportune caratteristiche che consentano di classicarlo e raccogliere dati utilizzabili come feedback 12

21 scelta di un modello per il processo di sviluppo e di metodi, tecniche e strumenti utili per la sua denizione all'interno dei modelli di sviluppo aziendali esecuzione del processo di sviluppo con conseguente realizzazione del prodotto e parallela raccolta dei dati (di processo e di prodotto) richiesti dagli obiettivi ssati, dati che attraverso un'analisi in tempo reale forniscono immediati feedback al processo. Successivamente si torna a livello dell'azienda per un'analisi dei dati raccolti al ne di valutare i modelli scelti. Attraverso l'immissione di tali dati all'interno di un database aziendale è inoltre possibile consolidare la conoscenza acquisita in modo da riutilizzarla per successive correzioni dei modelli. Si possono individuare due diversi approcci di SPI: vengono analizzati i processi eettivamente praticati nell'organizzazione che vengono migliorati in funzione della distanza individuata rispetto agli obiettivi ssati. SPI interno: framework based SPI: viene utilizzato un framework esterno rispetto al quale analizzare i processi aziendali e che consente di individuare le azioni da intraprendere nel programma di miglioramento. I framework più utilizzati, già deniti anche come sistemi di conformità ad un insieme di regole, sono l'iso 9001:2000 ed il Capability Maturity Model Integration(CMMI). Mentre il primo denisce principalmente uno stadio qualitativo cui tendere, il secondo indica anche i passi del percorso di miglioramento da intraprendere per raggiungere il risultato ssato. Nel caso si decida di utilizzare un framework esterno è necessario utilizzarlo al meglio piuttosto che modicarlo. È inoltre fondamentale individuare misure semplici da raccogliere e che forniscano un immediato valore alla gestione del progetto, sia perché vi sia un incentivo alla loro raccolta sia perché un primo miglioramento sia visibile da subito. Engineering, che ha da tempo sviluppato un proprio Sistema di Qualità che presuppone la standardizzazione dei processi di sviluppo software, ha adottato l'approccio framework based, consolidandolo nelle diverse certicazioni 13

22 ottenute in ambito ISO 9001:2000 e NATO AQAP 110 e 150. Oggi ha individuato la certicazione secondo lo standard CMMI come elemento di ulteriore qualicazione e dierenziazione rispetto ad un mercato sempre più competitivo, dove è necessario emergere puntando sulla qualità dei propri prodotti piuttosto che sulla quantità: con questo obiettivo, ha rivisto il proprio Sistema di Qualità rendendolo ancora più adattabile alle mutate esigenze del mercato. 14

23 Capitolo 3 Il processo di misura Per realizzare il ciclo di miglioramento dei processi aziendali è necessario avviare un processo di misura la cui generica rappresentazione è la seguente: Figura 3.1: Processo di misura Le attività rappresentate in gura 3.1 che caratterizzano il processo di misura sono: 15

24 Pianicazione: comprende la denizione degli obiettivi di misura e la denizione di procedure organizzative e tools di infrastruttura che rendano possibile la raccolta dei dati. Realizzazione: comprende l'esecuzione del processo a cui segue la raccolta dei dati, la storicizzazione in un database aziendale e l'analisi dei dati raccolti. Miglioramento: comprende la valutazione delle misure associate agli obiettivi e l'attivazione delle azioni correttive necessarie al miglioramento del processo analizzato. Tale rappresentazione è anche allineata con quanto richiesto dai framework di qualità CMMI. 3.1 Il modello CMMI CMMI (Capability Maturity Model Integration) è un modello dei processi che possono essere utilizzati per l'acquisizione, lo sviluppo e la manutenzione di prodotti software, e per l'erogazione di servizi. È l'evoluzione del CMM for Software, pubblicato la prima volta nel 1993 dal SEI, Software Engineering Institute della Carnegie Mellon University, Pittsburgh, USA, che lo ha realizzato su richiesta del DOD (Dept. Of Defense, USA). Nella versione attuale integra e completa tre precedenti e distinti modelli: 1. Capability Maturity Model for Software (SW-CMM) v2.0 draft C [SEI 1997] 2. Systems Engineering Capability Model (SECM) [EIA 1998] 3. Integrated Product Development Capability Maturity Model (IPD- CMM)v0.98 [SEI1997a] CMMI è un insieme di regole ben denite e di best practices, utilizzabili per scopi diversi: dall'azienda, per denire una linea guida di modalità operative e/o per migliorare la ecienza ed ecacia dei propri processi lavorativi, dal Cliente per valutare la capacità potenziale di un fornitore di rispettare dei requisiti. Alla base del modello sono alcuni concetti chiave: 16

25 Process Area: insieme di attività e procedure tra loro correlate, eseguite collettivamente per raggiungere un obiettivo specico. Ogni Process Area comprende: degli obiettivi di processo (goals), specici e generali, da soddisfare; delle practices associate ai propri goals, cioè le attività che devono essere eseguite per raggiungere tali goals. Process Capability: è la capacità di uno specico processo di assicurare con continuità ed adabilità il livello di qualità atteso nei prodotti in uscita. Il livello di capability di un processo corrisponde: al grado di accuratezza con il quale in una organizzazione quel processo viene denito e poi messo in atto, controllato e misurato nella sua ecienza ed ecacia (capacità di produrre software con caratteristiche conformi alle aspettative); al livello di padronanza del processo nella organizzazione, al livello con cui questa padronanza è diusa e consolidata e permette di predire con adabilità il risultato del processo lavorativo. Maturity Level: La maturità di una organizzazione è il livello di capability raggiunto in un insieme predenito di processi. Nel CMMI non vengono considerati, al ne di determinare il livello di maturità complessivo dell'organizzazione, tutti i possibili processi che possono fare parte di una comune metodologia di sviluppo e gestione del software, ma solo alcuni di essi, considerati chiave ai ni del poter esprimere un giudizio sulla capacità lavorativa dell'organizzazione. I livelli di maturità deniti dal CMMI sono 5 (vedi gura 3.2). Ogni livello rappresenta uno stato di maturità raggiunto dalla organizzazione, che corrisponde alla capacità di attuare in modo controllato determinate pratiche. Process Performance: si intende la misura dei risultati eettivamente raggiunti attuando un determinato processo in uno specico progetto, rilevati a consuntivo. Le performances di una organizzazione in uno speci- 17

26 co progetto possono non rappresentare quelle potenzialmente raggiungibili dalla stessa organizzazione (la capability), in quanto il progetto può avere, ad esempio, dei vincoli di contesto che limitano le capacità dell'organizzazione (budget, risorse, obiettivi). Figura 3.2: La scala di maturità di una organizzazione Il CMMI propone due possibilità di rappresentazione della qualità dei processi: continuous e staged. Il modello continuous (continuo) descrive un processo in due dimensioni. Ciascuna area del processo viene valutata formalmente rispetto a una serie di obiettivi e pratiche sulla base di 6 livelli di capacità dell'organizzazione. La rappresentazione staged (a fasi) è quella adottata da Engineering: valuta il livello di maturità complessivo di un'organizzazione, calcolato sulla base della sua capacità di gestire un insieme di processi (le 25 process areas del modello). Le caratteristiche dei due approcci sono presentate comparativamente nella Tabella 3.1: 18

27 Rappresentazione a fasi Le aree di processo sono organizzate per maturity levels I progressi sono misurati utilizzando i maturity levels. I maturity levels: misurano l'istituzionalizzazione di un insieme di processi nell'intera azienda; vanno da 1 a 5 Rappresentazione Continua Le aree di processo sono organizzate per categorie I progressi sono misurati utilizzando i capability levels. I capability levels: misurano l'istituzionalizzazione di un particolare processo nell'intera azienda; vanno da 0 a 5 C'è solo un tipo di procedure speciche; non è utilizzato il concetto di procedure base e avanzate. Sono utilizzate tutte le procedure speciche, eccetto quando, nella rappresentazione continua, compare la coppia procedure base-avanzate, nel qual caso sono utilizzate solo quelle avanzate Per organizzare le procedure generiche sono utilizzate le Common Features Solo a livello 2 e 3 sono utilizzate le procedure generiche Ci sono due tipi di procedure speciche: base ed avanzate. Sono utilizzate tutte le procedure speciche I capability levels sono utilizzati per organizzare le procedure generiche Tutte le procedure generiche sono incluse in ogni area di processo Tabella 3.1: Confronto tra rappresentazioni del CMMI I livelli del modello staged sono: Livello 1 (Iniziale) - i processi non sono predeniti e i risultati non sono prevedibili. Il processo di produzione è instabile e disorganizzato, implicitamente denito di volta in volta da chi lo realizza, il usso delle attività è caotico. Solo l'eroismo delle singole persone è in grado di portare al successo i progetti Livello 2 (Gestito) - rappresenta un processo di produzione caratterizzato da performance ripetibili. Il processo di produzione è preventivamente pianicato, realizzato, monitorato, e controllato rispetto ad obiettivi di business predeniti 19

28 Livello 3 (Denito) - il lavoro è eettuato applicando processi 'standardizzati' dell'azienda. Il processo di produzione è fondato su ben denite metodologie, tecniche e tecnologie, sia per ciò che riguarda gli aspetti gestionali che per ciò che riguarda gli aspetti operativi; esiste un unico modello di riferimento per l'organizzazione, la gestione e la realizzazione di progetti Livello 4 (Gestito quantitativamente) - Il processo viene controllato usando tecniche quantitative e statistiche. Gli obiettivi di business dell'organizzazione sono controllati attraverso una loro comprensione in termini statistici Livello 5 (Ottimizzato) - è istituzionalizzata una politica di gestione della qualità, ovvero l'uso di metodi quantitativi, fondati su dati e misure ottenute per feedback dai processi realizzati, per il miglioramento del processo stesso, anche attraverso l'introduzione controllata di nuove metodologie, tecniche e tecnologie Figura 3.3: L'architettura del modello CMMI (Staged) 20

29 Capitolo 4 Spago4Q - Requisiti iniziali Spago4Q è un sistema per il miglioramento del processo di sviluppo Engineering con attività di raccolta dati e misura attraverso tecniche non invasive rispetto ai metodi e tools utilizzati in sede di sviluppo, che consentano di ottenere nel tempo l'adeguata maturità dei processi di sviluppo. Il sistema è stato costruito in modo da risultare estremamente essibile, reattivo ed adattabile a diversi contesti organizzativi. Inoltre la soluzione può essere diusa, in quanto distribuita come open source secondo la licenza GNU LGPL. In questo modo, grazie alla libertà di utilizzo che viene oerta, possano usufruirne anche le piccole medie imprese, che incontrano dicoltà nel dotarsi di procedure organizzative complete e metodi sosticati di misura. 4.1 Requisiti La soluzione individuata si basa su alcuni requisiti che, come si vedrà anche in seguito, possono essere soddisfatti con soluzioni facilmente adattabili a diversi contesti organizzativi e di progetto. In particolare i requisiti che una soluzione come Spago4Q deve rispettare sono: non è vincolante il tipo di processo di sviluppo adottato il processo di sviluppo deve essere supportato in tutte le fasi da tools i tools devono essere standard, ossia devono fornire un insieme di caratteristiche adeguate ad uno specico compito 21

30 la raccolta dei dati deve essere automatica, non invasiva e deve agire in background il tipo, numero e frequenza di raccolta dati deve essere congurabile. Elemento innovativo Innovazione proposta Vantaggi Soluzione adattabile a diversi contesti organizzativi Modello organizzativo di supporto essibile norme dierenziate per ambito progettuale scelta del tool di supporto più adatto Soluzione non invasiva Operatività in background con sistema ad elevata congurabilità Estensione a sistemi complessi di valutazione Modellazione predisposta per un'estensione verso un sistema di valutazione e calibratura complesso Processo di sviluppo Processo di sviluppo EwebMO, evolutivo/incrementale a pratiche agili) non si interferisce nel normale lavoro delle persone, né si chiede un loro intervento maggiore adabilità (integrità e correttezza) dei dati rilevati utilizzo delle misure per la calibratura dei parametri di supporto ai modelli aziendali attenzione ai requisiti del sistema adattamento continuo delle features del prodotto agli obiettivi di business elevata qualità della soluzione Tabella 4.1: Aspetti innovativi di Spago4Q Come mostrato nella tabella 4.1 gli elementi innovativi introdotti dalla soluzione Spago4Q riguardano essenzialmente: elevata adattabilità a diversi contesti organizzativi: la necessità di essere fortemente essibile rispetto alle esigenze e reattiva ai cambiamenti spinge Spago4Q ad appoggiarsi ad un modello organizzativo di supporto in cui le procedure organizzative siano dierenziate per ambito progettuale e sia fornita un'ampia disponibilità di tools di supporto che consentano la scelta del tool più adatto. non invasività della soluzione: Spago4Q reperisce le misure di riferimento del processo di sviluppo con azione diretta sui data base di supporto dei vari servizi oerti dai tools di sviluppo (data base di progetto) 22

31 senza interferire nel normale lavoro delle persone, né richiedere un loro intervento. Tali informazioni vengono estratte ad intervalli temporali deniti e ltrate in modo da garantire gli aspetti legati alla privacy (tecniche di ltering, replacement e data obfuscation). È garantita anche la sicurezza nell'accesso ai dati raccolti, grazie sia alla protezione intrinseca nella Intranet aziendale sia alla presenza di un servizio di Identity&Access Management al ne di assicurare che chiunque acceda ai dati sia precisamente autenticato ed autorizzato. estendibilità a sistemi complessi di valutazione: Spago4Q permette una agevole estensione ad un sistema di valutazione completo che attraverso la denizione di un data model di processo, la costruzione di procedure ETL (Extract, Transform and Load) e opportuni sistemi di regole, consenta l'inserimento dei dati in un data-mart da cui procedere ad eettuare le diverse analisi, tra cui, appunto, la calibratura dei parametri aziendali. processo di sviluppo: l'approccio utilizzato in fase di sviluppo è di tipo evolutivo/incrementale. In questo modo, attraverso l'uso di pratiche agili, è possibile garantire attenzione sui requisiti di sistema, un adattamento continuo delle caratteristiche del prodotto a quelli che sono gli obiettivi di business nonché un'elevata qualità della soluzione. 4.2 Caratteristiche Vedremo ora come Spago4Q soddisfa i requisiti per rappresentare una soluzione ecace anche presso altre realtà aziendali. Prescrittività: la forza di tutte le organizzazioni che operano nel mercato del software risiede nella loro essibilità ed in particolare nella capacità di adattare e modicare i propri processi alla mutevole realtà dei mercati moderni. Se un certo livello di prescrittività è un vantaggio in quanto semplica l'analisi dei requisiti e standardizza i processi favorendone la razionalizzazione e la gestione, quando viene inserita in un contesto esistente rischia di introdurre rigidità nel sistema con la conseguenza di 23

32 una minore reattività all'evolvere delle esigenze del mercato; nel caso dell'inserimento in un nuovo contesto invece può richiedere profonde mutazioni nel tessuto organizzativo aziendale che potrebbero produrre fallimentari implementazioni della sistema, e quando pure tale processo abbia successo, può far perdere parte della essibilità aziendale come nel caso precedente. Le procedure organizzative di supporto a Spago4Q devono pertanto adeguarsi alla struttura ed organizzazione dell'azienda rinunciando, in parte, alla propria prescrittività, e garantendo di contro una maggiore essibilità ed adattabilità alla realtà aziendale. Questo è assicurato dall'uso di procedure a bassa prescrittività, modelli e pratiche di supporto e dalla presenza di una varietà di processi di riferimento contestualizzabili. Modicabilità: il processo produttivo e quindi tutti i suoi sistemi di supporto devono tenere conto della essibilità intrinseca di una azienda di sviluppo software e deve essere pronto ad adattarsi ai cambiamenti aziendali. Per questo la progettazione del sistema è orientata agli oggetti ed utilizza un database di supporto volto a facilitare la raccolta e la distribuzione delle informazioni sul sistema stesso. 4.3 Contesto Il contesto aziendale in cui si inserisce Spago4Q, rappresentato in gura 4.1, è essenzialmente costituito da: Procedure (organizzative e tecniche) e strumenti a supporto dello sviluppo: in sintesi, strumenti e mezzi che a partire da una metodologia individuano un processo di sviluppo; Il processo di sviluppo, che coinvolge, oltre a quanto sopra individuato, le persone che realizzano il software le quali introducono nello sviluppo l'uso di strumenti di produttività individuale; Il Data Base di progetto, che contiene tutti i semi-lavorati ed i deliverables (più in generale, gli artifacts), sia di tipo documentale che 24

33 di tipo software (questi ultimi generalmente governati dai sistemi di congurazione); Il Repository aziendale che, mediante operazioni di ltraggio, preleva dai DB di progetto le informazioni rilevanti per l'azienda; L'aggiornamento dei parametri aziendali (processo di calibratura) a supporto della messa a punto delle procedure e tools di supporto (per esemplicazione, si pensi alla calibratura dei parametri di supporto al modello algoritmico di stima, quali fattori di costo e fattori di scala). Figura 4.1: Il contesto di Spago4Q 4.4 Infrastruttura di supporto Spago4Q, nato come verticalizzazione di SpagoBi, si appoggia all'implementazione di quest'ultimo estendendolo con un sistema di valutazione della qualità per i processi di sviluppo. SpagoBI, piattaforma open source per lo sviluppo di progetti di business intelligence, fonda la sua architettura sul framework Spago. Quest'ultimo costituisce un'infrastruttura software riutilizzabile, che permette l'erogazione di servizi applicativi multicanale e 25

34 l'integrazione su un vasto panorama di piattaforme che supportano la tecnologia Java. Spago implementa il pattern architetturale MVC (Model- View-Controller), rappresentato schematicamente in gura 4.4, nel quale: Figura 4.2: Struttura del pattern MVC il model fornisce i metodi per accedere ai dati utili all'applicazione il view fornisce l'interfaccia graca per l'utente in cui rappresentare i dati contenuti nel model il controller riceve i comandi dell'utente (in genere attraverso il view) e li attua modicando lo stato degli altri due componenti Dalla descrizione del paradigma si può dedurre la netta suddivisione dei settori di cui si occupano le componenti, tra layer di pubblicazione (view), logica applicativa (controller) e accesso ai dati (model). L'utilizzo di un adapter permette l'implementazione di servizi applicativi in modo indipendente dal canale su cui verranno erogati. Per questo è possibile erogare servizi su diversi canali (HTTP, WAP, Portlet) e tramite diversi protocolli (HTTP, SOAP, EJB, JMS, JBI). Viene inoltre introdotto il concetto di pagina come composizione logica di moduli, in cui diversi oggetti cooperano per soddisfare la richiesta di un servizio. Spago consente di pubblicare i servizi all'interno di soluzioni di portale aderenti allo standard JSR 168 Portlet Specication, dove si denisce il portale come una applicazione web-based che comunemente fornisce servizi di personalizzazione, Single Sign On, aggregazione e presentazione di contenuti provenienti da dierenti tipi di sorgenti e servizi. A dierenza della classica applicazione web, le pagine del portale pubblicano dinamicamente ed in modo autonomo frammenti dierenti di contenuti. Ogni frammento identica un servizio specico. I componenti che hanno l'incarico di gestire queste parti di pagina sono le portlet coordinate dal Portlet Container. In pratica, mentre una applicazione web denisce al suo interno la modalità di presentazione dell'intera pagina, la sicurezza ed altri aspetti applicativi, un 26

35 servizio del portale, attraverso la portlet, si occupa unicamente di pubblicare e gestire un frammento di informazione e lascia all'infrastruttura del portale l'incarico di gestire la presentazione delle pagine, il layout, la navigazione tra le pagine, le policy di sicurezza, l'amministrazione, ecc. Anche per la gestione delle credenziali di accesso relative alla sicurezza Spago si appoggia a sistemi esterni, come LDAP, database o XML. 27

36 28

37 Capitolo 5 Analisi metodologica degli strumenti di supporto Il metodo che l'azienda Engineering utilizza per l'analisi di nuovi indicatori si basa sull'approccio GQM (Goal Question Metric) associato alle speciche del modello CMMI. Il processo seguito consiste in una valutazione degli obiettivi principali per l'interesse dell'azienda attraverso le domande generate nella fase di GQM, successivamente i risultati ottenuti vengono valutati insieme alle pratiche presenti nel modello CMMI e vengono mantenuti soltanto gli indicatori comuni ai due approcci. 5.1 Goal Question Metric L'approccio GQM, acronimo per Goal Question Metric, si basa sull'assunzione che per eettuare delle misurazioni un'azienda abbia ben chiaro quali sono gli obiettivi che vuole raggiungere con un progetto; devono poi essere identicati i dati che possono aiutare a denire operativamente tali obiettivi e quindi un'infrastruttura adeguata ad interpretare i dati nel rispetto degli obiettivi pressati. A questo scopo è necessario capire quali siano le informazioni che servono all'azienda, quanticarle il più possibile e in base ai valori ottenuti determinare se gli obiettivi che ci si era posti nella prima fase sono stati raggiunti oppure no. Il risultato che si ottiene dall'applicazione dell'approccio GQM è un sistema di misura che punta ad un particolare in- 29

38 sieme di caratteristiche e regole per l'interpretazione dei dati valutati durante lo sviluppo di un progetto. Il modello di misura così ottenuto è caratterizzato da tre livelli: 1. Livello concettuale (GOAL): l'obiettivo (il goal) è denito per un oggetto in relazione a ad un determinato modello di qualità, a diversi punti di vista e ad un particolare ambiente di sviluppo. Gli oggetti di cui ci interessa calcolare le misure possono essere i prodotti, i processi di sviluppo oppure le risorse dell'organizzazione. 2. Livello operativo (QUESTION): a questo livello viene formulato un insieme di domande per denire le modalità di raggiungimento dell'obiettivo secondo uno specico modello; inoltre le domande devono caratterizzare l'oggetto da misurare in base allo specico risultato qualitativo che si vuole ottenere. 3. Livello quantitativo (METRIC): ad ogni domanda viene associato un insieme di dati quanticabili in modo da determinare il corretto raggiungimento dell'obiettivo. Questi dati possono essere oggettivi, se dipendono soltanto dall'oggetto considerato e non dal punto di vista dal quale sono estratte le misure, oppure soggettivi, se dipendono invece sia dall'oggetto che dal punto di vista considerato. Figura 5.1: Gerarchia GQM Come mostrato in gura 5.1 la struttura dell'approccio GQM è gerarchica. Comincia con un obiettivo, che per ogni misurazione denisce gli oggetti, le caratteristiche e il punto di vista da considerare. L'obiettivo è poi dettagliato attraverso alcune domande che deniscono anche le caratteristiche 30

39 più rilevanti dell'oggetto nito. Inne ad ogni domanda sono associate delle metriche, sia oggettive che soggettive, che possono rispondere a più di una domanda. All'interno di Engineering gli obiettivi da raggiungere sono suddivisi per ogni fase del processo di sviluppo del software, e ad ognuno di questi sono associate una serie di domande che permettono di valutare lo stato del progetto. Successivamente verrà considerato un esempio (fornito da Engineering stessa) per comprendere meglio la struttura di un documento GQM vero e proprio. Gli obiettivi preposti si riferiscono alle seguenti aree del processo di sviluppo: Gestione progetti L'obiettivo principale è riuscire a valutare il rendimento del progetto, sia in termini di ecienza temporale che di costi sostenuti durante il processo di sviluppo. Inoltre per garantire un controllo più dettagliato sulle singole fasi si vogliono ottenere dei consuntivi al raggiungimento di ogni milestone che riportino il peso di tale fase sul progetto complessivo. Rischi Per questa fase si vuole determinare quali siano i rischi maggiori legati ai requisiti del prodotto nale, quindi è necessario determinare quali requisiti sono stabili e quali invece possono variare nell'arco del processo di sviluppo. Inoltre è importante individuare la distribuzione dei requisiti sia in base alla categoria a cui appartengono, sia alla priorità che al loro stato. Bug Test Gli errori al software possono rappresentare una grave perdita per un'organizzazione, per questo è importante controllarne la distribuzione nel codice, l'entità del danno che causano, quali costi deve sostenere l'organizzazione per risolverli e quanto è ecace il processo di risoluzione dei bug. L'obiettivo in questa fase è valutare l'ecacia della fase di test, ossia quanti bachi vengono individuati prima del rilascio del prodotto. 31

40 Inoltre si vuole controllare che impatto abbiano i casi d'uso relativi a progetti precedenti in questa fase dello sviluppo. 5.2 Metriche e soglie per l'area Project Management Come già visto il paradigma GQM da solo non consente di denire i passi da attuare in un processo di valutazione della qualità dei progetti, ma concentra l'attenzione sugli obiettivi che si pone l'azienda e alla suddivisione di questi nelle varie fasi operative. CMMI fornisce un valido supporto nella denizione delle linee guida per le modalità operative e per il miglioramento dell'ecienza e dell'ecacia dei processi lavorativi. Come mostrato in gura 3.3 (nel paragrafo 3.1 Il modello CMMI), il CMMI denisce ciascuna area del processo in termini di obiettivi specici e delle relative pratiche speciche. Gli obiettivi specici stabiliscono le caratteristiche necessarie per garantire l'ecacia delle attività coinvolte in un'area del processo. Le pratiche speci- che ranano un obiettivo per denire un insieme di attività correlate al processo. Dall'analisi delle speciche del CMMI sono stati quindi estratte le informazioni riguardo le pratiche degli ambiti di maggior interesse per l'azienda e gli obiettivi risultanti dall'approccio GQM sono stati collegati a queste procedure operative. Nella tabella seguente sono riassunti i risultati dell'approccio GQM collegato alle corrispondenti aree di processo e pratiche nel CMMI. Codice Nome Descrizione KPI Process Area Practice Project Management PM-G1 Performance di progetto Monitoraggio costi e schedulazione del progetto Valutazione PM-Q1.1 Qual'è l'ecienza della schedulazione sul progetto? PM-M1.1.1 SPI schedule performance index PM-Q1.2 Qual'è l'ecienza dei costi sul progetto? dell'ecienza della schedulazione sul progetto Misura l'ecienza della schedulazione su un progetto Valutazione dell'ecienza dei costi sul progetto PM-KPI-1 PMC SP

41 PM-M1.2.1 PM-Q1.3 CPI cost performance index Il progetto procede come pianicato? Misura l'ecienza dei costi su un progetto Valutazione delle performance del progetto PM-M1.3.1 EV earned value Misura le performance del progetto (include tutte le metriche legate all'ev - AC, PV, EAC, ETC, CV, SV) PM-Q1.4 Quali sono i compiti completati? Valutazione delle milestones completate PM-M1.4.1 Milestones completate Misura delle milestones completate (in anticipo o in ritardo) PM-G2 Ecienza della fase di progetto PM-Q2.1 Qual'è l'impatto della fase sul progetto? Monitoraggio costi ed eort per ogni fase del progetto Valutazione dell'impatto della fase sul progetto PM-M2.1.1 Costo della fase Rapporto tra il costo della singola fase e il costo totale del progetto PM-Q2.2 PM-M2.2.1 PM-Q2.3 PM-M2.3.1 Qual'è l'ecienza dei costi per ogni fase sul progetto? Ecienza del costo della fase Qual'è l'ecienza dell'effort per ogni fase? Ecienza dell'eort per la fase Valutazione dell'ecienza dei costi di ogni fase Rapporto tra il costo attuale della fase e quello pianicato Valutazione dell'ecienza dell'eort per ciascuna fase Rapporto tra l'eort attuale della fase e quello pianicato PM-KPI-2 PMC SP 1.1 PM-KPI-3 PMC GP 2.8 PM-KPI-4 PMC GP 2.8 PMC GP 2.8 PMC GP 2.8 PMC GP 2.8 Requisiti REQ-G1 Valutazione dei rischi nella fase di analisi dei requisiti REQ-Q1.1 Quanti requisiti sono stabili o variabili? REQ-M1.1.1 Variabilità dei requisiti Tasso di variabilità dei requisiti REQ-VAR REQM SP 1.3 REQ-G2 Monitoraggio della distribuzione dei requisiti per categoria e priorità REQ-Q2.1 Quanti requisiti funzionali ci sono? Requisiti di interfaccia? Di prestazioni? REQ-M2.1.1 Tasso di requisiti per categoria REQ-CAT RD SP 2.3 REQ-Q2.2 Quanti requisiti ad alta (media, bassa,...) priorità ci sono? REQ-M2.2.1 Requisiti per priorità REQ-PRI RD GP 2.8 REQ-G3 Monitoraggio della distribuzione dei requisiti per stato REQ-Q3.1 Quanti requisiti sono stati modicati? REQ-M3.1.1 Tasso di distribuzione dei requisiti modicati REQ-DET RD GP

42 REQ-Q3.2 Quanti requisiti sono stati cancellati? REQ-M3.2.1 Tasso di distribuzione dei REQ-DET RD GP 2.8 requisiti cancellati REQ-Q3.3 Quanti nuovi requisiti ci sono? REQ-M3.3.1 Tasso di distribuzione dei REQ-DET RD GP 2.8 nuovi requisiti REQ-G4 Monitoraggio dei progressi del lavoro REQ-Q4.1 Quanti requisiti devono ancora essere completati? REQ-M4.1.1 Requisiti da completare Tasso requisiti da completare REQ-CMP RD GP 2.8 BUG-G1 Ecacia del processo di risoluzione dei bug BUG-Q1.1 Qual'è l'andamento del processo di risoluzione? (Le soglie sono derivate da progetti simili) BUG-M1.1.1 Tasso di risoluzione dei bug BUG-Q1.2 Quanto tempo è richiesto per risolvere i bug bloccanti (critici, maggiori, minori)? BUG-M1.2.1 Tempo di risoluzione dei bug (per gravità) BUG-G2 Monitoraggio della distribuzione dei bug BUG-Q2.1 Qual'è il livello di gravità dei bug? BUG-M2.1.1 Tasso di gravità dei bug (distribuzione dei bug per gravità) BUG-Q2.2 Quanti bug ci sono in stati distinti? BUG-M2.2.1 Distribuzione dei bug per gravità (per stato) BUG-Q2.3 Quanti bug vengono trovati durante le varie fasi del processo di sviluppo? BUG-M2.3.1 Distribuzione dei bug per fase (che ha creato il problema) e gravità BUG-Q2.4 Quanti bug ci sono per - ogni componente di sistema? BUG-M2.4.1 Distribuzione dei bug per componente e gravità BUG-G3 Monitoraggio dei costi e dell'eort Bug BUG-RES VAL SP 2.1 BUG-RES- TIME VAL SP 2.1 BUG-SEV VAL GP 2.8 BUG-SEV VAL GP 2.8 BUG-PHA VAL GP 2.8 BUG-COMP VAL GP

43 BUG-Q3.1 BUG-M3.1.1 TST-G1 TST-Q1.1 Qual'è la variazione tra l'eort attuale e quello previsto? Eort attuale rispetto a quello pianicato Ecacia della fase di test Quanti errori sono stati individuati durante i test di accettazione? Test BUG-EFF VAL GP 2.8 TST-M1.1.1 Bug successivi al rilascio TST-UAT VAL GP 2.8 TST-Q1.2 Quanti bug bloccanti o critici sono stati individuati durante la fase di accettazione? TST-M1.2.1 Bug successivi al rilascio (per gravità) TST-G2 Monitoraggio dei casi di test TST-Q2.1 C'è un numero suciente di casi di test? TST-M2.1.1 Copertura del processo di test TST-G3 Monitoraggio dell'esecuzione dei casi di test TST-Q3.1 Quanti casi di test sono stati eseguiti? TST-M3.1.1 Test eseguiti rispetto a quelli pianicati TST-Q3.2 Quanti casi di test hanno trovato un singolo errore? TST-UAT- SEV VAL GP 2.8 TST-PCOV VAL SP 1.2 TST-EXE VAL SP 2.1 TST-M3.2.1 Test con un singolo errore TST-BUG VAL SP 2.2 TST-Q3.3 Quanti casi di test hanno trovato più bug? TST-M3.3.1 Test con più bug TST-BUG-1 VAL SP 2.2 Tabella 5.1: Tabella di denizione del modello GQM 35

44 36

45 Capitolo 6 Piattaforma e strumenti per lo sviluppo In questo capitolo verranno analizzati e descritti in dettaglio gli strumenti utilizzati in sede aziendale che sono serviti come ambiente e supporto alle attività di progetto. Verrà descritta la piattaforma Spago4Q, punto centrale di tutta la tesi, alcuni sistemi per la gestione progetti (Microsoft Project, Cardinis e Ganttproject), e Microsoft Project Server 2007, sistema che completa il pacchetto Microsoft per il project management integrando funzionalità server come la gestione di database aziendali e la condivisione sicura attraverso la rete delle informazioni di progetto. 6.1 L'applicazione Spago4Q Spago4Q (SpagoBI for Quality) è una piattaforma per valutare l'adeguata maturità ed ecacia dei processi di sviluppo del software e dei prodotti realizzati. L'obiettivo è ottenuto analizzando i dati e le misure raccolte, con tecniche non invasive, dai tools utilizzati in sede di sviluppo. Spago4Q, ideata come verticalizzazione di SpagoBI (Business Intelligence Free Platform), è stata progettata per essere facilmente adattabile in contesti organizzativi complessi. Integra un sosticato meta-modello che rende Spago4Q indipendente dal processo di sviluppo adottato, dai tools di infrastruttura utilizzati per lo sviluppo e dal framework di assessment (es. CMMI, ISO 9001:2000). 37

46 Spago4Q è di supporto ad Aziende o altri tipi di Organizzazione impegnate a perseguire obiettivi di miglioramento continuo, sia nell'ambito di un processo di certicazione che più in generale nel monitoraggio di un proprio processo di sviluppo formalizzato. Nato come estensione delle funzionalità di Spago- BI, Spago4Q condivide con questo l'infrastruttura di supporto compatibile con qualunque tipo di application server costruito con tecnologia Java. Nelle sue precedenti implementazioni l'applicazione si basava su un sistema di portale, utilizzando il prodotto open source exo Platform che costituiva una soluzione completa e adatta allo scopo. Nell'ultima versione rilasciata, però, tale scelta progettuale è stata modicata in favore di una più semplice ed ecace soluzione servlet, facendo diventare Spago4Q a tutti gli eetti una Web Application Stand-alone. Rimane comunque la possibilità di utilizzare Spago4Q nella versione che si appoggia sul portale exo. L'application server che si occupa di gestire entrambe le soluzioni (portale e web application standalone) è Apache Tomcat, a causa della diusione di tale piattaforma libera nella comunità di sviluppo e la compatibilità con la maggior parte dei sistemi. In entrambe le possibili implementazioni Spago4Q si occupa sia della logica applicativa che della presentazione delle pagine da visualizzare; per quest'ultima sfrutta il sistema di pubblicazione del container utilizzato, servlet o portlet, mantenendo comunque, per entrambe, la maggior parte del codice indipendente. Nel caso di alcune tipologie di servizio, che possono essere richieste dall'utente, l'infrastruttura di Spago4Q si appoggia ad applicazioni esterne. Un caso d'esempio è la realizzazione della reportistica che si appoggia su dei motori come Jasper o Birt, ai quali vengono passati i parametri indicati dall'utente. Spago4Q si occupa della visualizzazione dell'output del servizio, ossia dell'inserimento del report prodotto all'interno del layout della pagina da presentare all'utente. Allo stesso modo la gestione degli utenti per Spago4Q si appoggia a database o gestori esterni. Nell'implementazione di portale utilizza le API di exo per richiedere a quest'ultimo le informazioni relative agli utenti. Sarà il software che gestisce l'infrastruttura di portale ad occuparsi delle liste di utenti, della loro creazione, modica e suddivisione in gruppi ai quali saranno assegnati privilegi dierenti. Quando invece è utilizzato come applicazione web stand-alone Spago4Q si appoggia a protocolli per la gestione di utenti, come LDAP, o software per la gestione di database 38

47 ai quali richiedere le credenziali per l'autenticazione al sistema. Figura 6.1: Architettura di Spago4Q Componenti In gura 6.1 è rappresentata l'architettura della piattaforma Spago4Q, i cui componenti principali che ne costituiscono l'infrastruttura sono: Estrattori: procedure per l'estrazione dei dati di interesse dagli strumenti utilizzati in fase di sviluppo. Gli estrattori, che possono essere sviluppati con diverse tecnologie, sono strumenti specializzati per l'estrazione da diverse sorgenti, in grado di caricare contemporaneamente più interfacce. Inoltre possono essere creati più estrattori per il medesimo strumento e ciascuno di questi può applicare determinate regole di- 39

48 namiche per il ltraggio o la trasformazione dei dati raccolti in modo da renderli compatibili con le interfacce. Interfacce: deniscono il formato e la tipologia dei dati utilizzati dai componenti analitici e nel calcolo dei KPI. Permettono così di creare una separazione tra gli estrattori e la logica analitica. Inoltre per ogni area di misura viene denita soltanto un'interfaccia per unicare il formato dei dati raccolti dai diversi strumenti o progetti e tale formato può essere denito utilizzando le funzionalità amministrative. Data Warehouse: deposito per tutti i dati ricavati dai progetti sviluppati da un'organizzazione. Questa parte del database è identicata con le tabelle il cui nome inizia per FT_ nel caso delle tabelle che rappresentano le interfacce, quelle in cui vengono memorizzati i dati raccolti, oppure DT_ per le tabelle utilizzate per descrivere l'ambiente o come fonti da cui raccogliere dati. Strumenti analitici: analizzano i dati e forniscono le rappresentazioni dei KPI. Attraverso il componente analitico, infatti, i dati inseriti nel data warehouse possono essere analizzati e successivamente utilizzati per la costruzione di documenti analitici. Questo modulo è stato sviluppato all'interno di SpagoBI, in modo da sfruttare una serie di servizi già presenti all'interno di quella soluzione. Utilizzare la piattaforma SpagoBI per implementare il componente analitico di Spago4Q sempli- ca la rappresentazione dei KPI, delle metriche e delle relative soglie come istanze dei documenti analitici già presenti all'interno di SpagoBI (report, dashboard, data mining, interrogazioni libere). Moduli di congurazione e amministrazione: indispensabili per denire le impostazioni del sistema. Attraverso questi moduli infatti possono essere congurati tutti gli altri componenti in quanto permettono: gestione dei modelli, degli indicatori KPI e dei valori delle soglie di riferimento controllo dei processi di estrazione che raccolgono i dati utilizzando gli estrattori e li adattano attraverso le interfacce 40

49 congurazione delle interfacce, che consentono la denizione delle strutture dati che devono immagazzinare le informazioni estratte dagli strumenti di sviluppo Meta-modello per la gestione dei KPI Il meta-modello su cui si basa Spago4Q è implementato secondo l'approccio Meta-Object Facility (MOF) proposto da Object Management Group (OMG). È strutturato in tre componenti principali: Process (i processi che devono essere monitorati), Measurement (le misurazioni di interesse) e Assessment (l'infrastruttura da utilizzare). Queste tre componenti sono state sviluppate in modo da risultare indipendenti, permettendo così di applicare la stessa infrastruttura a diversi processi oppure misurare un solo processo secondo diversi schemi di misura. Le interfacce tra i moduli di misura e quelli relativi ai processi sono realizzate attraverso la denizione di attributi misurabili delle attività di processo necessari al calcolo delle metriche. L'interfaccia tra i moduli di misura e quelli delle metriche è invece costituita da un set di KPI basati sulle misure eettuate. Il Process meta-model è stato denito partendo da una versione sempli- cata delle speciche OMG's SPEM (Software Process Engineering Metamodel) che descrivono un processo di sviluppo. Il Measurement meta-model adotta il paradigma Goal-Question-Metric (GQM), ed è strutturato in tre entità: measurableconcept: denisce l'obiettivo di misura measurableattribute: rappresentano gli attributi che devono essere misurati per valutare lo specico obiettivo KPI (Key Process Indicator) e metriche: forniscono la risposta quantitativa per valutare il raggiungimento dell'obbiettivo L'Assessment meta-model supporta, come framework di assessment, sia il CMMI (Capability Maturity Model Integration) che ISO 9001:2000. Ad esempio il raggiungimento dei goals associati a practices del CMMI è monitorato da speciche KPI e metriche confrontate con valori di soglia predeniti, permettendo a manager ed assessor il controllo dei processi. 41

50 A causa della sua complessità il meta-modello è stato suddiviso in 5 aree, ciascuna delle quali comprende un gruppo di tabelle correlate tra loro e che hanno delle connessioni con le altre aree. La gura 6.2 mostra lo schema logico del meta-modello considerato. Figura 6.2: Data Warehouse Si possono individuare cinque aree concettuali, una descrizione più dettagliata delle quali è la seguente: Organization: le tabelle qui presenti deniscono l'organizzazione, gli utenti, i ruoli e le autorizzazioni. Quest'area è collegata a quella Knowledge Base, in quanto l'organizzazione gestisce le risorse che devono essere misurate, e a Representation perché alcuni tipi di rappresentazione sono resi disponibili soltanto per alcuni membri dell'organizzazione. Model: in quest'area sono rappresentati il modello generale del sistema, quello per l'infrastruttura, per le misurazioni, e le denizioni delle soglie e dei KPI. È collegato alla Knowledge Base poiché i modelli sono cor- 42

51 relati alle risorse e all'area dei KPI dove sono istanziati gli indicatori deniti nel modello. Knowledge Base: rappresenta la parte del Data Warehouse nella quale sono memorizzate le rappresentazioni delle risorse da misurare. In quest'area possono essere aggiunte tabelle durante la fase di pianicazione di un progetto. Representation: comprende le tabelle che deniscono i documenti analitici e gli avvisi che devono essere creati. È strettamente legata alla Knowledge Base, perché è da qui che prende le informazioni sulle risorse, e a Model, in quanto una rappresentazione è l'istanza di un modello basata su una o più risorse. KPI: quest'area comprende una sola tabella per memorizzare tutti i valori dei KPI Meta-modello per gli estrattori La gestione degli estrattori, modicata radicalmente dalla precedente versione di Spago4Q, ha richiesto la denizione di un apposito meta-modello che specicasse le caratteristiche di integrazione necessarie. Per la costruzione dell'estrattore deve essere rispettato lo schema logico rappresentato nello schema ER di gura 6.3, le cui entità sono spiegate in dettaglio di seguito. Lo schema può essere suddiviso logicamente in tre gruppi, ciascuno dei quali si occupa di componenti dierenti coinvolte nel processo di estrazione: denizione delle sorgenti dati denizione delle interfacce denizione dei processi di estrazione 43

52 Figura 6.3: Struttura delle classi di Spago4Q che gestiscono il processo di estrazione Sorgenti dati S4Q_E_SOURCE_TYPE: Denisce la classe estrattore per n Data Source. Qui è dove viene utilizzata la classe dell'estrattore, la quale si occupa di reperire le informazioni sui progetti dal sistema di gestione progetti e creare una lista di dati (in formato String) da passare poi all'interfaccia di Spago4Q. esecuzione. S4Q_E_DATA_SOURCE: Istanza di un source_type. È l'oggetto che viene associato all'operazione di estrazione e che riceve in ingresso i parametri necessari alla sua S4Q_E_DATA_SOURCE_PARAMETER: Sono i parametri necessari all'estrattore per accedere alla sorgente dati. Nel caso questo si debba connettere ad un database sono l'indirizzo del database ed eventuali parametri come username e password da utilizzare. 44

53 Interfacce dati warehouse. S4Q_E_INTERFACE_TYPE: Contiene le denizioni delle interfacce disponibili. Per ogni interfaccia identica la tabella dei fatti (fact table) da creare e gestire nel data S4Q_E_INTERFACE_FIELD: Rappresenta ogni campo della singola interfaccia, ossia quali colonne verranno inserite. Vengono indicati, oltre al nome della colonna, anche il tipo (string, integer, double, boolean o date), se si tratta di un campo chiave e se è un campo sensibile. Se si tratta di un campo sensibile ed il suo valore varia tra un'estrazione e l'altra allora verrà inserita una nuova riga nella tabella contenente i nuovi dai, in caso contrario la tabella resterà invariata. In base alla cardinalità della relazione con cui è collegata a interface_type, inne, è possibile determinare quante colonne avrà la Fact Table. S4Q_E_DOMAIN_VALUE: alcuni campi dell'interfaccia possono assumere solamente un set nito di valori. In questa tabella, attraverso l'associazione con lo specico campo di un'interfaccia, si elencano tutti i valori possibili. Nella fact table in corrispondenza di un campo di questo tipo si riporta il codice identicativo del valore e non il valore stesso. Processo di estrazione S4Q_E_PROCESS: Gestore del processo di estrazione. Il suo scopo principale è quello eseguire tutte le operazioni associate al processo di estrazione; estrae i dati e li trasforma in accordo con le interfacce specicate dall'utente, inne si occupa di caricare questi dati nelle tabelle FT_. Ogni utente può creare un coordinatore personalizzato in base alle esigenze, altrimenti viene utilizzato il DefaultCoordinator già implementato all'interno del sistema. Ogni coordinatore inne è in grado di gestire più operazioni di estrazione sequenziali (in genere n operazioni). 45

54 S4Q_E_OPERATION: Operazione di estrazione. Ogni operazione ha associati il proprio coordinatore (ossia la classe che può istanziare l'operazione), una sorgente dati e un'interfaccia (denita all'interno di Spago4Q) nella quale memorizzare i dati estratti. Può essere considerata il punto centrale tra tutti gli altri elementi presenti nello schema logico, in quanto fornisce un collegamento tra essi. Inoltre questa operazione gestisce tutti i parametri che devono essere passati all'estrattore in modo da personalizzare il tipo di estrazione che si eettua. S4Q_E_OPERATION_PARAMETER: Lista dei parametri che devono essere utilizzati dall'estrattore. Permettono di denire su quali indicatori concentrare l'attenzione e con quale grado di dettaglio reperire le informazioni sui progetti. In caso l'estrattore sia connesso ad un database e ricavi i dati attraverso una query, all'interno dell'operation_parameter è memorizzata la sintassi della query da sottoporre. S4Q_E_OPERATION_FIELD: Costituisce l'elemento di associazione tra le liste di dati creati dall'estrattore e la tabella creata nel data warehouse. Qui infatti ogni elemento estratto (in genere gli indicatori degli strumenti di gestione progetti) ha un nome e può essere associato ad uno o più campi della Fact Table, in modo che durante il processo di estrazione i valori estratti siano inseriti nelle colonne corrette della tabella nel data warehouse. S4Q_E_SCRIPT: Nel caso alcuni degli elementi estratti siano in una forma non corretta per l'inserimento nella fact table (come ad esempio le date o i valori booleani), attraverso degli script (generalmente in linguaggio Javascript o Groovy) è possibile modicare tali valori e trasformarli secondo le esigenze. 46

55 S4Q_E_PERIODICITY: Periodicità con cui vengono schedulati i processi di estrazione. Contiene un oggetto di tipo Cron Expression, ossia una stringa composta da 6 o 7 caratteri che permette un'elevato grado di personalizzazione nella scelta degli istanti in cui eettuare l'estrazione. Inne un tipo di schedulazione può essere associata a più processi di estrazione. S4Q_LOG: La tabella di log tiene traccia di tutte le operazioni di estrazione che vengono eettuate dal sistema. Vengono memorizzati gli identicatori del processo e dell'operazione, la data in cui è eettuata l'estrazione, il numero delle righe estratte e il numero di righe inserite nella Fact Table (quelle in cui dei dati classicati come sensibili erano diversi rispetto all'estrazione precedente). 47

56 6.2 Strumenti per la gestione di progetto Nel panorama del Project Management si possono trovare una gran quantità di software che comprendono operazioni di schedulazione automatica, allocazione di risorse, controllo dei costi e gestione del budget, i quali possono essere un supporto fondamentale al lavoro dei project manager. Per la gestione di grandi progetti inoltre è conveniente utilizzare sistemi che facilitino le comunicazioni e la collaborazione tra i membri del team di sviluppo, che permettano di valutare la qualità dei prodotti e di avere un controllo accurato su tutte le fasi del progetto. I tre sistemi per la gestione dei progetti analizzati in seguito sono alcuni tra i più diusi e utilizzati anche all'interno di Engineering, in particolar modo Microsoft Project 2007 che è anche lo strumento di sorgente dati per l'estrattore sviluppato Microsoft Project 2007 Microsoft Project 2007 è un software per la gestione e pianicazione dei progetti sviluppato e commercializzato da Microsoft. È uno strumento per assistere i project manager nella pianicazione, nell'assegnazione delle risorse, nella verica del rispetto dei tempi, nella gestione dei budget e nell'analisi dei carichi di lavoro del personale dell'azienda durante tutte le fasi dello sviluppo di un progetto. Microsoft Project consente di applicare i procedimenti di gestione progettuale descritti nel PMBOK (Project Management Body of Knowledge) del PMI (Project Management Institute). Per un corretto uso, è possibile seguire il metodo del percorso critico (Critical Path Method o CPM) o il PERT (Program Evaluation and Review Technique - Tecnica di revisione e valutazione dei progetti). La visualizzazione della sequenza di attività avviene poi tramite diagrammi di Gantt. Project è inoltre in grado di gestire diverse classi di utenti, per dierenziare così i livelli di accesso ai dati relativi ai progetti. Consente la creazione di oggetti custom, necessari all'organizzazione per particolari caratteristiche delle attività, come calendari, viste, tabelle, ltri e campi, i quali sono tutti immagazzinati come dati globali e sono accessibili da tutte le tipologie di utenti. 48

57 Figura 6.4: Microsoft Project 2007 Il calcolo del budget è eettuato automaticamente una volta conclusa la stima del lavoro e l'allocazione delle risorse alle varie attività. I singoli mezzi dell'organizzazione (persone, materiale e attrezzature) possono inoltre essere condivise tra i vari progetti. Ogni risorsa può avere un calendario personale, che indica quando essa è disponibile, grazie al quale ognuna di esse può essere assegnata a più attività in diversi progetti e ad ogni attività possono essere assegnate diverse risorse, in quanto è l'applicazione a schedulare automaticamente il lavoro di ciascuna attività in base alla disponibilità dei mezzi. Poiché sostanzialmente Project è un'applicazione client e risiede su un'unica macchina nelle sue ultime versioni è stato esteso con l'introduzione di Microsoft Oce Project Server e Microsoft Project Web Access. Project Server consiste nell'installazione server, che può risiedere su una macchina dedicata alla quale accedono tutte le istanze client delle macchine remote. Questa memorizza i dati di progetto all'interno di un database centrale SQL, orendo la possibilità agli utenti di ispezionare e modicare i dati attraver- 49

58 so la rete. Web Access è lo strumento che gli utenti autorizzati utilizzano per accedere al database di Project Server direttamente da Internet. Include timesheets, uno strumento di analisi graca del carico di lavoro assegnato alle risorse e strumenti di amministrazione. L'ultima versione del software (Microsoft Oce Project 2007) integra i servizi di Windows SharePoint, in modo che i membri di un gruppo possano condividere le informazioni relative a ciascun progetto pubblicato. 50

59 6.2.2 Cardinis Suite Cardinis è un'applicazione web multilingua per il Project Management e Portfolio Management, nalizzata a soddisfare requisiti di Governance. La soluzione ha caratteristiche di integrazione orizzontale (prodotto, metodologia, competenze) e verticale (funzionalità dedicate per ogni livello aziendale) che abilitano il processo di comunicazione, condivisione e crescita della maturità dell'azienda. Questo risultato deriva anche dall'utilizzo di tecnologie web che permettono di centralizzare la conoscenza e le informazioni e realizzare strumenti per la loro diusione e comunicazione. Nella fase di pianicazione dei costi è messo a disposizione un tool per la valutazione delle iniziative (nuove e già in essere) alla luce di criteri di valutazione identicati, dei beneci e dei rischi attesi e del budget da esse richiesto, al ne di scegliere quelle che dovranno essere parte dei portfolio di riferimento. A supporto delle fasi di denizione e di valutazione dei portfolio sono forniti, in forma standard o personalizzabile, tabelle, graci, indicatori di trend con possibilità di attivare azioni di drill-down. Tra gli obiettivi che l'applicazione si propone di soddisfare ci sono: implementare una soluzione completa per le metodologie PMI, PRINCE2 ed altri approcci strutturati alla gestione progetti e di portfolio aderenza agli standard funzionalità complete ed esaustive integrabilità Il modulo di Project Management (che si distingue per essere incentrato più sulla WBS che sul diagramma di Gantt) aronta tra le altre tematiche: gestione dello scope interattiva (creazione/modica/stampa della WBS) gestione dei tempi interattiva (lo schedulatore supporta sia il Critical Path che il Critical Chain) Cost Management 51

60 EVM (Earned Value Management) Project Document Management gestione degli avanzamenti di progetto Resource Management 52

61 6.2.3 Ganttproject Ganttproject è un software di project management open source, rilasciato sotto licenza GPL (GNU General Public License) compatibile con i sistemi operativi Microsoft Windows, Linux e Mac OS X. Figura 6.5: Ganttproject chart view Comprende strumenti per la creazione di diagrammi di Gantt (per la schedulazione dei progetti) e tabelle per la distribuzione del carico delle risorse che mostrano come sono utilizzate le diverse risorse dell'organizzazione in un arco di tempo. Ha inoltre la possibilità di creare report in diversi formati (tra cui HTML e PDF) e importare documenti creati con Microsoft Project. Le caratteristiche salienti includono: gerarchizzazione e controllo delle dipendenze dei task diagrammi di Gantt tabelle sulla distribuzione di carico delle risorse 53

62 generazione dei diagrammi PERT creazione di report in formato HTML e PDF import/export da Microsoft Project scambio di dati con applicazioni spreadsheet workgroup basato su WebDAV 6.3 Microsoft Project Server 2007 Creato da Microsoft per supportare i team aziendali nello sviluppo di nuovi progetti, Microsoft Project Server consente la creazione di un server standalone sul quale possono essere raccolte le informazioni su tutti i progetti dell'organizzazione e al quale possono accedere tutti gli utenti autorizzati dell'organizzazione attraverso le installazioni client di Project. Il sistema ha come obiettivi: Elevata estensibilità: Project Server può essere utilizzato come strumento di supporto ed estensione ad altri software di project management, a prodotti di Microsoft Oce e ad applicazioni LOB (line-ofbusiness). Piattaforma di sviluppo: attraverso numerose funzionalità, come la PSI, i servizi Project Server Eventing e Project Server Queuing, il motore di schedulazione e i servizi di Windows SharePoint, il sistema si propone di essere una piattaforma di sviluppo completa. Semplicità d'utilizzo: gli sviluppatori che hanno familiarità con altri strumenti di sviluppo Microsoft possono sfruttare funzionalità già note senza aver la necessità di imparare l'interfaccia XML delle precedenti versioni. Produttività: I Web Services della PSI utilizzano oggetti di tipo DataSet di Microsoft ADO.NET 2.0. Utilizzando tali servizi non è necessario accedere direttamente al database di Project Server. 54

63 Firewall friendly: tutte le applicazioni client comunicano con il server attraverso i servizi della PSI utilizzando i protocolli HTTP e SOAP. Inoltre si può lavorare e garantire una maggiore sicurezza utilizzando un server distinto con Project Web Access. L'architettura di Project Server è sviluppata su più livelli. Il livello di presentazione include PWA (Project Web Access), Project Professional 2007 e applicazioni client. Il livello dei servizi applicativi include i Web services dell'interfaccia, la business logic e i servizi di Windows SharePoint. Il livello dei dati include il Data Access Layer e dei database SQL multipli. Uno schema dell'architettura è rappresentato in Figura 6.6 Figura 6.6: Architettura di Project Server 2007 La piattaforma supporta siti virtuali multipli di Project Web Access. Una o più istanze di PWA possono essere installate sul medesimo computer come componenti del nucleo di Project, oppure possono risiedere su altre macchine. Ogni istanza utilizza lo stesso nucleo di Project Server e altri servizi condivisi ma database distinti. Questo comporta che ciascun sito virtuale abbia una lista indipendente di utenti autorizzati memorizzata nel database dei 55

64 Windows SharePoint Services. Nelle sue precedenti versioni Project Server consentiva l'accesso diretto al database attraverso strumenti ODBC, che però non potevano essere utilizzati con la maggioranza dei rewall commerciali. In quest'ultima versione la necessità di un accesso diretto è stata eliminata in quanto sia Project Professional 2007 che tutte le applicazioni remote utilizzano la PSI per accedere ai dati relativi ai progetti. In questo modo è garantita una maggiore integrità e consistenza dei dati. La PSI (Project Server Interface) è l'interfaccia che sta tra l'applicazione e il livello dei Business Object. Questi ultimi sono i componenti che includono regole su come le entità logiche (progetti, attività, risorse e assegnazioni) possono essere modicate e su come interagiscono tra di loro e con gli altri componenti del sistema. Le entità logiche possono estendersi su diversi database ma, siccome tutte le applicazioni client utilizzano la stessa Business Logic, Project Server è in grado di mantenere le corrette dipendenze tra i vari oggetti. Inoltre non sono direttamente i business object ad accedere al database, ma questi a loro volta utilizzano il DAL (Data Access Layer) che gestisce le transazioni con le tabelle corrette. 56

65 Capitolo 7 Rappresentazione indicatori I dati relativi ai progetti che vengono estratti da un software di Project Management devono poter essere visualizzati dal manager di progetto in una forma diversa dalla semplice tabella all'interno di un database. Senza una rappresentazione graca adeguata, infatti, i valori memorizzati per gli indicatori non portano un'informazione suciente e solo attraverso una dicoltosa interpretazione permettono di capire se l'andamento del progetto soddisfa le aspettative oppure no. All'interno dell'ambiente fornito da Spago4Q esistono sostanzialmente due modi per rappresentare le informazioni. Un modo è utilizzare documenti analitici del tipo report (vedi esempio in gura 7.1), i quali fanno riferimento direttamente ai valori presenti nel data warehouse di Spago4Q. Questi documenti, sviluppati attraverso un motore di reportistica quale JasperReport o Birt, tramite query SQL ricavano i dati di interesse dal data warehouse e pubblicano documenti che mostrano l'andamento di parametri e metriche (ad esempio Earned Value, tasso di completamento delle milestones, ecc.) La maggior parte di questi documenti sono storici di progetto, in quanto non rappresentano i parametri in un unico istante ma in uno specico intervallo temporale. In questo modo è possibile un'immediata comprensione di quale sia l'andamento nello sviluppo del progetto anche rispetto alla situazione passata. Questo tipo di visualizzazione, però, fa riferimento diretto ai dati presenti nel data warehouse e per questo non utilizza modelli di calcolo, metriche o soglie. 57

66 Figura 7.1: Esempio di report Un secondo modo per la visualizzazione degli indicatori è utilizzare il motore di analisi delle metriche interno a Spago4Q. Il componente centrale di questo sistema è il modello dei KPI. Una volta denita la struttura al modello vengono associati gli indicatori di interesse per l'azienda, i cui valori vengono calcolati attraverso il DataSet. Dal modello si parte poi per denire il documento KPI, descritto in seguito, che visualizza i valori degli indicatori replicando la struttura descritta nel modello. I DataSet rappresentano la logica di calcolo del valore per ogni KPI a cui fanno riferimento. In questo modo possono esistere diversi modelli associati ciascuno a uno o più progetti attivi, con valori di soglia specici e dierenti in base al contesto in cui sono inseriti. Il DataSet ha la funzione di estrarre i dati relativi ai parametri di progetto dal data warehouse di Spago4Q, trasformarli secondo le speciche del modello e restituire alla ne dei valori di KPI che possano essere rappresentati all'interno di documenti analitici (in genere report o dashboard) per mostrare, sfruttando anche le soglie proprie per la tipologia di indicatore, quale sia la situazione attuale del progetto in modo 58

67 Figura 7.2: Sistema di rappresentazione degli indicatori in Spago4Q diretto e facilmente comprensibile. Per la visualizzazione degli indicatori di progetto nelle applicazioni di Business Intelligence si utilizzano rappresentazioni grache quali report, dashboard, balance scorecard oppure, come all'interno della piattaforma Spago4Q, i documenti per i KPI. Report Un report è un documento analitico centrato sui dati di interesse dell'azienda o di un particolare progetto durante la fase di sviluppo. Tale tipologia di documenti può analizzare in dettaglio tutti gli aspetti di un progetto in un particolare intervallo temporale, oppure può focalizzare l'attenzione su un particolare elemento di progetto (metafasi, milestone, ecc.) in un preciso istante. In questo modo è possibile rappresentare sia un trend storico del progetto sia un'istantanea sui valori dei principali indicatori in un momento del processo di sviluppo. La struttura di un report comprende sia tabelle, contenenti i valori numerici dei KPI, sia graci nei quali tali indicatori sono rappresentati in una forma più semplice da interpretare. Per la creazione di report si può fare ricorso a strumenti di reportistica (come JasperReport o Birt) che implementano funzioni per la denizione del layout graco 59

68 del report e per la connessione al data warehouse da cui devono essere estratti i dati necessari al popolamento delle tabelle e alla creazione dei graci del report stesso. Dashboard Le dashboard sono rappresentazioni grache ad alto impatto visivo delle prestazioni di un'azienda, la cui funzione principale è quella di presentare una grande varietà di dati in un'unica gura ottimizzata per una rapida comprensione del contenuto. In questo modo viene sempli- cato e reso più ecace il lavoro dei project manager che si possono rendere conto più rapidamente della qualità dei progetti sviluppati e di eventuali mancanze nei risultati attesi. Da un punto di vista tecnologico la dashboard può essere realizzata con un tool di business intelligence (se le funzionalità disponibili lo permettono) oppure costruito con linguaggi di programmazione. Questo secondo approccio è assolutamente sconsigliato per l'elevato costo di sviluppo della logica applicativa sottostante (se necessaria), di fatto già presente in qualunque prodotto BI di mercato. Una alternativa che rappresenta un compromesso tra i due approcci consiste nell'espandere le funzionalità di presentazione (non di calcolo) di un tool BI tramite ambienti di sviluppo standard (tipicamente ASP o Javascript). Balance Scorecard La Balance Scorecard (BS) è uno strumento di supporto nell'azione strategica di un'impresa che permette di isolare un insieme di misure di performance che rispecchino gli obiettivi e la strategia aziendale. Costituisce quindi un framework, non solo una rappresentazione graca di valori numerici. Attraverso l'uso della BS è possibile un controllo periodico degli indicatori di interesse per l'organizzazione (i KPI - Key Performance Indicator). In questo modo, grazie ad estrazioni ad intervalli regolari, viene costruito un trend di progetto, ossia un graco storico che descrive l'andamento dei progressi eettuati e in generale permette ai manager di avere una visione dettagliata dello stato di sviluppo dei progetti, di eventuali ritardi e di una pianicazione inadeguata dei costi. 60

69 Documento KPI Un documento per i KPI permette di visualizzare i modelli descritti all'interno della piattaforma Spago4Q. Ciascun modello è basato su un sistema di valutazione degli indicatori (come può essere GQM o CMMI) ed è caratterizzato da una struttura ad albero che può essere costituito da n livelli gerarchici. Ad ogni modello possono essere associate diverse risorse rispetto alle quali calcolare i valori degli indicatori. Tali risorse possono essere ad esempio progetti, processi o servizi. Ad ogni nodo del modello sono associati dei KPI i quali, all'esecuzione del documento, vengono visualizzati e contestualizzati rispetto a dei valori di soglia deniti dall'utente per ciascun indicatore, oltre ad una rappresentazione graca che permette una comprensione immediata riguardo la situazione attuale dei valori di progetto (gura 7.3). Figura 7.3: Indicatore KPI e soglie di riferimento 61

70 62

71 Capitolo 8 Implementazione del sistema La parte di maggior rilievo della tesi si concentra sull'implementazione della procedura ETL di estrazione dei dati da Microsoft Project Server 2007, come era stato indicato da Engineering durante la denizione dei requisiti del progetto. Gli strumenti analitici di Spago4Q e i software di project management descritti nei paragra precedenti sono infatti due elementi distinti nel processo di sviluppo del software ma per poter essere utilizzati in sintonia l'uno con l'altro hanno bisogno di alcuni punti di unione. Gli estrattori ETL hanno proprio lo scopo di fungere da ponte di collegamento tra questi due sistemi. Gli estrattori, infatti, attraverso procedure messe a disposizione dai programmi per la gestione di progetti (che possono essere web services, letture dei le archiviati, ecc.) ricavano da questi ultimi i valori degli indicatori di progetto di maggior interesse, li ltrano, li trasformano utilizzando le interfacce specicate all'interno di Spago4Q e inne li trasferiscono al data warehouse dove potranno venire utilizzati dagli strumenti analitici per la costruzione di documenti di report. La fase iniziale dell'attività di sviluppo riguarda l'analisi del sistema Microsoft, in modo da avere una conoscenza più accurata delle funzionalità messe a disposizione da questo e capire quali fossero realmente utili al ne pratico. Per l'implementazione dell'estrattore si è deciso di utilizzare il linguaggio di sviluppo Java in quanto, oltre ad essere un linguaggio potente e adatto 63

72 ad applicazioni web-based, è il linguaggio adottato per la creazione di tutta l'infrastruttura Spago4Q e questo avrebbe garantito la massima compatibilità tra i componenti sviluppati. Inoltre alcuni strumenti open source già presenti in rete avrebbero permesso una maggior ecacia dei test nelle fasi iniziali. Durante la realizzazione si è deciso innanzitutto di vericare le funzionalità messe a disposizione da Project Server attraverso una prima classe Java di test; successivamente le caratteristiche salienti presenti in questo componente sono state elaborate ed estese in un estrattore completo che soddisfasse i requisiti di integrazione con la piattaforma Spago4Q. Completata questa fase si è poi passati alla verica del processo di estrazione e della correttezza dei dati estratti. Inne sono stati costruiti dei report graci, anch'essi integrati successivamente all'interno dell'ambiente, per una ecace rappresentazione dei dati di interesse. 8.1 Analisi di Microsoft Project Sin dalle prime analisi di Microsoft Project 2007, il software di project management utilizzato in sede aziendale, è risultato evidente come, per poter eettuare un'estrazione di dati da applicazioni esterne, fosse necessario utilizzare le funzionalità di accesso remoto messe a disposizione dal sistema. Per la gestione dei progetti e la loro ispezione attraverso la rete, Project mette a disposizione un servizio di Web Access (PWA), che attraverso l'autenticazione al sistema da parte di utenti registrati permette di eettuare le principali operazioni di amministrazione sui progetti attivi, cioè quelli pubblicati dai project manager dell'organizzazione. Per usufruire di tale servizio viene sfruttata un'interfaccia web compatibile con i più comuni browser (Internet Explorer, Mozilla Firefox, Opera), la quale integra la visualizzazione di tabelle di consuntivi e diagrammi di Gantt utili al monitoraggio delle varie fasi dello sviluppo di un progetto (gura 8.2). Tale scelta progettuale preclude però l'utilizzo delle funzionalità oerte da PWA attraverso applicazioni esterne alla piattaforma Microsoft. Come tutte le applicazioni client di ultima generazione messe a disposizione da Microsoft, anche Project 2007 utilizza la PSI (Project Server Interface), un insieme di Web services basati su Microsoft.NET Framework 2.0, che possono essere 64

73 Figura 8.1: Interfaccia PWA Figura 8.2: Diagramma di Gantt per un progetto d'esempio utilizzati per accesso remoto anche da componenti di altre applicazioni. L'attenzione si è quindi incentrata sulle caratteristiche e su come poter sfruttare tali servizi per l'estrazione dei dati di interesse dai progetti pubblicati all'in- 65

74 terno di Microsoft Project. Attraverso l'uso della PSI, inoltre, non si rende più necessario accedere direttamente al database dei progetti per eventuali modiche ai dati; in questo modo si garantisce una maggiore consistenza e integrità dei dati in quanto è il servizio interno di gestione delle code (Project Server Queuing Service) ad occuparsi della loro elaborazione. Questa è anche una delle principali dierenze con il PDS (Project Data Service) presente nelle precedenti versioni di Project Server, il quale consisteva in un'interfaccia XML per accedere al database di sistema. Tutti i metodi messi a disposizione dalla PSI sono poi raggruppati in un set di servizi che condividono le medesime funzionalità o utilizzano gli stessi oggetti della logica applicativa. 66

75 8.2 Web Services Secondo la denizione data dal World Wide Web Consortium (W3C) un Web Service (servizio web) è un sistema software progettato per supportare l'interoperabilità tra diversi elaboratori su di una medesima rete; caratteristica fondamentale di un Web Service è quella di orire un'interfaccia software (descritta in un formato automaticamente elaborabile quale, ad esempio, il Web Services Description Language) utilizzando la quale altri sistemi possono interagire con il Web Service stesso attivando le operazioni descritte nell'interfaccia tramite appositi messaggi inclusi in una busta (come la nota busta SOAP): tali messaggi sono, solitamente, trasportati tramite il protocollo HTTP e formattati secondo lo standard XML. Proprio grazie all'utilizzo di standard basati su XML, tramite un'architettura basata sui Web Service, possono quindi essere utilizzate applicazioni software scritte in diversi linguaggi di programmazione e implementate su diverse piattaforme hardware. Attraverso le interfacce in formato WSDL che sono esposte pubblicamente e mediante l'utilizzo dei servizi oerti per lo scambio di informazioni è possibile far comunicare software scritti in diversi linguaggi (come Java, Python, C#) e diverse piattaforme hardware (Windows e Linux). I Web Services messi a disposizione dalla PSI del sistema Microsoft sono implementati attraverso interfacce distinte, risiedono su pagine.asmx e possono essere raggiunti in due modi: attraverso l'uso di un percorso virtuale all'url di Project Web Access, come ad esempio asmx in locale dall'url dello Shared Service Provider (SSP), del tipo Utilizzando un browser web per visitare tali indirizzi verrà visualizzato un elenco dei metodi messi a disposizione da ciascun servizio (Figura 8.3). Tramite un link è inoltre possibile visualizzare il descrittore del servizio in lin- 67

76 guaggio WSDL, necessario per la costruzione di un client in grado di utilizzare il relativo Web Service. Figura 8.3: Metodi per il servizio project Non è però presente una descrizione dei metodi ma solamente la struttura delle buste SOAP di richiesta e risposta, comprensive dei parametri che devono essere inviati nel messaggio (esempio in gura 8.4). Figura 8.4: Descrizione del metodo readproject Microsoft Project mette a disposizione dell'utente un insieme di 23 servizi, consentendo comunque la creazione e la personalizzazione di ulteriori servizi 68

77 per utilizzare funzionalità non ancora presenti. Dei servizi già disponibili alcuni sono per uso interno da parte di PWA e Microsoft Oce Project Professional Le seguenti sono le classi che contengono i metodi della PSI: 1. Admin: comprende metodi di amministrazione utilizzati nelle pagine di Project Web Access. 2. Archive: comprende metodi per la gestione di backup e ripristino dei progetti, campi personalizzati, risorse, impostazioni di sistema, viste e progetti globali dell'organizzazione. Archivia inoltre tutti i progetti o cancella uno specico documento già archiviato. 3. Authentication: ha metodi esclusivamente riservati ad un uso interno e vi si può accedere soltanto attraverso l'url SSP. 4. Calendar: gestisce i calendari dell'organizzazione e delle risorse. 5. CubeAdmin: gestisce le impostazioni dei cubi OLAP, la loro creazione e lo stato del database. 6. CustomFields: gestisce i campi personalizzati dell'organizzazione. 7. Events: legge le liste di eventi in Project Server e amministra le associazioni dei gestori di eventi. 8. LoginForms: fornisce i metodi di Login e Logo utilizzando il sistema di autenticazione di Project Server. 9. LoginWindows: fornisce i metodi di Login e Logo utilizzando il sistema di autenticazione di Windows. 10. LookupTable: gestisce le tabelle di lookup. 11. Notications: gestisce gli avvisi e i promemoria. 12. ObjectLinkProvider: amministra gli oggetti web, i collegamenti ai documenti e le liste di oggetti sui siti dei servizi di Windows SharePoint. 69

78 13. Project: servizio principale per la gestione progetti. Amministra la maggior parte delle operazioni relative ad un progetto presente nel database e può mettere in coda un messaggio per la pubblicazione. Può inoltre creare o eliminare entità all'interno di un progetto (attività, risorse, assegnamenti) e può recuperare tutte le informazioni sui singoli elementi di un progetto. 14. PWA: servizio ad utilizzo interno che contiene molti metodi ottimizzati per Project Web Access. Gli elementi che restituiscono i suoi metodi sono ridondanti con quelli di altri servizi e per questo non viene utilizzato. 15. QueueSystem: gestisce le code del sistema, la loro congurazione e tutti gli elementi presenti in coda. 16. Resource: amministra le risorse dell'organizzazione, comprese le autorizzazioni degli utenti che le possono utilizzare, le informazioni di sicurezza e gli assegnamenti per ogni risorsa. 17. ResourcePlan: si occupa delle impostazioni dei ResourcePlan dell'organizzazione. 18. Security: contiene metodi per amministrare la sicurezza di accesso e i permessi globali e dell'organizzazione. 19. Statusing: amministra gli aggiornamenti di stato e gli assegnamenti alle varie attività. 20. TimeSheet: amministra i fogli di presenza (timesheets). Recupera quelli in ritardo o in attesa di approvazione e può visualizzare la lista degli utenti in grado di vericarne la validità. 21. View: servizio interno, accessibile soltanto tramite SSP URL, per per la gestione delle viste e dei report. 22. WinProj: è un'entità di sistema destinata ad un uso esclusivo di Project Professional, quindi applicazioni esterne non dovrebbero utilizzarne i metodi. Inoltre è possibile accedervi soltanto attraverso l'indirizzo di Shared Service Provider. 70

79 23. WssInterop: amministra i workspace di progetto. Per le necessità di progetto i servizi su cui si è concentrata l'attenzione sono stati: LoginForms Necessario per autenticarsi al Server e poter utilizzare così gli altri servizi. LoginForms infatti è l'unico servizio libero e non protetto. Il metodo di login che include riceve come parametri username e password dell'utente e restituisce un oggetto booleano che indica se l'autenticazione è riuscita oppure no. CustomFields Contiene i campi personalizzati dell'organizzazione, quindi è necessario estrarre le informazioni che contengono per una corretta identicazione delle attività all'interno dei progetti (ad esempio un campo custom può indicare se un task è o no una metafase all'interno del progetto) Project Servizio principale che permette di risalire alla lista di progetti dell'organizzazione e a tutte le informazioni che contengono, alle caratteristiche delle singole attività, delle risorse utilizzate e ai valori dei KPI. Gli oggetti restituiti dai metodi sono del tipo DataSet, ossia dei database interni alla memoria che contengono ciascuno una gerarchia di oggetti del tipo DataTable, DataRow e DataFields. Tali oggetti possono essere interpretati come le XML in quanto ne possiedono la struttura e questo semplica le operazioni di lettura da parte dei metodi Java. 71

80 8.3 Costruzione estrattore Per la costruzione dell'estrattore è stato necessario seguire le speciche del team di sviluppo di Spago4Q in modo che l'estrattore soddisfasse i requisiti necessari alla successiva integrazione nel sistema. Per questo: è stata estesa l'interfaccia it.eng.spago4q.extractors.abstractextractor sono stati implementati i metodi protected void setup(); protected void teardown(); utili per gestire operazioni che non sono direttamente connesse con il processo di estrazione (come ad esempio i parametri di connessione ad un database). In questo caso, all'interno del metodo setup(), sono stati impostati i parametri dell'estrattore relativi alle credenziali utente con le quali accedere al server e quelli relativi alla granularità dei dati da estrarre. protected void setup() { USER = readdatasourceparametervalue("user"); PASSWORD = readdatasourceparametervalue("password"); parameter = Integer.parseInt(readDataSourceParameterValue ("GRANULARITY")); status = readdatasourceparametervalue("project_status"); I valori dei parametri sono stati impostati utilizzando il metodo String readdatasourceparametervalue(string key) 72

81 che permette di leggere i parametri della sorgente dati attraverso il loro nome (key), ossia quelli inseriti attraverso l'interfaccia utente di Spago4Q riguardo la congurazione di uno specico Data Source. è stato implementato il metodo necessario protected List<GenericItemInterface> extract() throws EMFUserError; all'interno del quale è denito il processo di estrazione dei dati vero e proprio. Qui viene costruita una lista di oggetti Java che contengono le informazioni estratte dagli strumenti di gestione progetti. Ciascun elemento della lista è un oggetto GenericItem che è essenzialmente una HashMap con coppie chiave/valore di tipo String. In seguito all'analisi dei Web Services utili per l'implementazione dell'estrattore di metriche è stato scelto il linguaggio di programmazione con cui realizzare il software. Come già anticipato la scelta si è orientata su Java, in quanto maggiormente compatibile con il resto del sistema Spago4Q nel quale l'applicazione si sarebbe dovuta integrare. Per la scrittura del codice è stata utilizzata la piattaforma Eclipse che, anche grazie al plugin Axis disponibile in rete, ha semplicato la fase di creazione del client per l'accesso ai servizi e le successive fasi di debug dell'applicazione. Axis, sviluppato dallo stesso team di sviluppatori della piattaforma Apache Tomcat, è essenzialmente un framework per la costruzione di gestori di messaggi SOAP (come client, server, gateway) scritto in Java. Oltre a questa funzionalità comprende anche un servizio server in grado di interfacciarsi con motori servlet come Tomcat, strumenti per il monitoraggio di pacchetti TCP/IP e alcuni programmi d'esempio. Fornisce inoltre un supporto approfondito al Web Service Description Language e uno strumento in grado di generare classi Java a partire da un documento WSDL. In questo modo è possibile costruire facilmente client per accedere a servizi remoti ed anche esportare le descrizioni dei propri servizi in linguaggio WSDL. Come già anticipato nel paragrafo precedente le pagine web dei servizi comprendono anche il descrittore dei servizi stessi, grazie al quale è stato 73

82 possibile utilizzare le funzionalità di Axis per la creazione del client. Il client realizzato consiste essenzialmente in una classe Locator che istanzia un gestore del servizio, una classe Stub per utilizzare il servizio vero e proprio, e diverse altre classi, una per ogni metodo messo a disposizione dal servizio. Poiché tutti i Web Services risiedono ad indirizzi diversi ed ognuno di essi ha un descrittore specico è stato necessario creare un client distinto per ciascuno, e questo ha reso più dicoltose le successive operazioni di autenticazione al server. 74

83 Autenticazione al Server Il metodo di login fornito dal servizio LoginForms riceve come parametri username e password di un utente e, se questo è già presente nel database di Project Server, restituisce un oggetto booleano impostato a true, altrimenti restituisce il valore false. Quest'operazione di login, però, autentica soltanto la sessione corrente ma non le successive chiamate a Web Service diversi. Dalle prove eettuate, infatti, l'invocazione di altri servizi restituiva l'errore 404 di autenticazione al server che indica l'assenza delle autorizzazioni necessarie. Monitorando il traco HTTP tra client e server durante l'operazione di login si è notato che nel pacchetto di risposta inviato dal server l'oggetto booleano è l'unico elemento presente nella busta SOAP ma nell'header del messaggio HTTP viene restituito un cookie che può essere utilizzato per identicare l'utente nelle chiamate successive. Il ciclo di vita di tale cookie è di venti minuti, intervallo più che suciente per l'estrazione dei dati di interesse. Scaduto quell'intervallo di tempo è necessario eettuare una nuova operazione di login in modo da ottenere un cookie aggiornato. Poiché nelle classi del client create da Axis non esiste un metodo esplicito per estrarre il cookie di un pacchetto HTTP ricevuto o per impostarne uno generato ad hoc in un messaggio inviato è stato necessario implementare successivamente tale operazione di gestione del cookie. Attraverso il debug dell'applicazione è stato recuperato il cookie (in formato String) dal pacchetto ricevuto in risposta all'operazione di login avvenuta con successo. Completata questa fase alla classe Stub degli altri Web Services è stato aggiunto il metodo setcookie(string cookie) per impostare l'header cookie di tutte le successive richieste. Utilizzo dei servizi Project e CustomFields Il servizio Project fornito da Microsoft consente l'estrazione di tutti i dati relativi ai progetti presenti nell'archivio ed è stato quello più importante ai ni del progetto. Il suo metodo readprojectlist() 75

84 che non necessita di alcun parametro, restituisce un DataSet che contiene l'elenco dei progetti registrati dall'organizzazione. Da questo elenco è poi possibile estrarre informazioni dettagliate sui singoli progetti utilizzando il metodo readproject(string projectuid, DataStoreEnum status) che ha come parametri il codice identicativo del progetto di interesse e un oggetto che identica lo stato del progetto (WorkingStore, Published- Store, VersionsStore o ReportingStore). Quest'ultimo metodo restituisce un DataSet nel quale, una volta interpretato come documento XML (gura 8.5), sono presenti tutte le informazioni globali sul progetto, sulle singole attività, sulle risorse e sui campi personalizzati dell'organizzazione che sono stati associati alle attività. Figura 8.5: DataSet estratto attraverso il metodo readproject Per un'analisi dettagliata di tali campi è stato però necessario ricorrere al metodo readcustom(string xmlfilter, boolean autocheckout) del Web Service CustomFields che estrae dal server un DataSet contenente l'elenco di tutti i custom elds registrati dell'organizzazione e tutte le informazioni su di essi. Una volta estratti dal database di Project Server i dati relativi ai progetti sono stati ltrati in modo da mantenere soltanto quelli 76

85 rilevanti alla valutazione dei KPI. I dati di interesse sono stati poi inseriti in una lista di oggetti di tipo GenericItem, ciascuno dei quali è essenzialmente una HashMap contenente coppie chiave/valore costituite da nome/valore del parametro in formato String, che deve essere elaborata dai componenti analitici di Spago4Q per l'inserimento nella tabella costruita appositamente all'interno del data warehouse aziendale. L'oggetto GenericItem creato durante il processo di estrazione contiene, oltre che i valori degli indicatori specicati da Project Server, anche altri tipi di parametri. Questi parametri sono stati inseriti appositamente per riuscire ad identicare in maniera più accurata il tipo di fasi di progetto a cui tali indicatori fanno riferimento. In particolare sono stati aggiunti dei campi per indicare il tipo di fase considerata (progetto, metafase o semplice attività), il progetto di appartenenza e un codice identicativo della metafase (denito preventivamente durante la fase organizzativa) per raggruppare le varie attività secondo la metafase di appartenenza. In questo modo è stata creata una struttura ad albero (vedi g. 8.6) che semplica il lavoro durante la fase di creazione dei report graci. Figura 8.6: Struttura ad albero del data warehouse 77

86 Tutti gli indicatori di interesse, utili per la valutazione dello stato di avanzamento del progetto, sono elencati nella tabella 8.1, che comprende la tag del documento XML relativa all'indicatore e una descrizione dell'indicatore stesso. Tag Descrizione <PROJECT_NAME> Nome del progetto a cui appartiene l'attività <METAFASE_NAME> Nome della metafase di progetto a cui appartiene l'attività <METAFASE_CODE> Codice identicativo della metafase; questo campo è diverso da null solo per le attività identicate come metafasi <PHASE_TYPE> Tipo della fase considerata; può essere un progetto, una metafase, o una semplice attività (task) <PROJ_UID> Codice univoco identicativo del progetto a cui appartiene il task <TASK_UID> Codice univoco identicativo del task <TASK_NAME> Nome dell'attività che viene visualizzato nel diagramma di Gantt <TASK_IS_MILESTONE> Indica se il task è una milestone oppure no <TASK_DUR> Durata dell'attività <TASK_DUR_VAR> Varianza della durata del task; è la differenza tra la durata prevista e l'attuale durata dell'attività <TASK_EAC> Estimate at completion: è il costo totale previsto per un task, basato sui costi già sostenuti, a cui viene aggiunto il costo pianicato per il lavoro rimanente <TASK_VAC> Variance at completion: è la dierenza tra TB_COST e TASK_EAC 78

87 <TASK_ACT_DUR> Durata attuale dell'attività. Rappresenta una stima basata sulla durata prevista per l'attività e sul lavoro rimanente o sulla percentuale di lavoro completato <TASK_REM_DUR> Tempo richiesto per completare la parte rimanente del task <TASK_PCT_COMP> La percentuale di completamento dell'attività è basata sul tempo trascorso confrontato con il tempo rimanente per l'attività <TASK_PCT_WORK_COMP> Percentuale di lavoro svolto confrontato con il lavoro restante <TASK_WORK> Tempo totale previsto per il completamento dell'attività <TASK_ACT_WORK> Lavoro svolto dalle risorse assegnate all'attività <TASK_REM_WORK> Tempo richiesto per il completamento dell'attività <TASK_COST> Costo dell'attività <TASK_ACT_COST> Costo attuale dell'attività <TASK_REM_COST> Costo rimanente per il completamento dell'attività <TB_COST> Il costo previsto dalla baseline per il completamento totale del task <TB_WORK> Lavoro previsto in origine che deve essere svolto dalle risorse assegnate all'attività <TB_DUR> Durata prevista per il completamento dell'attività <TASK_BCWS> Budgeted cost of work scheduled: costo previsto a budget <TASK_BCWP> Budgeted cost of work performed: è l'earned value, ossia un indicatore sul valore del lavoro eettivamente svolto <TASK_ACWP> Actual cost of work performed: costo eettivamente sostenuto per l'attività 79

88 <TASK_WBS> Work breakdown structure: codice che indica le relazioni tra i vari task e permette di ricostruire la struttura gerarchica del progetto <TASK_COST_VAR> La varianza di costo è la dierenza tra il costo previsto nella baseline e il costo totale di un'attività <TASK_CPI> Cost performance index: BCWP/ACWP. Consente di fare previsioni sui costi complessivi dell'intero progetto <TASK_CV> Varianza del costo. Calcolata come BCWP - ACWP <TASK_SV> Varianza della schedulazione. Vale BCWP - BCWS <TASK_TCPI> Task to complete performance index: rapporto tra il budget ancora disponibile e il costo previsto delle attività rimanenti <TASK_WORK_VAR> La varianza del lavoro è la dierenza tra il lavoro previsto nella baseline e il lavoro attuale che è stato schedulato <TASK_START_VAR> Dierenza tra l'inizio dell'attività previsto dalla baseline e quello eettivo. Permette di capire se un task è iniziato in ritardo rispetto a quanto previsto <TASK_START_DATE> Data di inizio dell'attività Tabella 8.1: KPI estratti da Microsoft Project Server Una volta terminata la parte relativa alla costruzione dell'estrattore si è dovuto procedere alla sua integrazione all'interno della piattaforma Spago4Q. 80

89 8.4 Integrazione nell'ambiente Spago4Q All'interno della piattaforma Spago4Q l'utilizzo di un estrattore presuppone la specica di un insieme di parametri che deniscano un processo di estrazione, una sorgente dati da cui estrarre gli indicatori e un'interfaccia nella quale memorizzarne i valori. Questi parametri sono già stati introdotti nel capitolo e sono quelli che costituiscono il meta-modello per gli estrattori. Per questo si manterrà anche in questo capitolo la suddivisione logica dei parametri relativi a sorgenti dai, interfacce e processo di estrazione. Sorgenti dati La prima fase corrisponde alla denizione di un source type; un data source è infatti un'istanza del source type. Come mostrato in gura 8.7 oltre al nome del source type è necessario indicare il nome della classe Java che si occuperà dell'estrazione. Figura 8.7: Denizione del Data Source Completata quest'operazione è stato denito il data source e i valori dei parametri necessari all'estrattore. In questo caso sono stati utilizzati come variabili username e password per l'autenticazione al server di Microsoft Project, il tipo di progetti da cui estrarre i dati e la granularità degli indicatori desiderati (solo indicatori di progetto, delle metafasi o di ogni attività del processo di sviluppo). Nel caso ci siano parametri protetti, come le password, esiste la possibilità di eettuare una cifratura su di essi, in modo da memorizzarli criptati all'interno di Spago4Q. 81

90 Interfacce dati Parallelamente alla denizione del data source viene creata l'interfaccia dati, nella quale verranno poi denite le tabelle dei fatti contenenti i valori degli indicatori estratti. Attraverso l'opzione Interfacce presente in Spago4Q viene prodotta una nuova interfaccia (gura 8.8), nella cui descrizione è anche indicato il nome della fact table da inserire nel data warehouse con il presso FT_. Figura 8.8: Denizione di un'interfaccia Prima di creare la tabella, però, è necessario specicare le caratteristiche dei campi che popoleranno la tabella (gura 8.9). Figura 8.9: Denizione di un campo dell'interfaccia Per ciascuno di essi deve essere indicato: il nome del campo; il tipo dei valori che verranno inseriti (String, Integer, Double, Boolean o Date); 82

91 se si tratta di un campo sensibile. In questo caso alle estrazioni successive verrà controllato se i campi sensibili sono stati modicati e in caso positivo verrà inserita una nuova riga contenente i nuovi valori; se si tratta di un campo chiave. Si ricorda che i campi chiave devono poter identicare univocamente un elemento all'interno del data warehouse. Processo di estrazione Una volta che sono stati specicati sia la sorgente dati che l'interfaccia può essere denito il processo di estrazione, che funge da ponte di collegamento tra queste due parti. Un processo di estrazione consiste in un insieme di operazioni, ciascuna delle quali estrae i dati dal data source, li trasforma e li carica nella fact table. Tale processo, che corrisponde all'entità logica S4Q_E_PROCESS del meta-modello, deve essere stabilito esplicitamente tramite l'interfaccia graca di Spago4Q (gura 8.10). Figura 8.10: Creazione del processo di estrazione Qui è possibile denire: Nome: identica il processo di estrazione Descrizione: è possibile fornire una descrizione testuale del processo Coordinatore: la classe coordinatore da utilizzare. Se il valore di questo campo non viene modicato viene utilizzato il DefaultCoordinator già disponibile nel sistema, altrimenti è possibile utilizzarne uno implementato in base alle proprie esigenze. 83

92 Periodicità: periodicità con cui eseguire l'estrazione dei dati dal datasource. È possibile scegliere tra alcuni valori predeniti ricordando che in ogni caso l'estrazione potrà avvenire nei tempi desiderati attraverso l'esecuzione manuale del processo. Una volta denito il processo di estrazione è stata creata l'operazione relativa, che collega il coordinatore del processo alla sorgente dati e alla tabella dei fatti dell'interfaccia. La gura 8.11 mostra appunto le impostazioni relative all'operazione di estrazione: Nome: identicatore per l'operazione Descrizione: una descrizione dell'operazione Data Source: la sorgente dati dalla quale estrarre i dati relativi ai progetti Interfaccia: l'interfaccia alla quale è associata l'operazione di estrazione. Nell'interfaccia, dove è stata denita la tabella dei fatti, verranno inseriti i valori degli indicatori estratti dai tool di project management. Figura 8.11: Creazione dell'operazione di estrazione Tra i dettagli dell'operazione è poi possibile aggiungere i parametri che devono essere utilizzati dall'estrattore; per l'estrattore utilizzato non si è resa necessaria l'introduzione di ulteriori variabili, ma nel caso di un estrattore da database qui può, ad esempio, essere specicata la query da sottoporre al database. 84

93 Terminata la fase di denizione dei tre ambienti le ultime operazioni da compiere prima di poter eettuare l'estrazione dei dati sono la mappatura degli indicatori estratti con i campi presenti nella fact table (gura 8.12) e la trasformazione dei dati estratti tramite script. Figura 8.12: Mappatura dei dati estratti nei campi della fact table Per la mappatura dei dati è suciente indicare il nome degli elementi presenti nel GenericItem creato dall'estrattore, il relativo campo dell'interfaccia e l'eventuale script di trasformazione da eseguire prima dell'inserimento del dato nella tabella. Lo script di trasformazione, generalmente scritto in linguaggio Groovy o Javascript, è necessario quando i dati vengono estratti in un formato non corretto rispetto a quanto atteso da MySQL (DBMS sul quale si basa la struttura del data warehouse), come nel caso delle date o dei valori booleani. Completata anche quest'ultima fase può essere eseguito il processo di estrazione: 1. il coordinatore avvia l'operazione di estrazione utilizzando i parametri specicati nell'operation parameter; 2. attraverso la classe estrattore indicata nel source type e con i parametri necessari al data source vengono estratti i dati dagli strumenti di gestione progetti; 3. tramite le speciche di mappatura espresse nell'operation eld i dati ricavati vengono inseriti nella tabella dei fatti specicata nell'interface type, eventualmente dopo la trasformazione tramite script In questo modo il data warehouse è popolato con tutti i dati, i quali dovranno poi essere utilizzati nella stesura dei documenti analitici per l'analisi accurata dei progetti. 85

94 8.5 Rappresentazione graca delle metriche Come anticipato nel capitolo 7, gli indicatori raccolti nel data warehouse di Spago4Q devono poter essere visualizzati in una forma chiara e signicativa, in modo da rappresentare una fonte di informazioni facilmente e rapidamente comprensibile per i manager di progetto. Una volta completato con successo il processo di estrazione dei dati da Microsoft Project Server si è passati alla creazione dei report graci da pubblicare poi all'interno della piattaforma Spago4Q. Questi documenti analitici possono essere di due tipi: report semplici, creati attraverso motori di reportistica esterni alla piattaforma Spago4Q e che quando vengono eseguiti prelevano i valori degli indicatori dal data warehouse e li inseriscono all'interno del layout graco specicato nel report documenti KPI, integrati con il motore di Spago4Q, che prevedono la valutazione delle metriche secondo i modelli KPI deniti nel sistema Nei paragra seguenti vengono descritte in dettaglio le operazioni compiute per la creazione di tali documenti e i risultati ottenuti Report ireport (gura 8.13), il software open source che si è deciso di utilizzare per lo sviluppo (distribuito sotto licenza GNU GPL), tramite un'interfaccia graca completa e intuitiva permette la costruzione di report, compatibili con qualunque tipo di applicazioni Java, attraverso l'uso delle librerie JasperReports. Per la creazione dei report si è cercato di mantenere un layout quanto più possibile chiaro ed ecace, tramite una tabella contenente soltanto le informazioni fondamentali e un indicatore graco facilmente comprensibile. Per ricavare i dati da inserire all'interno dei report ireport ricorre a query parametriche da sottoporre al data source specicato nella denizione dell'ambiente operativo. Un esempio di tale query è mostrato in gura I parametri utilizzati sono stati il nome del progetto di cui si vuole monitorare lo sviluppo e le date di riferimento per gli indicatori. Nel caso di report contenenti trend storici si sono considerate due date, quella di inizio e quella di 86

95 Figura 8.13: Interfaccia graca di ireport ne, che denissero un intervallo temporale. Per analisi puntuali invece, che richiedono la visualizzazione dello stato del progetto in un istante specico del processo di sviluppo, è stata utilizzata una sola data. Figura 8.14: Query di esempio all'interno di ireport Attraverso ireport è stato anche possibile vericare la correttezza dei re- 87

96 port creati, sia per quanto riguarda la struttura graca successiva alla compilazione del documento sia per i dati inseriti in esso. Prima dell'esecuzione del documento all'interno di Spago4Q è stato necessario inserire alcune speciche, riguardanti i parametri che vengono utilizzati nella query di reperimento dei dati dal data warehouse. Nella denizione dei LOV (List Of Values) sono state inserite delle piccole query che ricavassero dal data warehouse i nomi dei progetti inseriti. Queste LOV sono state poi associate a dei driver analitici, ossia i parametri considerati nella query. La denizione di un driver analitico, che verrà poi associato ad un report, consente la presentazione all'utente di un menu in cui scegliere il progetto di cui visualizzare gli indicatori. Sono stati quindi creati un driver analitico specico per i nomi dei progetti e uno per le date. Per la pubblicazione del documento all'interno di Spago4Q esiste un'apposita sezione dedicata alla costruzione di documenti analitici (gura 8.15). Figura 8.15: Form di creazione di un nuovo documento analitico All'interno della form di creazione è necessario indicare, tra gli altri, il tipo di documento che si sta producendo (generalmente o report o documenti KPI descritti nel paragrafo successivo), il motore di reportistica che si vuole utilizzare (KpiEngine, JasperReports o Birt), la visibilità del documento (ossia per quale categoria di utenti sarà disponibile) e il le creato con ireport che denisce il template del documento. Qui sono associati al documento anche i parametri deniti dai driver analitici (gura 8.16). 88

97 Figura 8.16: Form per l'associazione di un driver analitico al report Nella form deve essere indicato, oltre al nome del driver analitico considerato, anche quale nome assume il parametro all'interno del documento creato con ireport. Una volta completata la denizione dell'ambiente e di tutti i parametri, il documento analitico può essere eseguito. Nell'esempio mostrato in gura 8.17 vengono visualizzati gli indicatori relativi alla varianza dei costi delle metafasi del progetto Test_Project. Figura 8.17: Varianza dei costi delle metafasi di progetto 89

98 Come si può notare gli elementi principali sono tre: 1. il graco a torta mostra il peso che ogni metafase ha avuto sul costo complessivo del progetto 2. la tabella centrale riporta i valori numerici dettagliati dei costi di ciascuna metafase e della varianza rispetto a quanto pianicato 3. il graco a barre mostra la varianza del costo delle metafasi. Tramite questo graco è immediato identicare quali sono le fasi che hanno richiesto un lavoro del team di sviluppo superiore a quanto pianicato 90

99 8.5.2 Documenti KPI Come anticipato nel capitolo 7, la creazione di un documento KPI prevede la preventiva denizione di un modello di valutazione, che può essere basato sull'approccio GQM così come sul modello CMMI. Per questo, attraverso l'interfaccia di Spago4Q, è stato specicato un modello aderente alle caratteristiche espresse dal documento GQM di gura 5.2. Figura 8.18: Denizione del modello di valutazione In gura 8.18 si può notare che nella denizione del modello è necessario anche indicare il tipo di nodo che si sta creando, in quanto il modello stesso ha una struttura ad albero. Il primo nodo che dovrà essere creato, infatti, sarà il nodo di root. Per tutti gli altri nodi del modello la procedura da seguire sarà la stessa usata in precedenza, denendo per ciascuno se si tratta di un nodo generico oppure un nodo appartenente allo schema GQM (quindi goal, question o metric). Al modello devono poi essere associati i KPI di interesse. Per questo è necessario specicare all'interno del sistema la descrizione degli indicatori (gura 8.19), indicando l'algoritmo di calcolo dei KPI (una descrizione testuale), il nome della soglia a cui fanno riferimento, un eventuale documento analitico (come i report creati in precedenza) al quale si potrà accedere direttamente dal documento KPI e le regole di calcolo del DataSet che permettono il calcolo numerico dell'indicatore. In questa fase sono stati creati tutti i KPI considerati nel documento GQM di gura 5.2, utili alla valutazione dello stato di avanzamento del pro- 91

100 Figura 8.19: Denizione dei KPI getto durante ogni sua fase. Una volta completata la creazione dei KPI a questi vanno associate le relative soglie. Queste ultime vengono create attraverso l'interfaccia e ne vanno specicati i dettagli (gura 8.20), che nel caso di soglie che comprendono un intervallo di valori sono i valori minimo e massimo, il colore dell'intervallo nella rappresentazione graca e la gravità nel caso tali soglie vengano superate (per la gestione degli avvisi). Figura 8.20: Denizione delle caratteristiche dei valori di soglia Quando tutti gli indicatori e le soglie sono state denite, possono venire associate ad un'istanza del modello GQM creato in precedenza. Le istanze dei modelli forniscono il collegamento tra il modello stesso e gli indicatori e le soglie denite dall'organizzazione. Da questa interfaccia è anche possibile denire facoltativamente un intervallo temporale per l'applicazione del modello. In gura 8.21 si può vedere come nella costruzione di una nuova istanza vadano indicate le date di inizio e di ne del periodo di validità della stessa. 92

101 Figura 8.21: Costruzione di un'istanza del modello Ora è possibile visualizzare la struttura ad albero dell'istanza del modello (gura 8.22). Figura 8.22: Struttura ad albero del modello Tramite la creazione di nuovi nodi all'interno dell'istanza possono quindi essere deniti i collegamenti del modello con i KPI e i valori di soglia (gura 8.23). L'istanza del modello è poi associata alle risorse dell'organizzazione, come ad esempio i progetti. Inne viene creato un DataSet per il calcolo di ciascun KPI; nella form di denizione vengono specicate le regole di calcolo attraverso una query parametrica, dove i parametri indicano la risorsa sulla quale si eettua la valutazione, la data in cui viene calcolato l'indicatore ed eventualmente altri parametri (non standard come i due precedenti) che sono stati deniti preventivamente tra i driver analitici del dataset. Un esempio di denizione di un DataSet è presente in gura Qui viene estratto il valore 93

102 Figura 8.23: Associazione dei KPI ai nodi dell'istanza del modello dello SPI (schedule performance index) alla data di valutazione sul progetto desiderato (che qui è stato parametrizzato come $P{ParKpiResource. Figura 8.24: Denizione di un DataSet Completata anche quest'operazione l'ambiente di calcolo dei KPI è stato denito in ogni sua parte. Nell'ultima fase è stato creato un documento KPI, basato sull'ambiente appena specicato, utilizzando le medesime procedure descritte nel paragrafo Report. Una volta selezionato il nodo di interesse all'interno dell'albero di caratterizzazione del modello il documento appena creato può essere eseguito. Il risultato dell'esecuzione di un documento KPI di esempio è mostrato in gura

103 Figura 8.25: Documento KPI In questo documento è fornita una descrizione dei KPI e un graco che permette di comprendere rapidamente se i valori degli indicatori considerati oltrepassano i livelli di soglia massimi consentiti. 95

1- Corso di IT Strategy

1- Corso di IT Strategy Descrizione dei Corsi del Master Universitario di 1 livello in IT Governance & Compliance INPDAP Certificated III Edizione A. A. 2011/12 1- Corso di IT Strategy Gli analisti di settore riportano spesso

Dettagli

Progetto Atipico. Partners

Progetto Atipico. Partners Progetto Atipico Partners Imprese Arancia-ICT Arancia-ICT è una giovane società che nasce nel 2007 grazie ad un gruppo di professionisti che ha voluto capitalizzare le competenze multidisciplinari acquisite

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

IDENTITÀ GIOVANE. Nata nel 2006 con l intento di diventare leader nel settore IT, Easytech cresce con una solida competenza in tre divisioni:

IDENTITÀ GIOVANE. Nata nel 2006 con l intento di diventare leader nel settore IT, Easytech cresce con una solida competenza in tre divisioni: copertina pg. 1 immagine pg. 2 Easytech è un gruppo di giovani professionisti uniti da un obiettivo comune: proporre le migliori soluzioni per rendere le imprese leggere e pronte a sostenere la competizione

Dettagli

lem logic enterprise manager

lem logic enterprise manager logic enterprise manager lem lem Logic Enterprise Manager Grazie all esperienza decennale in sistemi gestionali, Logic offre una soluzione modulare altamente configurabile pensata per la gestione delle

Dettagli

Business Process Management

Business Process Management Business Process Management Comprendere, gestire, organizzare e migliorare i processi di business Caso di studio a cura della dott. Danzi Francesca e della prof. Cecilia Rossignoli 1 Business process Un

Dettagli

Pietro Antonietti consulente del lavoro

Pietro Antonietti consulente del lavoro Pietro Antonietti consulente del lavoro Firenze 18 maggio 2011 1 La storia Lo studio è nato nel gennaio 1980 a Novara. L'idea di intraprendere questa attività è maturata dalla parziale insoddisfazione,

Dettagli

L o. Walter Ambu http://www.japsportal.org. japs: una soluzione agile (www.japsportal.org)

L o. Walter Ambu http://www.japsportal.org. japs: una soluzione agile (www.japsportal.org) L o JAPS: una soluzione Agile Walter Ambu http://www.japsportal.org 1 Lo sviluppo del software Mercato fortemente competitivo ed in continua evoluzione (velocità di Internet) Clienti sempre più esigenti

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

Dettagli

Il modello di ottimizzazione SAM

Il modello di ottimizzazione SAM Il modello di ottimizzazione control, optimize, grow Il modello di ottimizzazione Il modello di ottimizzazione è allineato con il modello di ottimizzazione dell infrastruttura e fornisce un framework per

Dettagli

WorkFLow (Gestione del flusso pratiche)

WorkFLow (Gestione del flusso pratiche) WorkFLow (Gestione del flusso pratiche) Il workflow è l'automazione di una parte o dell'intero processo aziendale dove documenti, informazioni e compiti vengono passati da un partecipante ad un altro al

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET.

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET. Nome soluzione Ruven S.r.l. Settore: Cosmetica Descrizione Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET. MediaFile

Dettagli

Il Business Process Management nella PA: migliorare la relazione con i cittadini ed ottimizzare i processi interni. A cura di Bernardo Puccetti

Il Business Process Management nella PA: migliorare la relazione con i cittadini ed ottimizzare i processi interni. A cura di Bernardo Puccetti Il Business Process Management nella PA: migliorare la relazione con i cittadini ed ottimizzare i processi interni A cura di Bernardo Puccetti Il Business Process Management nella PA Presentazione SOFTLAB

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Dettagli

PARTNER DI PROGETTO. Università degli Studi di Palermo Dipartimento di Ingegneria Industriale

PARTNER DI PROGETTO. Università degli Studi di Palermo Dipartimento di Ingegneria Industriale PARTNER DI PROGETTO Il raggruppamento dei soggetti attuatori è altamente qualificato. Da una parte, la presenza di quattro aziende del settore ICT garantirà, ognuna per le proprie aree di competenza, un

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

Incentive & La soluzione per informatizzare e gestire il processo di. Performance Management

Incentive & La soluzione per informatizzare e gestire il processo di. Performance Management Incentive & Performance Management La soluzione per informatizzare e gestire il processo di Performance Management Il contesto di riferimento La performance, e di conseguenza la sua gestione, sono elementi

Dettagli

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ SERVIZI DI PROJECT MANAGEMENT CENTRATE I VOSTRI OBIETTIVI LA MISSIONE In qualità di clienti Rockwell Automation, potete contare

Dettagli

COS È UN MULTI FAMILY OFFICE

COS È UN MULTI FAMILY OFFICE Cos è un multi family office Il multi family office è la frontiera più avanzata del wealth management. Il suo compito è quello di coordinare ed integrare in unico centro organizzativo tutte le attività

Dettagli

Allegato 2 Modello offerta tecnica

Allegato 2 Modello offerta tecnica Allegato 2 Modello offerta tecnica Allegato 2 Pagina 1 Sommario 1 PREMESSA... 3 1.1 Scopo del documento... 3 2 Architettura del nuovo sistema (Paragrafo 5 del capitolato)... 3 2.1 Requisiti generali della

Dettagli

La tecnologia cloud computing a supporto della gestione delle risorse umane

La tecnologia cloud computing a supporto della gestione delle risorse umane La tecnologia cloud computing a supporto della gestione delle risorse umane L importanza delle risorse umane per il successo delle strategie aziendali Il mondo delle imprese in questi ultimi anni sta rivolgendo

Dettagli

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi Project Management Modulo: Introduzione prof. ing. Guido Guizzi Definizione di Project Management Processo unico consistente in un insieme di attività coordinate con scadenze iniziali e finali, intraprese

Dettagli

MANUALE DELLA QUALITÀ SIF CAPITOLO 08 (ED. 01) MISURAZIONI, ANALISI E MIGLIORAMENTO

MANUALE DELLA QUALITÀ SIF CAPITOLO 08 (ED. 01) MISURAZIONI, ANALISI E MIGLIORAMENTO INDICE 8.1 Generalità 8.2 Monitoraggi e Misurazione 8.2.1 Soddisfazione del cliente 8.2.2 Verifiche Ispettive Interne 8.2.3 Monitoraggio e misurazione dei processi 8.2.4 Monitoraggio e misurazione dei

Dettagli

Comprendere il Cloud Computing. Maggio, 2013

Comprendere il Cloud Computing. Maggio, 2013 Comprendere il Cloud Computing Maggio, 2013 1 Cos è il Cloud Computing Il cloud computing è un modello per consentire un comodo accesso alla rete ad un insieme condiviso di computer e risorse IT (ad esempio,

Dettagli

Sistemi e Modelli per la Gestione delle Risorse Umane a supporto della Direzioni Personale

Sistemi e Modelli per la Gestione delle Risorse Umane a supporto della Direzioni Personale GESTIONE RISORSE UMANE Sistemi e Modelli per la Gestione delle Risorse Umane a supporto della Direzioni Personale Consulenza Aziendale in Ambito HR Integrazione Dati ed Analisi Multidimensionali Software

Dettagli

La Formazione: elemento chiave nello Sviluppo del Talento. Enzo De Palma Business Development Director

La Formazione: elemento chiave nello Sviluppo del Talento. Enzo De Palma Business Development Director La Formazione: elemento chiave nello Sviluppo del Talento Enzo De Palma Business Development Director Gennaio 2014 Perché Investire nello Sviluppo del Talento? http://peterbaeklund.com/ Perché Investire

Dettagli

Convegno 6 giugno 2013 Federlazio Frosinone

Convegno 6 giugno 2013 Federlazio Frosinone Convegno 6 giugno 2013 Federlazio Frosinone pag. 1 6 giugno 2013 Federlazio Frosinone Introduzione alla Business Intelligence Un fattore critico per la competitività è trasformare la massa di dati prodotti

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard Quality gate Nei punti chiave del processo di sviluppo del software, viene integrato un insieme di quality gate per monitorare la qualità del prodotto intermedio prima che quest ultimo possa passare al

Dettagli

Politica per la Sicurezza

Politica per la Sicurezza Codice CODIN-ISO27001-POL-01-B Tipo Politica Progetto Certificazione ISO 27001 Cliente CODIN S.p.A. Autore Direttore Tecnico Data 14 ottobre 2014 Revisione Resp. SGSI Approvazione Direttore Generale Stato

Dettagli

Controllo di Gestione

Controllo di Gestione Pianificazione e controllo del business aziendale Controllo di Gestione In un contesto altamente complesso e competitivo quale quello moderno, il controllo di gestione ricopre un ruolo quanto mai strategico:

Dettagli

Gestione in qualità degli strumenti di misura

Gestione in qualità degli strumenti di misura Gestione in qualità degli strumenti di misura Problematiche Aziendali La piattaforma e-calibratione Il servizio e-calibratione e-calibration in action Domande & Risposte Problematiche Aziendali incertezza

Dettagli

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras 2 Introduzione Le architetture basate sui servizi (SOA) stanno rapidamente diventando lo standard de facto per lo sviluppo delle applicazioni aziendali.

Dettagli

DSCube. L analisi dei dati come strumento per i processi decisionali

DSCube. L analisi dei dati come strumento per i processi decisionali DSCube L analisi dei dati come strumento per i processi decisionali Analisi multi-dimensionale dei dati e reportistica per l azienda: DSCube Introduzione alla suite di programmi Analyzer Query Builder

Dettagli

Risparmiare innovando

Risparmiare innovando GIANLUCA VAGLIO Risparmiare innovando La tecnologia come strumento di risparmio 2011 Gianluca Vaglio www.gianlucavaglio.net Avvertenze legali AVVERTENZE LEGALI Copyright 2011 Gianluca Vaglio. La presente

Dettagli

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue Tecnologia e professionalità al servizio del business, dal 1986 Programmare in ambiente Java Enterprise: l offerta Copyright 2006 Infodue S.r.l. La programmazione nell era era del Web Computing L evoluzione

Dettagli

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L. DATA WAREHOUSE Un Dataware House può essere definito come una base di dati di database. In molte aziende ad esempio ci potrebbero essere molti DB, per effettuare ricerche di diverso tipo, in funzione del

Dettagli

IL CASO DELL AZIENDA. Perché SAP. www.softwarebusiness.it

IL CASO DELL AZIENDA. Perché SAP. www.softwarebusiness.it LA SOLUZIONE SAP FOR PROFESSIONAL SERVICES IL CASO DELL AZIENDA Perché SAP Grazie a SAP siamo riusciti a pianificare meglio e ad ottenere tempestive informazioni su tempi e costi delle nostre commesse.

Dettagli

Dematerializzare per Semplificare

Dematerializzare per Semplificare 1 Dematerializzare per Semplificare Dematerializzare non significa solamente il passaggio dalla carta al digitale. La semplificazione si ottiene solo con una profonda comprensione della complessità dei

Dettagli

Norme per l organizzazione - ISO serie 9000

Norme per l organizzazione - ISO serie 9000 Norme per l organizzazione - ISO serie 9000 Le norme cosiddette organizzative definiscono le caratteristiche ed i requisiti che sono stati definiti come necessari e qualificanti per le organizzazioni al

Dettagli

Diventa fondamentale che si verifichi una vera e propria rivoluzione copernicana, al fine di porre al centro il cliente e la sua piena soddisfazione.

Diventa fondamentale che si verifichi una vera e propria rivoluzione copernicana, al fine di porre al centro il cliente e la sua piena soddisfazione. ISO 9001 Con la sigla ISO 9001 si intende lo standard di riferimento internazionalmente riconosciuto per la Gestione della Qualità, che rappresenta quindi un precetto universale applicabile all interno

Dettagli

ILSISTEMA INTEGRATO DI PRODUZIONE E MANUTENZIONE

ILSISTEMA INTEGRATO DI PRODUZIONE E MANUTENZIONE ILSISTEMA INTEGRATO DI PRODUZIONE E MANUTENZIONE L approccio al processo di manutenzione Per Sistema Integrato di Produzione e Manutenzione si intende un approccio operativo finalizzato al cambiamento

Dettagli

Resource Management. Cicom s.r.l.

Resource Management. Cicom s.r.l. Resource Management Cicom s.r.l. Resource Management Resource Management è un insieme innovativo e flessibile di applicazioni software che consentono all azienda di implementare la propria visione strategica

Dettagli

IBM Software Demos The Front-End to SOA

IBM Software Demos The Front-End to SOA Oggi, imprese piccole e grandi utilizzano software basato sull'architettura SOA (Service-Oriented Architecture), per promuovere l'innovazione, ottimizzare i processi aziendali e migliorare l'efficienza.

Dettagli

GESTIONE AVANZATA DEI MATERIALI

GESTIONE AVANZATA DEI MATERIALI GESTIONE AVANZATA DEI MATERIALI Divulgazione Implementazione/Modifica Software SW0003784 Creazione 23/01/2014 Revisione del 25/06/2014 Numero 1 Una gestione avanzata dei materiali strategici e delle materie

Dettagli

MODELLO ORGANIZZATIVO REGIONALE PER LA GESTIONE DEL RISCHIO CLINICO.

MODELLO ORGANIZZATIVO REGIONALE PER LA GESTIONE DEL RISCHIO CLINICO. ALLEGATO A MODELLO ORGANIZZATIVO REGIONALE PER LA GESTIONE DEL RISCHIO CLINICO. il sistema organizzativo che governa le modalità di erogazione delle cure non è ancora rivolto al controllo in modo sistemico

Dettagli

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo CAPITOLO 8 Tecnologie dell informazione e controllo Agenda Evoluzione dell IT IT, processo decisionale e controllo Sistemi di supporto al processo decisionale Sistemi di controllo a feedback IT e coordinamento

Dettagli

25/11/14 ORGANIZZAZIONE AZIENDALE. Tecnologie dell informazione e controllo

25/11/14 ORGANIZZAZIONE AZIENDALE. Tecnologie dell informazione e controllo ORGANIZZAZIONE AZIENDALE 1 Tecnologie dell informazione e controllo 2 Evoluzione dell IT IT, processo decisionale e controllo Sistemi di supporto al processo decisionale IT e coordinamento esterno IT e

Dettagli

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

Dettagli

InitZero s.r.l. Via P. Calamandrei, 24-52100 Arezzo email: info@initzero.it

InitZero s.r.l. Via P. Calamandrei, 24-52100 Arezzo email: info@initzero.it izticket Il programma izticket permette la gestione delle chiamate di intervento tecnico. E un applicazione web, basata su un potente application server java, testata con i più diffusi browser (quali Firefox,

Dettagli

PROFILO AZIENDALE 2011

PROFILO AZIENDALE 2011 PROFILO AZIENDALE 2011 NET STUDIO Net Studio è un azienda che ha sede in Toscana ma opera in tutta Italia e in altri paesi Europei per realizzare attività di Consulenza, System Integration, Application

Dettagli

Trasparenza e Tracciabilità

Trasparenza e Tracciabilità Trasparenza e Tracciabilità Il punto di vista delle stazioni appaltanti e le tipologie di strumenti informatici di supporto Dott. Ing. Paolo Mezzetti Ferrara 8 Maggio 2015 Contenuti I Profilo STEP II Il

Dettagli

03. Il Modello Gestionale per Processi

03. Il Modello Gestionale per Processi 03. Il Modello Gestionale per Processi Gli aspetti strutturali (vale a dire l organigramma e la descrizione delle funzioni, ruoli e responsabilità) da soli non bastano per gestire la performance; l organigramma

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

Dettagli

Il modello veneto di Bilancio Sociale Avis

Il modello veneto di Bilancio Sociale Avis Il modello veneto di Bilancio Sociale Avis Le organizzazioni di volontariato ritengono essenziale la legalità e la trasparenza in tutta la loro attività e particolarmente nella raccolta e nell uso corretto

Dettagli

QUESTIONARIO 3: MATURITA ORGANIZZATIVA

QUESTIONARIO 3: MATURITA ORGANIZZATIVA QUESTIONARIO 3: MATURITA ORGANIZZATIVA Caratteristiche generali 0 I R M 1 Leadership e coerenza degli obiettivi 2. Orientamento ai risultati I manager elaborano e formulano una chiara mission. Es.: I manager

Dettagli

Credex LA PIATTAFORMA PER LA GESTIONE DELLA CATENA ESTESA DEL VALORE DEL RECUPERO CREDITI. ABI Consumer Credit 2003. Roma, 27 marzo 2003

Credex LA PIATTAFORMA PER LA GESTIONE DELLA CATENA ESTESA DEL VALORE DEL RECUPERO CREDITI. ABI Consumer Credit 2003. Roma, 27 marzo 2003 LA PIATTAFORMA PER LA GESTIONE DELLA CATENA ESTESA DEL VALORE DEL RECUPERO CREDITI ABI Consumer Credit 2003 Roma, 27 marzo 2003 Questo documento è servito da supporto ad una presentazione orale ed i relativi

Dettagli

tel soft servizi Vi accompagniamo nell'evoluzione dei Vostri sistemi informativi, creando valore e competitività.

tel soft servizi Vi accompagniamo nell'evoluzione dei Vostri sistemi informativi, creando valore e competitività. tel soft servizi Vi accompagniamo nell'evoluzione dei Vostri sistemi informativi, creando valore e competitività. tel soft servizi Da oltre un decennio al Vostro fianco Chi siamo Mission Telinsoft Servizi

Dettagli

Scheda. Il CRM per la Gestione del Marketing. Accesso in tempo reale alle Informazioni di rilievo

Scheda. Il CRM per la Gestione del Marketing. Accesso in tempo reale alle Informazioni di rilievo Scheda Il CRM per la Gestione del Marketing Nelle aziende l attività di Marketing è considerata sempre più importante poiché il mercato diventa sempre più competitivo e le aziende necessitano di ottimizzare

Dettagli

Ciclo di vita dimensionale

Ciclo di vita dimensionale aprile 2012 1 Il ciclo di vita dimensionale Business Dimensional Lifecycle, chiamato anche Kimball Lifecycle descrive il framework complessivo che lega le diverse attività dello sviluppo di un sistema

Dettagli

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE: IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:! definisce i bisogni e i desideri insoddisfatti! ne definisce l ampiezza! determina quali mercati obiettivo l impresa può meglio servire! definisce i prodotti

Dettagli

manifatturiera e per i servizi

manifatturiera e per i servizi CAPITOLO 7 Tecnologie per la produzione manifatturiera e per i servizi Agenda Tecnologia e core technology Processi core ed ausiliari Tecnologia e struttura organizzativa Tecnologia core manifatturiera

Dettagli

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo.

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo. Pag. 1 di 5 6FRSR analizzare problemi complessi riguardanti la gestione di un sito interattivo proponendo soluzioni adeguate e facilmente utilizzabili da una utenza poco informatizzata. 2ELHWWLYL GD UDJJLXQJHUH

Dettagli

L a p i p at a taf a or o ma a p e p r e ga g r a an a t n ire e l ef e fici c en e za za e n e e n r e ge g t e ica Powered By

L a p i p at a taf a or o ma a p e p r e ga g r a an a t n ire e l ef e fici c en e za za e n e e n r e ge g t e ica Powered By La piattaforma per garantire l efficienza energetica Powered By L efficienza energetica come nuovo punto di forza Secondo la norma ISO EN 50001, l efficienza energetica rappresenta il modo per ottimizzare

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

Archiviazione ottica documentale

Archiviazione ottica documentale Archiviazione ottica documentale Le informazioni che cercate sempre disponibili e condivise, nel pieno rispetto delle norme di sicurezza Chi siamo Cos è Charta Il processo di archiviazione I nostri punti

Dettagli

divisione INFORMATICA

divisione INFORMATICA Reti informatiche CABLATE @atlantidee.it Il fattore critico di successo per qualsiasi attività è rappresentato dall' efficienza delle reti informatiche. Una scorretta configurazione della rete o il suo

Dettagli

Il Sistema di Valutazione nel Gruppo UniCredit

Il Sistema di Valutazione nel Gruppo UniCredit Performance Management Il Sistema di Valutazione nel Gruppo UniCredit Da 16 sistemi diversi (in sedici paesi) ad un approccio globale Executive Development and Compensation Milano, 12 Novembre 2010 cfr

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

AMMINISTRARE I PROCESSI

AMMINISTRARE I PROCESSI LE SOLUZIONI AXIOMA PER LE AZIENDE DI SERVIZI AMMINISTRARE I PROCESSI (ERP) Axioma Value Application Servizi Axioma, che dal 1979 offre prodotti software e servizi per le azienda italiane, presenta Axioma

Dettagli

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

2 Gli elementi del sistema di Gestione dei Flussi di Utenza SISTEMA INFORMATIVO page 4 2 Gli elementi del sistema di Gestione dei Flussi di Utenza Il sistema è composto da vari elementi, software e hardware, quali la Gestione delle Code di attesa, la Gestione di

Dettagli

Attività federale di marketing

Attività federale di marketing Attività federale di marketing Gestione e certificazione delle sponsorizzazioni Il Feedback Web Nel piano di sviluppo della propria attività di marketing, la FIS ha adottato il sistema Feedback Web realizzato

Dettagli

BILANCIARSI - Formazione e Consulenza per la legalità e la sostenibilità delle Organizzazioni

BILANCIARSI - Formazione e Consulenza per la legalità e la sostenibilità delle Organizzazioni INTRODUZIONE BilanciaRSI è una società di formazione e consulenza specializzata nei temi della Legalità, della Sostenibilità, della Responsabilità d Impresa e degli Asset Intangibili. Da più di 10 anni

Dettagli

Dematerializzare per Semplificare

Dematerializzare per Semplificare 1 Dematerializzare per Semplificare Dematerializzare non significa solamente il passaggio dalla carta al digitale. La semplificazione si ottiene solo con una profonda comprensione della complessità dei

Dettagli

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita;

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita; .netbin. è un potentissimo strumento SVILUPPATO DA GIEMME INFORMATICA di analisi dei dati con esposizione dei dati in forma numerica e grafica con un interfaccia visuale di facile utilizzo, organizzata

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

La valutazione dell efficienza aziendale ECONOMIA E GESTIONE DELLE IMPRESE

La valutazione dell efficienza aziendale ECONOMIA E GESTIONE DELLE IMPRESE La valutazione dell efficienza aziendale EFFICIENZA E LA CAPACITA DI RENDIMENTO O L ATTITUDINE A SVOLGERE UNA DETERMINATA FUNZIONE. E MISURATA DAL RAPPORTO TRA I RISULTATI CONSEGUITI E LE RISORSE IMPIEGATE

Dettagli

MANUALE DELLA QUALITÀ Pag. 1 di 6

MANUALE DELLA QUALITÀ Pag. 1 di 6 MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.

Dettagli

PROGETTO TECNICO SISTEMA DI GESTIONE QUALITA IN CONFORMITÀ ALLA NORMA. UNI EN ISO 9001 (ed. 2008) n. 03 del 31/01/09 Salvatore Ragusa

PROGETTO TECNICO SISTEMA DI GESTIONE QUALITA IN CONFORMITÀ ALLA NORMA. UNI EN ISO 9001 (ed. 2008) n. 03 del 31/01/09 Salvatore Ragusa PROGETTO TECNICO SISTEMA DI GESTIONE QUALITA IN CONFORMITÀ ALLA NORMA UNI EN ISO 9001 (ed. 2008) Revisione Approvazione n. 03 del 31/01/09 Salvatore Ragusa PROGETTO TECNICO SISTEMA QUALITA Il nostro progetto

Dettagli

Il CRM per la Gestione del Servizio Clienti

Il CRM per la Gestione del Servizio Clienti Scheda Il CRM per la Gestione del Servizio Clienti Le Soluzioni CRM aiutano le aziende a gestire i processi di Servizio e Supporto ai Clienti. Le aziende di Servizio stanno cercando nuove modalità che

Dettagli

La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in

La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in base alle necessità di chiarezza emerse nell utilizzo della precedente versione e per meglio armonizzarla con la ISO 14001:04. Elemento

Dettagli

Comune di San Martino Buon Albergo

Comune di San Martino Buon Albergo Comune di San Martino Buon Albergo Provincia di Verona - C.A.P. 37036 SISTEMA DI VALUTAZIONE DELLE POSIZIONI DIRIGENZIALI Approvato dalla Giunta Comunale il 31.07.2012 INDICE PREMESSA A) LA VALUTAZIONE

Dettagli

PROFILO AZIENDALE NET STUDIO 2015

PROFILO AZIENDALE NET STUDIO 2015 PROFILO AZIENDALE NET STUDIO 2015 NET STUDIO 2015 Net Studio è un azienda che ha sede in Toscana ma opera in tutta Italia e in altri paesi Europei per realizzare attività di Consulenza, System Integration,

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Gestire il rischio di processo: una possibile leva di rilancio del modello di business

Gestire il rischio di processo: una possibile leva di rilancio del modello di business Gestire il rischio di processo: una possibile leva di rilancio del modello di business Gianluca Meloni, Davide Brembati In collaborazione con 1 1 Le premesse del Progetto di ricerca Nella presente congiuntura

Dettagli

IL CASO DELL AZIENDA. www.softwarebusiness.it

IL CASO DELL AZIENDA. www.softwarebusiness.it LA SOLUZIONE SAP NELLE PICCOLE E MEDIE IMPRESE IL CASO DELL AZIENDA Perché SAP Contare su un sistema che ci consente di valutare le performance di ogni elemento del nostro listino è una leva strategica

Dettagli

REPORT GRUPPO DI LAVORO III

REPORT GRUPPO DI LAVORO III REPORT GRUPPO DI LAVORO III Piattaforma web Network per la RCS per la gestione dei flussi informativi ed organizzazione Centrale di produzione coordinata e permanente delle pillole informative del SSR

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

È evidente dunque l'abbattimento dei costi che le soluzioni ASP permettono in quanto:

È evidente dunque l'abbattimento dei costi che le soluzioni ASP permettono in quanto: Sitea Easy Events Il software gestionale per organizzare eventi fieristici Sitea Information Technology presenta Sitea Easy Events, il software gestionale studiato per ottimizzare il processo di organizzazione

Dettagli

Università degli Studi di Milano 16 gennaio 2007. Dipartimento Informatica e Comunicazione aula Beta

Università degli Studi di Milano 16 gennaio 2007. Dipartimento Informatica e Comunicazione aula Beta Università degli Studi di Milano 16 gennaio 2007 Dipartimento Informatica e Comunicazione aula Beta DICo: seminario 16/01/07 Reply Reply è una società di Consulenza, System Integration, Application Management

Dettagli

Specifiche tecniche e funzionali del Sistema Orchestra

Specifiche tecniche e funzionali del Sistema Orchestra Specifiche tecniche e funzionali del Sistema Orchestra Sommario 1. Il Sistema Orchestra... 3 2. Funzionalità... 3 2.1. Sistema Orchestra... 3 2.2. Pianificazione e monitoraggio dei piani strategici...

Dettagli

Valutazione del potenziale

Valutazione del potenziale Valutazione del potenziale I servizi offerti da Noema 1 La valutazione è riferita alle capacità che la persona possiede e può essere fatta su due ambiti in particolare: prestazioni: verifica di quanto

Dettagli

IL REPORTING DIREZIONALE

IL REPORTING DIREZIONALE IL REPORTING DIREZIONALE Il Reporting Direzionale è uno degli strumenti chiave necessari al management per governare l azienda e rappresenta il momento di sintesi delle rilevazioni contabili che permettono

Dettagli

REALIZZARE UN MODELLO DI IMPRESA

REALIZZARE UN MODELLO DI IMPRESA REALIZZARE UN MODELLO DI IMPRESA - organizzare e gestire l insieme delle attività, utilizzando una piattaforma per la gestione aziendale: integrata, completa, flessibile, coerente e con un grado di complessità

Dettagli

A.I.N.I. Associazione Imprenditoriale della Nazionalità Italiana Udruga Poduzetnika Talijanske Narodnosti

A.I.N.I. Associazione Imprenditoriale della Nazionalità Italiana Udruga Poduzetnika Talijanske Narodnosti L AINI ( ) è un Associazione di artigiani e di piccole e medie imprese appartenenti ai diversi settori merceologici i cui proprietari sono appartenenti alla Comunità Nazionale Italiana in Croazia (CNI),

Dettagli

Prodotto <ADAM DASHBOARD> Release <1.0> Gennaio 2015

Prodotto <ADAM DASHBOARD> Release <1.0> Gennaio 2015 Prodotto Release Gennaio 2015 Il presente documento e' stato redatto in coerenza con il Codice Etico e i Principi Generali del Controllo Interno Sommario Sommario... 2 Introduzione...

Dettagli

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda. Scheda Il CRM per la Gestione delle Vendite Le organizzazioni di vendita sono costantemente alla ricerca delle modalità migliori per aumentare i ricavi aziendali e ridurre i costi operativi. Oggi il personale

Dettagli

INDICOD-ECR Istituto per le imprese di beni di consumo

INDICOD-ECR Istituto per le imprese di beni di consumo INDICOD-ECR Istituto per le imprese di beni di consumo GLOBAL SCORECARD Uno strumento di autovalutazione, linguaggio e concetti comuni Versione base - Entry Level Introduzione Introduzione La Global Scorecard

Dettagli