eXtreme Programming e dintorni in salsa Team Nimbus

Visualizzazione post con etichetta continuous learning. Mostra tutti i post
Visualizzazione post con etichetta continuous learning. Mostra tutti i post

lunedì 25 settembre 2017

La nascita di un'idea

Ho già scritto un articolo riguardo a come i Nimbus hanno affrontato nel tempo il tema del continuous improvement e in generale della formazione/studio.
Oggi vi vorrei parlare di come 7Pixel ha pensato ad un modo alternativo per organizzare un evento formativo per tutti i suoi devs e di come io l'ho vissuto nel mio ruolo di organizzatore.
Il 7 Settembre 2017 si è svolta infatti la prima edizione dello Spartan Hackathon: una maratona di programmazione lunga 24 ore che ha visto sfidarsi 5 team di sviluppo.
In 7Pixel, grazie anche al nostro reparto "Qualità del lavoro" ci siamo fatti alcune domande:
  • come invogliare tutti gli sviluppatori a fare formazione?
  • come promuovere forme alternative di formazione che non siano "solo" corsi o conferenze?
  • come rendere il miglioramento continuo più stimolante, divertente?
  • come rompere la routine delle giornate lavorative con qualcosa di utile e spassoso?
Lo Spartan Hackathon è stata la risposta a queste domande.

Di che cosa si tratta

#spartanhackathon
Lo Spartan Hackathon altro non è che una epica sfida di programmazione: viene dato un problema e ogni team ha come obiettivo quello di realizzare il miglior software che risolva la sfida assegnata.
Tutti gli elaborati sono valutati da una giuria di esperti (gli Efori) che ne assegna i voti in base ai risultati ottenuti, alla creatività della soluzione trovata e alla presentazione del software stesso.

Le regole d'ingaggio

Ogni partecipante deve avere il proprio device su cui sviluppare. E' ammesso l'uso di librerie esterne e di un dataset che viene fornito dai saggi.
La battaglia dura 24 ore consecutive, ci si può riposare e rifocillare a piacimento.
Il software prodotto deve rispettare l'output richiesto ed ogni battaglione al termine dell'avventura deve fare una breve presentazione di quanto fatto.

I plotoni

Ogni plotone è composto da 4 soldati scelti in modo da separare gli elementi dei normali team di sviluppo aziendali e di avere seniority diverse all'interno del gruppo.
La scelta dei gruppi è stata una parte sicuramente divertente ma complessa in quanto abbiamo cercato il più possibile di fare squadre "equilibrate".

La  battaglia

Leonida e gli Efori
Il giorno dell'Hackathon è partito con note di folclore e ironia che scimmiottavano il tema spartano dell'evento.
Non sono mancate personalità in costume come l'annunciatore (io) e gli efori (i Product Owner dei vari prodotti aziendali).
Dopo la formazione dei plotoni (e la distribuzione di bellissime t-shirt e braccialetti con colori diversi per ogni team) e l'annuncio del tema della sfida, la battaglia ha avuto inizio.
Ogni team era in un'isola di scrivanie separata, dopo una prima fase d'analisi nella quale non sono mancate domande chiarificatrici del problema dato, si è passati al concept delle soluzioni e alla realizzazione vera e propria.
Lo stack tecnologico era libero per cui ogni battaglione ha, dopo aver trovato un accordo, incominciato a vomitare codice per raggiungere l'ambita meta. Si sono visti software in Java, C#, PHP e Ruby.

La notte

Il giorno è trascorso velocemente e nella notte si sono incominciati a vedere i primi segni di ironico squilibrio.
L'atmosfera era molto rilassata e giocosa anche se l'impegno nel realizzare il progetto era sempre presente. 
Fra un pisolo e l'altro non sono mancati divertenti siparietti e atti di pura follia :)

Il responso degli Efori

I plotoni presentano agli Efori
Le ultime ore della sfida si sono consumate nell'impacchettare qualcosa che fosse giudicabile dagli efori, i quali al termine della gara hanno assistito alle varie presentazioni dei team proponendo alcuni input particolari per poter giudicare gli output del software.
Con la consueta ilarità si è quindi arrivati alla proclamazione del team vincitore che ha ricevuto come premio, oltre alla gloria, anche delle bellissime medagliette a forma di elmo spartano :)
Dopo aver osannato i vincitori e deriso gli sconfitti abbiamo anche fatto una breve retrospettiva della giornata, a botte di post-it abbiamo trovato cos'è andato bene, cosa male e cosa si può migliorare.
I vincitori

Cosa ci ha lasciato

Ci vediamo alla prossima edizione
Sicuramente è stata un'esperienza nuova, diversa dagli altri Hackathon ai quali avevo partecipato.
Una vera sfida nella sfida in cui oltre a dover produrre un buon risultato, ci si deve anche scontrare con la stanchezza della notte, con un team con il quale non si è abituati a lavorare, con delle scelte che non sempre sono condivise e con un tema che non si conosce.
Personalmente credo che siano state 24 ore ben riuscite, in cui ogni partecipante e organizzatore si è portato a casa qualcosa,
Io come organizzatore ho compreso la difficoltà di trovare un tema adatto a partecipanti con competenze e skill diverse, ho capito che per organizzare un evento come questo l'ingrediente principale è l'entusiasmo, ho compreso che non è possibile accontentare tutti ma che è possibile comunque farli divertire e che per far in modo di avere un buon numero di partecipanti bisogna essere molto pazienti ed insistenti.

Il futuro

