Skill
28
page-template-default,page,page-id-28,page-parent,infographer-core-1.0.3,infographer-theme-ver-2.0.4,ajax_fade,page_not_loaded,no_delay,qode_page_title_on

La pagina cerca di dettagliare in breve le caratteristiche delle capacità utilizzate durante l’esperienze professionale. Ogni singolo “skill” si collega a uno o più dei progetti che costituiscono la mia esperienza.

per un dettaglio sulle esperienze suggerisco una visita alla pagina

 

Analisi funzionale

L’

analisi funzionale è alimentata da una analisi formale dei requisiti, e consiste nel “fornire risposta”, alle esigenze evidenziate dai requisiti. L’analisi funzionale può evidenziare ipotesi di possibili soluzioni tecniche, ma quando lo fa deve sempre tenere conto che la competenza in merito è sempre dei team di progettazione e di architettura. Molto importante è invece l’enfasi da dare sulla esatta natura delle richieste e nella correttezza della traduzione funzionale che ne viene effettuata.
Una buona analisi funzionale normalmente riesprime i requisiti raccolti in termini di direttive di progettazione e dettaglio minuto sulle richieste. L’ambito può spaziare dalla sola descrizione degli incrementi funzionali a una rappresentazione completa del sistema dopo l’applicazione delle richieste descritte, compresi dei modelli, che possono essere sia statici sia dinamici che esprimono l’interazione fra l’utente ed il sistema. Tale tipo di modelli (detti anche mockup) permette sia di descrivere alla committenza quale sarà l’interazione con il sistema, sia di indicare precisamente ai gruppi di progetto quale dovrà essere l’aspetto del nuovo prodotto realizzato (o delle modifiche effettuate su prodotto esistente).
Il livello di formalismo da adottare è delimitato dai seguenti paletti: il primo, verso la committenza, è che il lavoro di analisi deve di regola essere approvato, e per poterlo essere deve essere comprensibile da parte di lettori non specializzati nel linguaggio di analisi. Da un altro lato, l’analisi funzionale deve essere sufficientemente rigorosa da costituire una base solida su cui progettare e costruire un sistema. In quest’ultimo caso l’utilizzo di un linguaggio formale condiviso con i gruppi che prenderanno in carico il tutto è ritenuto auspicabile.
Aiutare un committente nelle attività di analisi funzionale richiede sensibilità al dettaglio e chiarezza di visione sia sulla reale natura delle richieste sia sulla struttura ed arhitettura tecnica e funzionale dei sistemi che saranno impattati.
Il valore erogato è la realizzazione sui sistemi dei desiderata espressi dalla committenza, in cui ogni singolo aspetto è preso in considerazione e realizzato secondo quanto richiesto; come ogni regola anche in questo caso abbiamo delle eccezioni, perchè non è detto che i requisiti a seguito dell’analisi non debbano subire delle revisioni: quando l’approfondimento funzionale evidenzi condizioni non gestibili o opportunità migliorative in genere tali aspetti sono condivisi con la committenza ed approvati, prima di proseguire con il lavoro.

  • Gli strumenti a disposizione dell’analista funzionale sono:
  • Consapevolezza dell’importanza del dettaglio
  • Adattabilità rispetto agli standard utilizzati per la rappresentazione
  • Doti comunicative
  • Conoscenza dei vincoli a cui ci si dovrà attenere

Ho impiegato l’analisi funzionale soprattutto nei progetti:

  • Enel -6-
  • Vodafone -1-
  • FieraMilano
  • Vodafone -2-
  • Arrow
  • BNL Vita
  • CartaSì
  • Enel -2-
  • Enel -1-
  • Enel -4-

 

Business process analysis

L’

