PROCEDURA APERTA PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, ANALISI, SVILUPPO, MANUTENZIONE ADEGUATIVA, CORRETTIVA ED EVOLUTIVA DI SISTEMI INFORMATIVI BASATI SU TECNOLOGIE JAVA E PHP CIG. 56017538CE ALLEGATO 1.1 PROFILI PROFESSIONALI Indice 1. Introduzione... 2 2. Profili professionali richiesti... 3 2.1 Analista sviluppatore senior - JAVA... 3 2.2 Software Architect - JAVA... 2.3 Analista sviluppatore senior - PHP... 5 2. Software Architect - PHP... 6 2.5 Capo Progetto / Analista - JAVA e/o PHP... 7 1
1. Introduzione Nel seguito sono riportati la descrizione dei profili delle figure professionali previste per lo svolgimento del servizio oggetto di fornitura. Per ogni profilo sono descritti i requisiti minimi richiesti in termini di: Linguaggi/Sistemi/Middleware/Ambienti di sviluppo; Competenze acquisite da esperienze pregresse; Caratteristiche personali. Per tutte le figure che avranno contatto con gli utenti si richiede buona conoscenza della lingua italiana e adeguate capacità relazionali che consentano di interagire con i diversi interlocutori. Altrettanto rilevante è la capacità di redigere documenti di progetto in lingua italiana. Questi aspetti, congiuntamente alla capacità di motivare e di gestire gruppi di lavoro, sono particolarmente importanti per le figure che prevedono attività di coordinamento. Per tutti i profili professionali si richiede ottima padronanza degli strumenti informativi di base e del pacchetto Office. 2
2. Profili professionali richiesti 2.1 Analista sviluppatore senior - JAVA PROFILO 1 ANALISTA SVILUPPATORE SENIOR - JAVA Linguaggi Java Enterprise Edition 5, 6, 7 Spring 3.x, core, multicontex, mvc, orm, security Jstl, JSP, Custom EL functions, Custom Tag Lib Hibernate A seconda del progetto uno dei tre: 2 View Freemaker 2.3 Template Engine Velocity SiteMesh 2.3 Groovy CVS/SVN Maven 3.x Javascript/JQuery JQuery Mobile, Kendo 2 HTML.x, 5.x, CSS 2.x, 3.x SQL Webservice soap/rest (jaxws, jaxrs,jersey, cxf, axis, spring ws) 2 Redmine (o altro issue tracker) 1 Middleware Uno dei due in funzione del progetto Tomcat 7.x JBoss 5.x Mysql 5.x Apache WebServer 2.2.x 2 Ambienti di sviluppo Uno dei tre in funzione del progetto: Idea 11.x Netbeans 7.x Eclipse Installare e configurare, in piena autonomia, tecnologie, strumenti, ambienti Condurre una analisi tecnica e procedere alla realizzazione di sistemi complessi in piena autonomia Ottima competenza di realizzazione di applicazioni in ambito web oriented Utilizzo di pattern consolidati per la programmazione Predisposizione alla scrittura di analisi tecnica e documentazione (manuale di utilizzo applicativo). Capacità di eseguire, secondo gli standard di Digicamere, un adeguato piano di test sulle componenti realizzate e/o su tutta l applicazione coinvolta nel rilascio di quanto sviluppato (in funzione della complessità del progetto) capacità di partecipare alle fasi di assistenza degli utenti per la partenza di un progetto Le caratteristiche personali corrispondono a quelle di seguito indicate attitudine alla anticipazione delle criticità condivisione delle criticità Conoscenza ed utilizzo degli approcci moderni di software engineering usando tecniche ; es: DRY (don t repeat yourself), KISS (keep it simple & stupid) Focus sulla qualità del risultato prodotto: sia in termini di qualità del codice che dell assenza di bug * l richiesta è riferita alla programmazione utilizzando sistemi previsti nel profilo, in progetti per i quali era previsto un effort complessivo di almeno 100 giornate uomo di cui almeno 60 di analisi e programmazione 3
2.2 Software Architect - JAVA PROFILO 2 SW ARCHITECT - JAVA Linguaggi Java Enterprise Edition 8 Spring, core, multicontex, mvc, orm, security 6 Jstl, JSP, Custom EL functions, Custom Tag Lib 6 Hibernate 6 View Freemaker Template Engine Velocity SiteMesh Groovy 2 SOLR / Elastic Search CVS / SVN 8 Maven Javascript/JQuery 8 Framework per lo sviluppo mobile 3 Framework per lo sviluppo web user interface 5 Gestione Cache (ehcache, spring cache) Webservice soap/rest 5 DB Design & SQL Analysis 6 Gestione Scheduler e Batch Programming Gestione Code 2 Tools e Progettazione test di carico Tools per continous integration Middleware (Installazione e Configurazione) Tomcat 8 JBoss 2 Mysql 8 Apache WebServer Risolvere in autonomia problematiche sistemistiche di complessità medioalta Installare e configurare, in piena autonomia, tecnologie, strumenti, ambienti Progettazione e definizione architettura di sistemi web complessi Software Design delle singole componenti con Utilizzo di pattern consolidati Redazione di documentazione tecnica Risoluzione di criticità durante lo sviluppo applicativo Le caratteristiche personali corrispondono a quelle di seguito indicate Elevata Conoscenza delle nuove tecnologie ed abilità nell effettuare scouting tecnologico Conoscenza ed utilizzo degli approcci moderni di software engineering usando tecniche ; es: DRY (don t repeat yourself), KISS (keep it simple & stupid) * l richiesta è riferita alla realizzazione di architetture utilizzando sistemi previsti nel profilo, in progetti per i quali era previsto un effort complessivo di almeno 100 giornate uomo di cui almeno 10 dedicati alla progettazione e allo sviluppo/implementazione/messa a punto delle architetture
2.3 Analista sviluppatore senior - PHP PROFILO 3 ANALISTA SVILUPPATORE SENIOR PHP Linguaggi e framework PHP 5 CVS/SVN Javascript/JQuery Uno fra I due: SOLR HtDig JQuery Mobile 2 HTML.x, 5.x, CSS 2.x, 3.x SQL Webservice soap/rest 2 Redmine (o altro issue tracker) 1 Middleware Mysql 5.x Apache WebServer 2.2.x 2 Ambienti di sviluppo Uno dei tre in funzione del progetto: PhpDesigner 7.x Netbeans 7.x Eclipse Installare e configurare, in piena autonomia, tecnologie, strumenti, ambienti Condurre una analisi tecnica e procedere alla realizzazione di sistemi complessi in piena autonomia Ottima competenza di realizzazione di applicazioni in ambito web oriented Utilizzo di pattern consolidati per la programmazione Predisposizione alla scrittura di analisi tecnica e documentazione (manuale di utilizzo applicativo). Le caratteristiche personali corrispondono a quelle di seguito indicate Conoscenza ed utilizzo degli approcci moderni di software engineering usando tecniche ; es: DRY (don t repeat yourself), KISS (keep it simple & stupid) Focus sulla qualità del risultato prodotto: sia in termini di qualità del codice che dell assenza di bug * l richiesta è riferita alla programmazione utilizzando sistemi previsti nel profilo, in progetti per i quali era previsto un effort complessivo di almeno 100 giornate uomo di cui almeno 60 di analisi e programmazione 5
2. Software Architect - PHP PROFILO SW ARCHITECT PHP Linguaggi e framework Php 8 Uno fra I due: SOLR HtDig CVS / SVN 8 Javascript/JQuery 8 Framework per lo sviluppo mobile 3 Framework per lo sviluppo web user interface 5 Gestione Cache Webservice soap/rest 5 DB Design & SQL Analysis 6 Gestione Scheduler e Batch Programming Gestione Code 2 Tools e Progettazione test di carico Tools per continous integration Middleware (Installazione e Configurazione) Mysql 8 Apache WebServer Risolvere in autonomia problematiche sistemistiche di complessità medioalta Installare e configurare, in piena autonomia, tecnologie, strumenti, ambienti Progettazione e definizione architettura di sistemi web complessi Software Design delle singole componenti con Utilizzo di pattern consolidati Redazione di documentazione tecnica Risoluzione di criticità durante lo sviluppo applicativo Le caratteristiche personali corrispondono a quelle di seguito indicate Elevata Conoscenza delle nuove tecnologie ed abilità nell effettuare scouting tecnologico Conoscenza ed utilizzo degli approcci moderni di software engineering usando tecniche ; es: DRY (don t repeat yourself), KISS (keep it simple & stupid) * l richiesta è riferita alla realizzazione di architetture utilizzando sistemi previsti nel profilo, in progetti per i quali era previsto un effort complessivo di almeno 100 giornate uomo di cui almeno 10 dedicati alla progettazione e allo sviluppo/implementazione/messa a punto delle architetture 6
2.5 Capo Progetto / Analista - JAVA e/o PHP PROFILO 5 CAPO PROGETTO/ANALISTA - JAVA e/o PHP esperie nza* Conoscenze mondo web: portali e gestionali 8 social network 3 mondo mobile tematiche di system integration 6 database design accessibilità di siti e applicativi ciclo di vita del software 8 metologie di project management 8 gestione milestone e release di software (major realease, minor release, 8 correttive e/o evolutive) gestione del cliente finale 8 comprensione architettura applicativa 6 gestione team di sviluppo (analisti programmatori e architect) 8 analisi funzionale: analisi dei requisiti e modellazione dei processi 8 testing 8 web design 6 usabilità di siti e applicativi 6 controllo qualità 8 Essere interfaccia unica verso il cliente e responsabile di tutte le fasi del progetto. Gestire di tutte le fasi del progetto, fino al collaudo finale. Intervenire proattivamente in piena collaborazione con il cliente per la risoluzione delle criticità. Capacità di definire, approntare ed eseguire, secondo gli standard di Digicamere, un adeguato piano di test sulle componenti realizzate e anche su tutta l applicazione coinvolta nel rilascio di quanto sviluppato (in funzione della complessità del progetto). Definire l analisi complete del progetto e verificare la corrispondenze con quanto prodotto. Capacità di provvedere al disegno della base dati e architettura applicativa possedendo capacità e conoscenze ed essendo in grado di formalizzarle anche in formato UML capacità di partecipare alle fasi di assistenza degli utenti per la partenza di un progetto Le caratteristiche personali corrispondono a quelle di seguito indicate * l richiesta è riferita alla programmazione utilizzando sistemi previsti nel profilo, in progetti per i quali era previsto un effort complessivo di almeno 100 giornate uomo di cui almeno 15 di analisi e conduzione di progetto. 7