Archivio Autore

Esperimenti di un’applicazione nativa per iphone con PhoneGap e Titanium.

Dopo il bellissimo regalo che ideato mi ha fatto il giorno del suo compleanno, ho iniziato ha studiare come poter scrivere applicazione su iphone senza conoscere objective-c.

Cercando un po’ su internet ho trovato due progetti molto interessanti:

Entrambi si presentano come tool di sviluppo rapidi per creare applicazioni native per dispositivi mobile (iphone, android, blackberry) in html + javascript + css. Conoscendo molto bene questi tre linguaggi, ho pensato di iniziare a studiare questi tool per vederne le capacità.

Con la regola dell’80-20 che applichiamo in ideato (in pratica ogni sviluppatore può utilizzare il 20% dei suo tempo per studiare, fare prototipi, ecc), insieme con Michele e Fullo, abbiamo deciso di sperimentare entrambe le librerie per creare la nostra prima applicazione per iphone e android.

L’idea è quella di creare un’applicazione che, interfacciandosi con il servizio web Joind.in, faccia vedere i talk “on air” durante un evento. L’obiettivo è quello di lanciare l’applicazione durante il phpday 2010 che si terrà il 13, 14 e 15 maggio a Corropoli (TE).

Vi terremo aggiornati sull’applicazione su questo blog.

Se volete seguirci da più vicino abbiamo creato un repository GitHub, dove metteremo tutto il codice.

Per conoscere e non dimenticare: l’aquila è degli aquilani!!

Ho scoperto attraverso il blog di Stefano questo video, lo voglio condividere con voi, per conoscere, per non dimenticare!!

L’aquila è degli aquilani!!

Agile significa veloce?

Leggo per la prima volta nel wiki dell’XPug Milano un post scritto da Gabriele ormai qualche anno fa, ma attuale come non mai sul perché quando si lavora con i metodi agili sembra inizialmente di essere lenti. Il post è molto chiaro e piacevole da leggere e secondo me spiega molto bene perché spesso si confonde agile con veloce!

Alcune regole del Pair Programming

Qualche settimana fa, una coppia di sviluppatori del team nel quale lavoro, mi ha chiesto:

“Ciccio, ma quali sono le regole del Pair Programming? Facciamo Pair Programming da alcuni mesi, ma a volte non ci sentiamo molto efficaci, perchè discutiamo troppo nel prendere decisioni condivise e perchè il nostro livello di conoscenza non è lo stesso.”

Quando dal team emergono queste domande, i miei occhi si illuminano, perchè solo di fronte alla consapevolezza si possono dare piccole regole per migliorare se stessi.

Di fronte alle loro domande non ho risposto subito, ho rinviato la discussione ad un dojo interno, che organizzeremo in ideato a breve tempo.

Tuttavia, oggi, vorrei raccontarvi quando secondo me il Pair Programming è efficace.

La metafora che uso spesso per far capire il Pair Programming è quella dei guidatori di rally, chi scrive codide è il guidatore, chi sta a fianco e osserva è il navigatore. Se il guidatore non si fida del navigatore, dove va a finire l’auto?

Come in ogni coppia anche nel Pair Programming si è efficaci se si rispettano i ruoli.

  1. Il guidatore si deve fidare del navigatore.
    Nella coppia ci deve essere fiducia. Il punto di vista predominante deve essere quello del navigatore. La coppia non può discutere ogni piccola decisione. Il guidatore si deve occupare di fare bene quello che gli viene detto dal navigatore. L’obiettivo è la risoluzione del problema. Se il guidatore non è d’accordo con il design emerso potrà fare refactoring quando sarà lui il navigatore, se necessario.
  2. Il guidatore deve stare attento alla tattica.
    Il compito del guidatore è quello di porre attenzione a quello che gli viene detto dal navigatore e al coding style.
  3. Il navigatore deve stare attento alla strategia.
    Il compito del navigatore è quello di indicare la strada al guidatore. Il navigatore deve guardare più avanti e scegliere quale strategie attuare. E’ il navigatore che fa emergere il design del codice.
  4. Per discutere si chiama un Time-Out.
    Durante la sessione di Pair Programming, se la coppia è in disaccordo, si possono chiamare dei Time-Out. I time out servono a discutere insieme quale strada percorrere e come risolvere un certo problema, o per chiedere aiuto a qualcuno se si è bloccati. Il numero massimo di time out che si possono chiamare durante una giornata non dovrebbero essere più di quattro. La durata di un Time-Out non deve essere superiore al pomodoro.
  5. Cambiarsi i ruoli.
    E’ molto importante che nella coppia i ruoli vengano scambiati frequentemente. Un tempo ideale potrebbe essere ogni uno o due pomodori.

Nel dojo che organizzeremo in ideato, vedremo come rendere ancora più efficace il Pair Programming attravero il Ping Pong Pair Programming.

E tu ti fidi del tuo navigatore?

Per progetti software non ci vuole un team grande ma un grande team!!

Come citava la pubblicità dei pennelli cinghiali, “Per fare una grande parete, non ci vuole un pennello grande, ma un grande pennello“, ritengo che lo stesso slogan possa essere applicato oggi alle aziende che producono software. Si pensa che grandi team e aziende fortemente strutturate possano creare software migliori e in tempi brevi.

Beh questa è utopia.

Il software è fatto dalle menti delle persone: chiamale grafico, ingegnere, architetto, db specialist o semplicemente programmatore, ma quello che conta realmente non è l’etichetta ma la loro creatività.

Per fare un grande software bastano poche persone, eccellenti nella loro professione, fortemente motivate, coraggiose, curiose e in grado di comunicare tra loro. Sono questi alcuni degli ingredienti fondamentali di una ricetta che non può sbagliare.

Dall’altra parte nel team non può mancare il committente, colui che ha richiesto il software, sia esso un imprenditore, un utente, un product manager, un business analyst. Per fare un grande software ne basta anche solo uno, ma che ci sia, che sia anche lui farcito degli stessi ingredienti di professionalità, motivazione, coraggio, curiosità, capacità di comunicazione e soprattutto disponibilità.

Con queste due caratteristiche non avremo mai un software grande, pieno di bug che non fa quello che abbiamo chiesto, ma un grande software, fatto dagli utenti per gli utenti, un software pronto a cambiare quando richiesto, in grado di compiere i task per i quali è stato creato.

Come possiamo raggiungere questo obiettivo in un mondo di speculazione e fanta finanza… sinceramente non lo so, ma credo che un’eccellenza di professionisti e aziende italiane che in questo 2009 ho incontrato stiano iniziando a muoversi verso un mondo più sostenibile, più razionale e più vero, dove i vincitori sono sempre due, sia il cliente che il fornitore, per farlo stanno abbracciando la filosofia delle metodologie agili.

Questo è quello che il 2009 mi ha lasciato a livello professionale, questo è il progetto per il quale voglio impegnarmi nei prossimi anni.

Voglio regalare alle persone e alle loro aziende che mi hanno fatto crescere in questo 2009 un link alla loro professionalità. Ringrazio di cuore:

Buon 2010.

Pagina successiva »