analisi dei processi richiede, soprattutto nelle fasi iniziali, un notevole impegno nella registrazione delle attività svolte e delle architetture applicative sottose all’esecuzione dei processi.
E’ tutto un lavoro di tracciamenti di flussi di comunicazione fra persone e fra entità strumentali.
Dipendentemente dagli obiettivi si può lavorare al semplice tracciamento o ad una vera e propria attività di revisione che mira ad ottimizzare complessità, tempistiche ed efficacia di esecuzione.
Ogni singola attività svolta è sottoposta ad analisi specifiche per una stima dei tempi di avvio, di esecuzione e di conclusione, al punto da arrivare ad una stima globale dei costi di esecuzione.
Strumenti essenziali in questo tipo di attività sono i linguaggi di modellazione, come BPMN o altri, che permettono di realizzare una rappresentazione grafica dei processi di solito facilmente condivisibile anche con interlocutori non molto preparati sul linguaggio o sul modo di gestire tali tipi di modelli.
I processi possono evolvere ma sono rivoluzionati ben di rado, per cui un buon disegno di processo diventa una importante risorsa aziendale la cui utilità si esprime nell’arco di diversi anni, sia per la diffusione della cultura lavorativa aziendale (ad esempio per nuove persone che entrino a far parte degli staff) sia come strumento di analisi in caso di approfondimento su eventuali problematiche riscontrate, perchè permette un isolamento delle singole attività.
Un valore supplementare di questa attività è rappresentato dalla possibilità di definire facilmente i criteri di misurazione del processo: l’individuazione di quali siano le attività cardine, generalmente correlate a trasformazioni che occorrono a seguito di determinate attività permette la definizione di criteri di stima dell’efficenza di processo (KPI – Key Performance Indicators), che di fatto permettono una analisi capillare dei parametri di esecuzione dei processi e quindi ne abilitano il controllo.
Gli strumenti necessari all’analisi dei processi sono:

  • Una autentica passione nel raccogliere informazioni
  • Qualunque strumento grafico per la diagrammazione, possimilmente in uno dei linguaggi grafici usati
  • Instancabile curiosità
  • capacità di sintesi

Ho impiegato l’analisi dei processi di business soprattutto nei progetti:

  • Enel -6-
  • FieraMilano
  • Vodafone -2-
  • Arrow
  • BNL Vita
  • CartaSì
  • Enel -2-
  • Enel -4-
  • Enel -5-
  • H3G -2-

Analisi dei Requisiti

I

requisiti dell’utente sono tipicamente il punto di ingresso del processo operativo di sviluppo informatico. In questa fase vengono raccolte le esigenze da parte della comunità degli utenti (di solito rappresentati da uno stakeholder invesitio di capacità decisionali).
L’attività, vista da un livello elevato, consiste in un riordinamento delle richieste ricevute in una forma che da un lato possa garantire la necessaria completezza, e da un altro lato possa alimentare i processi successivi, di cui il primo è l’attivtà di analisi funzionale.
Osservando invece nel dettaglio, l’analisi dei requsiti si scopre un mondo nel quale chi sta lavorando all’analisi partecipa attivamente, contratta, propone e interagisce con il committente per arrivare ad una ragionevole certezza condivisa che quanto espresso nell’analisi dei requisiti esprima effettivamente la miglior espressione dei requisiti che sono stati raccolti.
In una buona analisi dei requisiti la copertura non dovrebbe limitarsi alle richieste di tipo meramente funzionale, perchè i vincoli per un progetto informatico spaziano anche in territori alieni all’aspetto funzionale, quali i requisiti di prestazioni, sul modello di interazione e sull’esercibilità, connettività, disponibilità dei sistemi, eventuali vincoli sulle tempistiche o deadline da rispettare; tali tipi di requisiti rientrano nella categoria dei cosiddetti “requisiti non funzionali”; tali aspetti dovranno essere valutati e se esclusi può essere apprezzato il fatto di evidenziare tale esclusione nei documenti di requisito che saranno consegnati.

Ho impiegato l’analisi dei requisiti  soprattutto nei progetti:

  • Enel -6-
  • Enel -3-
  • Vodafone -1-
  • Vodafone -2-
  • Arrow
  • BNL Vita
  • CartaSì
  • Enel -2-
  • Enel -1-
  • Enel -4-
  • Enel -5-

Service Management

I

