SteLampi Blog

February 8, 2013

Agile

Manifesto for Agile Software Development

The Agile Manifesto reads, in its entirety, as follows:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.


12 principles:

1) Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.

2) Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.

3) Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.

4) Business people and developers must work
together daily throughout the project.

5) Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.

6) The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.

7) Working software is the primary measure of progress.

8) Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.

9) Continuous attention to technical excellence
and good design enhances agility.

10) Simplicity--the art of maximizing the amount
of work not done--is essential.

11) The best architectures, requirements, and designs
emerge from self-organizing teams.

12) At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.

http://www.agilemanifesto.org

July 30, 2011

July 24, 2011

Curriculum Vitae

E-Mail: ste_lampi@Yahoo.it


Esperienze Professionali

Da Marzo 2011 ad oggi
Consulente per Software House Area Facility Management
Attività di Project Management per progetti chiavi in mano.


Da Marzo 2008 a Febbraio 2011
Analista IT presso Azienda Grande Distribuzione nazionale.
Attività d’analisi, progettazione e sviluppo Progetti Applicativi Gestionali.


Da settembre 2000 a Febbraio 2008
Consulente Senior presso Software House internazionale.
Attività d’analisi, progettazione e sviluppo e di Applicativi Gestionali e Datawarehouse.

Attività svolte prevalentemente presso un importante Gruppo Assicurativo leader nel Settore Italiano.
In sintesi:

- Sviluppo applicativo gestionale per la gestione operativa della Riassicurazione.
- Analisi, Progetazione e Sviluppo Base Dati per applicativo gestionale di contabilizzazione

- Analisi e Sviluppo progetti di integrazione fra Flussi Applicativi Gestionali e di Ambiente Datawarehouse.

- Attività di Sviluppo Datamart rivolto all’analisi delle voci di bilancio relative alla gestione industriale aziendale.

- Progettazione e Sviluppo di un Cruscotto in grado di rappresentare le analisi degli scostamenti dei principali indici aziendali.

- Collaborazione allo sviluppo di un ambiente di analisi rivolta al Controllo di Gestione.

- Esperienza nel coordinamento di gruppi di lavoro.

Luglio/Agosto 2000
Stage presso System Integrator Internazionale.
Attivita’ svolte presso il cliente settore TELCO. Sviluppo e manutenzione di Stored Procedures per flussi di fatturazione.

Da Settembre 1999 a Marzo 2000
Consulente Finanziamenti Agevolati alle Imprese
Collaborazione svolta presso Studio di Consulenza in Genova.
Progettazione, piani di fattibilità e di tutoraggio per operazioni d'investimento delle PMI.

Docenze presso alcuni enti di formazione in Genova per Corsi di Orientamento per Autoimprenditoria Locale.


Studi e Formazione

Marzo 2000
Corso post lauream "Sistemi informatici gestionali avanzati".

Dicembre 1999
Master "Innovazione nella Pubblica Amministrazione".

Anno Accademico 1998/99
Laurea in Economia e Commercio.
Indirizzo: Economico Aziendale. Punteggio: 95/110.
Conseguito presso l'Università degli Studi di Genova.
Titolo della tesi: "Efficienza del mercato borsistico ed importanza dei Fundamentals".

Anno Scolastico 1990/91
Diploma di Ragioniere e Perito Commerciale.
Votazione: 45/60.


Tecnologie Conosciute

Sistemi Operativi: Dos, Windows, Unix, Linux.
- Linguaggi: C, Java, Html, Php, Sql, Plsql.
- Database: Oracle, Mysql, Sql Server, Access.
- Ambienti di Sviluppo Applicativi: Designer 6i, Developer 2000.
- Ambienti di Sviluppo DataWarehouse: OWB, Oracle Workflow.
- Ambienti di Sviluppo Web: Oracle Portal, JDeveloper, Net Beans, Integrazioni web in PHP e JSP e Database e Apache, Conoscenza dei Pattern di progettazione MVC.
- Altri strumenti: Ms Office, Ms Project, Ms Visio.


Lingue straniere

- Inglese: buon livello scritto e parlato.
- Francese: discreto livello di conoscenza.

Obiettivi