Speriamo che quella che si è consumata sia solo la prima di tante edizioni della Spartan Hackathon, ci auguriamo anche che questo evento possa essere, con i dovuti aggiustamenti, aperto anche all'esterno di 7Pixel coinvolgendo diverse community e aziende.
Vi terremo informati :)




lunedì 31 luglio 2017

I fortunelli

Siamo dei privilegiati, l'azienda ci consente di studiare un'ora al giorno per migliorare noi stessi, il nostro team, i processi che utilizziamo e per fornire più valore all'azienda.
Bello, molto bello, bellissimo... ma lo riusciamo a sfruttare e capitalizzare appieno?

L'entusiasmo iniziale

Quando è stata istituita l'ora di studio avevamo grande entusiasmo e nei primi tempi eravamo delle vere e proprie macchine da studio. Con costanza ogni giorno ci fermavamo per un'oretta (appena dopo pranzo) e ci mettevamo a studiare.
Avevamo un piano di studio ben organizzato, tutto il team partiva dallo stesso argomento e una volta che tutti lo avevamo finito presentavamo le nostre mind-map e ci confrontavamo sul tema.
Tutto era moderato da un coach che ci seguiva durante le presentazioni e a volte ci "interrogava" su alcune sfumature.

Proseguiamo in autonomia

Lo studio costante è proseguito per molto tempo ed anche una volta rimasti senza coach e con un piano di studi esaurito, ci siamo adoperati nel trovare nuovi argomenti che potessero avere un valore per i progetti che stavamo seguendo in quel momento.

I tecnoscettici

Non ci siamo mai scontrati con argomenti tecnologici ma più che altro ci confrontavamo con tematiche riguardanti il processo di sviluppo o il miglioramento dell'architettura dei sistemi. Non abbiamo mai avuto esigenze particolari nell'apprendere nuove tecnologie e non abbiamo mai avuto modo di vedere dei silver bullet che ci spingessero ad approfondirne alcune.
Riguardo a questo ritengo che il team abbia sempre avuto una forma di pigrizia tecnologica, siamo molto forti su alcune tecnologie, sappiamo che possiamo consegnare più velocemente utilizzandole e quindi ci siamo un po' appiattiti a coccolare il nostro C# frameworkless.

Azz

"Poi venne la crisi, sparirono i sorrisi, le frasi col vicino divennero scortesi: nervi troppo tesi, tasse tutti i mesi, i soldi peggio spesi, i soldi sempre attesi." - Frankie Hi-nrg

Eravamo arrivati ad esaurire nuovamente il nuovo piano di studi e lì venne l'inizio della fine...
Inchiodati in un punto in cui non avevamo un argomento appassionante, avevamo definito alcuni spunti ma nessuno di questi ci stimolava a studiare.
Mi vergogno un po' nel dire che a un certo punto trovavamo giustificazioni, anche un po' pretestuose, per saltare o rimandare lo studio.

Il progetto

E' andata avanti così per un discreto lasso di tempo in cui lo studio era frammentario e discontinuo. Siamo rimasti a guardare o abbiamo fatto qualcosa?
Che domande...certo che abbiamo fatto qualcosa: abbiamo provato a concentrare lo studio in un'unica mezza giornata cercando di portare avanti un progetto con tecnologie nuove con la speranza di riuscire a farlo andare in produzione in un remoto futuro.
Ma la tecnologia ci ha fregato! Il progetto era una applicazione Android ma dopo un po' di sviluppo si è palesata la banalità della tecnologia (non ce ne vogliano gli sviluppatori Android) e il nostro interesse si è sciolto come un ghiacciolo sotto il sole d'Agosto.

Abbiamo provato a sfruttare anche le ore di studio per fare attività "di straforo" che il business non riteneva fondamentali ma che per noi devs invece erano molto importanti, in particolare ci siamo messi a riscrivere parte di un sistema.
Problema: era scritto talmente bene che l'abbiamo buttato in produzione, faceva il suo lavoro, ci faceva produrre più velocemente del vecchio e quindi non poteva più essere relegato allo studio ma è entrato a far parte del nostro lavoro quotidiano.

La fase di down

Ancora niente spunti, niente voglia, poco entusiasmo e quindi poco tempo dedicato allo studio.

L'unconference e retrospettiva

Pochi mesi fa l'azienda ha organizzato un unconference con tutti gli sviluppatori (circa una cinquantina), una delle sessioni era dedicata allo studio. Quella è stata una svolta...sentire altri colleghi ancora entusiasti nello studiare, rubare qualche idea e provare a elaborarne altre ci ha dato nuovi spunti e nuova verve.
Tutto è stato suggellato in un'azione scaturita da una retrospettiva: torniamo a essere costanti nello studio e proviamo a percorrere 3 strade:

  1. scriviamo un blog nel quale ci facciamo conoscere al mondo... FATTO!
  2. contribuiamo o facciamo progetti open source
  3. presentiamo qualche tema ad eventi e conferenze

E quindi?

Molte aziende non danno la possibilità di strutturare un piano per il continuous learning. Gli sviluppatori più fortunati tuttavia non sempre sanno mettere a frutto le opportunità che hanno e in alcuni momenti non riescono a vederne tutto il valore.
Come combattere l'apatia da studio?
  • Fare un piano
  • Confrontarsi con altri sviluppatori
  • Condividere le esperienze/competenze
  • Trovare nuovi stimoli
Non basta il tempo per riuscire ad implementare il continuous learning, sono necessarie motivazione, voglia, costanza e disciplina.
Speriamo di averne per ancora molto tempo!!

Studiate, studiate, studiate!!

Cerca nel blog

Blog Archive

Popular Posts