l service management è l’attività di erogazione di un servizio nel corso del tempo, quale l’esercizio di un sistema o di un servizio di supporto applicativo ma in generale qualcosa che possa offrire and una comunità di utenti un servizio continuativo nel quadro di un sistema di regole concordate. Operativamente parlando è una attività di monitoraggio di una serie di processi operativi tramite opportuni parametri di esecuzione.
L’attività raccoglie richieste dagli utenti e attività di monitoring ed alerting, sulla base siano richieste delle azioni. I parametri di esecuzione dei processi gestiti sono generalmente esaminati in termini di relazione rispetto ai livelli di servizio richiesti e concordati.
L’importanza di una gestione formale del servizio IT dipende soprattutto dai livelli di complessità.
Il ruolo richiede un approccio sistematico e metodico alle attività, e comporta la gestione di utenti/clenti del servizio IT e di fornitori dello stesso servizio, e l’obiettivo è riuscire a fornire risposte consistenti rispetto ai problemi segnalati (da un lato) ed ottenere risposte consistenti rispetto alle problematiche conclamate che si segnalano

Ho fatto Service Management soprattutto nei progetti:

  • Enel -3-
  • H3G -1-
  • H3G -2-

Project Management

L

a gestione del progetto inizia da una attività iniziale in cui, visti gli obiettivi e le risorse messe a disposizione si mettono a sistema tutti i dati e si cerca di capire se il progetto debba essere aperto oppure no.
Superata questa fase di studio, si procede alla scomposizione del progetto in base ai contenuti, generalemnte riconducibili a “fasi di lavoro” o a prodotti. La collezione di tali sopporta la definizione della sequenza di attività, con eventuali parallelizzazioni, determinate dai vincoli di tempo.
La pinificazione è però ancora la parte iniziale, e deve costantemente essere aggiornata in base alle risultanze delle attività eseguite.
La finalità è sempre garantire che il progetto chiuda entro i termini di tolleranza pianificati sia per i tempi, sia per i costi e sia per la qualità attesa. Il compito del Project Manager è avvisare i committenti quando uno o più di tali parametri violino tali tolleranze.
La gestione di progetto richiede una autentica passione per i diversi processi la cui messa in atto consente un effettivo controllo dell’attività in ogni suo aspetto.
Project management non è soltanto esecuzione, ma monitoraggio continuo di condizioni di rischio, problemi e strategie di risoluzione. Dati gli obiettivi è molto importante la qualità nel livello di interazione con i vari team leader fra i quali le attività vengono suddivise.
Entrano nell’ambito della gestione di progetto diverse metodologie, da quelle piuù classiche, come PMI e PRINCE2 (molto basati su un approccio formale sebbene mai rigido) a Scrumm/Agile, che privilegiano invece la prestazione al formalismo.
Le diverse metodologie coprono gli stessi obiettivi, ma si declinano in modalità operative e gestionali molto diferenti, come d’altra parte sono molto differenti i modelli organizzativi e i tipi di delverable prodotti.

Ho fatto Project Management soprattutto nei progetti:

  • Enel -6-
  • Enel -3-
  • FieraMilano
  • Arrow
  • Enel -2-
  • Enel -1-
  • Enel -4-
  • Enel -5-

Test Leading

L’

attività di test opera la validazione della corrispondenza fra le richieste da parte degli utenti, opportunamente documentate, rispetto a quanto effettivamente consegnato.

Il lavoro di test leading può essere visto come un project management declinato nell’ambito della qualità. in particolare si ha visibilità sui piani di consegna concordati, fra i team di Demand (generalmente esposti dal business o comunque da rappresentanti degli utenti dei sistemi) e i team di Delivery (i gruppi deputati alla realizzazione dei software o alla loro manutenzione evolutiva e/o correttiva).