Il mio obiettivo principale è quello di operare nel settore del software applicativo per le aziende, cercando di crescere dal punto di vista professionale/funzionale senza perdere d’occhio la tecnologia.
Sono interessato ad attività progettuali che mi permettano di sfruttare sia la laurea in materie economiche sia le conoscenze informatiche acquisite.


Stelampi

April 28, 2008

Cineca

Ho trovato un sito interessante che concerne un consorzio CINECA che si occupa di unire il mondo accademico con il mondo industriale.

Ci sono un sacco di ricerche disponibili fatte da studenti.
E' molto interessante la parte che riguarda l'accessibilità.

stelampi

October 31, 2007

Chi è un Bravo Informatico?

Ho letto oggi questo articolo su Punto Informatico e mi sembrava ricco di buoni spunti.

L'autore e Giuseppe Cubasia.

Chi è un Bravo Informatico?

Roma - Sono 25 anni che mi occupo d'informatica, e mi sono sempre chiesto: ma come dovrebbe essere un bravo informatico? Sono partito dalle basi della mia esperienza per giungere alla conclusione che ciò che si dice dell'informatica è vero: è quella cosa dove chi comanda non la conosce, e chi la conosce non comanda.

Questo perché per il nostro utente/cliente/committente quella cosa lì, (l'informatica) la vede a seconda del suo ruolo, (la realtà è rappresentazione, ci ricorda Schopenhauer), in molti modi differenti: talvolta come una form, talvolta come un semplice pulsante, e spesso solo come una cifra in un conto d'investimento, quasi mai, anzi proprio mai come un sofisticato meccanismo creato dalle abili mani di un artigiano.

Si, perché per quanto la si voglia far sembrare un prodotto industriale, l'informatica fatta a qualsiasi livello è del tutto artigianale.
Magari ci fosse un prodotto che schiacciando il tasto mi tiri fuori un gestionale, un ERP, un real time e cosi via. È vero, ci sono i tools che automatizzano molte azioni, ma il succo è che senza l'intervento umano poco o nulla si fa.
Nell'informatica poi si distinguono 3 grandi categorie:

1. I realizzatori di codice puro. In genere sono coloro cui occorre solo dire di che cosa hai bisogno e loro te lo costruiscono. Difficilmente si pongono domande sul perché ti serve qualcosa, loro lo fanno e basta. Si arrabbiano moltissimo quando ricevono richieste illogiche od astruse.

2. Coloro che ricevono le richieste dell'utente. Non so voi, ma il 99% delle richieste dei miei utenti è: non so cosa voglio, ma lo riconosco quando lo vedo. La maggior parte di coloro che si riconoscono in questa categoria passa il tempo a spiegare ad un utente, senza sembrare brusco, che una 500 con le ali, anche se fattibile, non è il massimo; meglio dotarsi o di una bella utilitaria o di un biplano o di entrambi. Se poi si dice sì all'utente (sulla 500), devi poi passare altrettanto tempo a parlare con i realizzatori per far digerire loro che adesso quello che hanno fatto lo buttano a mare e ricominciano a fare qualcosa di diverso. (Se avete manie masochistiche fatelo pure, io non ve lo consiglio!)

3. La terza categoria degli informatici ha per me qualcosa di magico. In genere la si trova nei piani alti della scala gerarchica. Di informatica hanno uno spruzzo, come le torte con su lo zucchero a velo, però sono degli abilissimi comunicatori e dei perfetti creatori di presentazioni ad effetti speciali creati ad arte con Power Point. Eccellono nel redigere piani in Project e sono degli ottimi oratori. Quanto poi a realizzare prodotti informatici...In genere sono soliti dire per farvi capire che sono dentro la materia:
Un prodotto informatico è un insieme di sequenze logiche che prendono delle informazioni in input, le elaborano e forniscono un output!
Si ma come ? Beh, questo è un lavoro per i tecnici... (vedi 1 e 2).

Un bravo informatico, qualsiasi sia il suo livello, deve avere le seguenti qualità per non finire presto in depressione o scoprire che la sua settimana lavorativa dura tra le 60 e le 80 ore.

1) Preveggenza. Ormai in ufficio mi chiamano Cassandra, quando entra un utente e mi chiede qualcosa che sia di solo 2 giorni lavorativi, so già che stiamo parlando di 2-4 mesi. L'ultima volta che mi hanno chiesto un db provvisorio per una cosuccia da niente, è rimasto in piedi 3 anni. Ancora mi domandano come facevo a saperlo. Io uso questa Regola, tramandatami da un vecchio saggio. Quando vi chiedono una stima di qualcosa di nuovo, aumentatelo alla categoria superiore e moltiplicatelo per 2.
1 giorno=2 settimane. Siete molto vicino a quello che impiegherete.