L’attività è sostanzialmente ciclica, e può essere scomposta nelle seguenti fasi, ma si deve tener conto che sono sempre possibili sovrapposizioni nell’esecuzione del processo.

 

  1. Apertura processo
  2. Piani di consegna (attività rolling)
  3. Rilasci enhancements e/o fix
  4. Flussi di esecuzione
  5. Gestione processo
  6. Pianificazione
  7. Monitoring avanzamento attività nelle varie fasi (test planning, approvazioni, monitoraggio rilasci, configurazione ambienti di test, esecuzione)
  8. Reporting di copertura (periodicità dipendente dal progetto, spesso giornaliera)
  9. Chiusura
  10. Redazione hand-off necessari per i rilasci negli ambienti successivi
  11. Reporting su eventuali problematiche aperte, eventuali condizioni di rischio indicazioni per i team di esercizio, o per i gruppi di utenti, eventuali suggerimenti di workaround per difettosità note.
  12. Attività retrospettiva e reporting finale sulla qualità

 

L’esperienza richiede abilità instancabili nell’armonizzazione di attività e team e una continua capillare raccolta di feedback su avanzamenti e criticità riscontrate.

Ho fatto Test Leading nel progetto:

  • Fastweb

Team Management

I

l team leader prende in carico dal project manager i “pacchetti di attività” che devono essere eseguite, ne valuta il volume e sulla base della disponibilità del proprio gruppo e della complessità determina il periodo di consegna (che permette un affinamento dei piani tenuti dal project manager).
Condurre un gruppo comporta sempre buone doti di organizzazione, ma dovendo gestire sostanzialmente persone e operatività il team leader deve sapere ottenere le cose.
Le caratteristiche che un team leder deve offrire sono:

  • Capacità organizzative
  • Comunicazione efficiente
  • Un atteggiamento positivo nelle relazioni con i colleghi
  • Integrità
  • Conoscenza approfondita degli argomenti trattati
  • Fiducia e capacità di delega
  • Buone doti di negoziazione e facilitazione

Si tratta di caratteristiche in realtà generiche per qualunque attivtà, ma per questa attività il senso è più profondo

Ho fatto Team Management soprattutto nei progetti:

  • Vodafone -1-
  • H3G -1-
  • H3G -2-

System Design

L

a progettazione di sistema si occupa di creare i dettaglio dell’architettura.
Il processo è alimentato dall’architettura della soluzione, dal sistema di tutti i requisiti che possano influenzare la progettazione, dalle analisi funzionali e sicuramente da una conoscenza approfondita del contesto nel quale il progetto dovrà essere realizzato.
Durante la progettazione si definisce formalmente, generalmente (ma non obbligatoriamente) con lignuaggi grafici, il modo in cui una determinata funzionalità sarà composta, le eventuali partizioni architetturali coinvolte e quali componenti dovranno essere utilizzati, modificati o realizzati ex novo. La progettazione indirizza l’operatività dello sviluppo e alimenta i processi di validazione. Un importante aspetto è il riutilizzo di elementi e componenti già disponibili o l’uso di soluzioni standard (design patterns) che rendono le attività susseguenti meno onerose in termini di sviluppo, in quanto fanno riferimento a componenti già esistenti od a soluzioni standard.

Ho fatto System Design soprattutto nei progetti:

  • Vodafone -1-
  • Enel -1-
  • Enel -5-

Architettura della Soluzione

L’

architettura della soluzione è l’arte della progettazione di alto livello di una soluzione nell’ambito IT.
Senza entrare in un dettaglio tecnico spinto, si lavora raccogliere richieste ed indicazioni da diverse fonti (Requisiti, conoscenza di tematiche del dominio, approfondimenti specifici, interviste, conoscenza strumenti e piattaforme utilizzati) e si aggregano delle proposte di soluzione al problema specifico.
L’obiettivo dell’attività è proporre delle ipotesi risolutive a problemi nei quali la risoluzione debba avere caratteristiche particolari di scalabilità, integrazione fra sistemi, modularità o genericità. Si tratta di un lavoro particolarmente creativo, che permette di concentrarsi sugli aspetti di alto livello e di esercitare gli aspetti più creativi ed innovativi.
Le soluzioni proposte sono espresse in modo da comunicarne al committente le caratteristiche e gli eventuali limiti, ma devono poter comunicare con chiarezza gli aspetti rilevanti per la progettazione del sistema. Spesso lo skill è accostato quello di progettazione, in quanto può rappresentare il primo passo dello sforzo progettuale.
L’attività può avere anche la forma di studio di fattibilità, nel quale si prendono in considerazione e si mettono a confronto più ipotesi risolutive allo stesso problema.
Architettura della soluzione è spesso saper esplorare soluzioni consuete alla ricerca di estensioni delle possibilità di utilizzo e sfruttamento

Ho fatto Architettura della soluzione soprattutto nei progetti:

  • FieraMilano
  • Vodafone -2-
  • Enel -2-
  • Enel -4-
  • H3G -1-
  • Enel -5-

Program Management

U

n programma, o programma di investimento, a differenza di un progetto, è una attività che non ha necessariamente una conclusione (processo Rolling o Continuo), ma viene eseguita cicliclamente. Un Programma raggruppa in genere una serie di progetti, fra essi accomunati appunto dall’appartenenza a tale programma.

L’attività non entra nel merito dei dettagli di esecuzione, ma ci si concentra sui parametri vitali dei singoli progetti (esecuzione in atto, stati di avanzamento in merito a tempi, a coperture e finanziari), con eventuali raccolta ed opportuna evidenza di eventuali condizioni di rischio o criticità in atto.
Il Program Management riepiloga i parametri essenziali citati e li riversa sul tavolo del governo generale del processo ICT, che raccoglie tali informazioni di avanzamento ed indirizza eventuali criticità rilevate.
La gestione di un programma comporterebbe di regola la presenza di un modello dei processi seguiti per i vari tipi di attività compresi nel programma. Il ruolo di gestione di un programma comporta anche una verifica costante dell’allineamento delle attività monitorate rispetto a tali processi, oltre chiaramente a allo stretto monitoraggio richiesto sulle pianificazioni di tempi, costi e qualità.
L’attività è alimentata dai riscontri forniti dai Project Manager titolari dei vari progetti compresi nel programma, e produce l’elaborazione dello stato globale del programma di investimento, ad uso della committenza che tramite la delega di tale attività riesce a raccogliere tutti gli aspetti importanti senza dover entrare in un livello di dettaglio ed approfondimento troppo spinto

Ho fatto Program Management soprattutto nei progetti:

  • FieraMilano
  • H3G -2-

Tecnicalità

F

requentemente il mestiere informatico richiede capacità tecniche. Anche chi non sia coinvolto in attività propriamente tecniche ha spesso bisogno di una conoscenza, anche approfondita, di quali siano gli aspetti tecnici rilevanti impattati dal proprio lavoro o comunque coinvolti in esso.

Al fine di rendere più facile e consapevole la scelta del mio utente/cliente, cerco qui di riepilogare le capacità che possano rientrare nell’ambito “tecnico”; si tratta in ogni singolo caso di capacità consolidate, che abilitano le necessarie azioni di validazione, verifica, supporto alla correzione e ottimizzazione di quanto prodotto a seguito del mio intervento:

 

  • Linguaggio SQL (conoscenza approfondita)
  • Linguaggi di programmazione procedurali e object oriented (capacità approfondita di lettura e individuazione comportamenti corretti/non corretti)
  • Pattern funzionali e architetturali (capacità consolidata)
  • IBM Rational Team Concert – (Collaborative Lifecycle Management, Requirement composer e Quality Manager)
  • Suite Atlassian (Jira e Confluence in particolare)
  • Processo Itil per il Service Management
  • HP ALM – Quality Center
  • Framework CobIt per la Governance
  • HP PPM – Project and Portfolio Management
  • SubVersion (livello amministrazione)
  • IBM Rational Clear Quest
  • Gestione Prodotti Cloud Amazon AWS
  • Gestione Prodotti Cloud Microsoft Azure
  • Backend WordPress per siti web
  • Backend Shopify per ecommerce
  • Framework PRINCE2 per il Project Management
  • Logiche DevOps e Continuous Delivery

 

Si fa presente che quanto non in elenco può essere una competenza acquisita ma mai usata professionalmente oppure, se del caso, può essere appreso in tempi brevi.