2) Ascolto. Mai e dico mai realizzate qualcosa non appena l'utente ha finito di parlare. Aspettate, fate una pausa e poi dite sempre, lo metto per iscritto perché cosi lo capisco meglio. A questo punto accadono 2 cose: o l'utente dice, non mi serve più (40%), o vi cambia i requisiti (60%). Nel secondo caso si ricomincia il loop.

3) Essere un terribile mal fidato. Controllate l'attività dell'utente, è facile che vi chieda cose pazzesche, solo perché non sa che la stessa cosa la fa la calcolatrice di windows. Testate, testate sempre ogni singola cosa e poi ri-testatela. Avere dei programmi free bugs è l'unico vostro scudo ad ogni possibile richiesta assurda ed alla domanda, ma perché ci vuole cosi tanto...?!

L'ultimo talento lo si acquista con l'esperienza, con tanta esperienza, o si è fortunati ad averlo dalla nascita e si chiama la capacità di vendere la propria attività.
Dilbert insegna che se siete dei super esperti, bravissimi, capaci, ottimi risolutori, fornitori di soluzioni, ecc,ecc, beh, questo non vi sarà mai riconosciuto. Mai. Perché (sempre per la solita legge della rappresentazione) state per tutti solo facendo il vostro lavoro.

È come dire bravo ad un chirurgo. Certo che è bravo, è il suo lavoro.
Però il chirurgo si fa pagare ! E questo, perchè il chirurgo fa pesare tantissimo il suo know-how.
Questo talento poi, più passa il tempo e più diventa molto più importante di tutti gli altri, specie qui in Italia.
Posso affermare con sicurezza che il Vostro stipendio e livello in azienda è direttamente proporzionato a questa capacità.
Più saprete far intendere al Vostro utente, (Capo od altro), quanto il Vostro lavoro sia complesso e sfaccettato ( e di conseguenza oneroso ed impegnativo) perché deve essere accurato, completo per dare un servizio che nel tempo porterà guadagno (ovvero risparmio), e maggiori saranno i Vostri compensi. (C'è sempre chi vi dirà, ma che ci vuole a farlo?! A quel punto cedetegli la sedia ed chiedetegli di mostrarvi la sua bravura...Si azzittirà all'istante).

Al mio team dico sempre: se realizziamo un'intera applicazione in Ajax, con le ultimissime tecnologie, in un terzo del tempo e senza bugs non potremmo mai pretendere nulla in più di quello che abbiamo. Questo perché per tutti questo è il nostro lavoro, e non si può pretendere di avere di più per fare "solamente" il proprio lavoro.
Invitare l'utente ad una serie di 3, 4 riunioni in cui illustriamo come lavoriamo, come Egli sarà sempre informato su tutto durante tutto il progetto, e come il servizio prodotto gli renderà la vita migliore, non ha prezzo!

Ed infine due massime:

- La prima da esporre come bigliettino da visita: Se tu lo sai immaginare, noi lo sappiamo realizzare.

- La seconda da dire al Vostro Team: Alla gente quasi mai interessa un'applicazione che giri 1 secondo più veloce o che abbia una base dati ultra ottimizzata od utilizzi solo paradigmi OO, ma tutti vogliono che sia bella, sicura, affidabile e che risolva il loro problema.

Ecco, forse alla fine una possibile definizione è: il bravo informatico è colui che gli altri riconoscono come un risolutore di problemi.

Giuseppe Cubasia
Cubasia blog
Tutti i contenuti pubblicati, salvo diversa indicazione, sono soggetti alla licenza Creative Commons Creative Commons License