Sessioni 2014

 

Legacy Code Retreat

Claudio Pattarello, Andrea Chiarini e Matteo Baglini

Lascia un feedback su joind.in

Legacy Code Retreat is simple: I invite a group of programmers together for a day, give them some legacy code, and help them practise various design rescue and improvement techniques. The ultimate goal is to practise these techniques in a low-stakes environment away from the code base that probably torments programmers at work. It is now possible for programmers of over a dozen different programming languages to practise rescuing our legacy code.

Materiale di supporto: http://www.jbrains.ca/legacy-code-retreat

 

Draw your first Kanban board

Stefano Leli e Giulio Roggero

Lascia un feedback su joind.in

L’utilizzo delle Kanban Board nella gestione dello sviluppo software sta crescendo notevolmente ma molto spesso quando si prova a introdurle nascono molti dubbi e non si è mai certi di come partire.
Come e perché funzionano? Quali concetti ci sono dietro? Come possiamo iniziare ad adottarle senza grossi mal di testa?
In questo workshop risponderemo a queste domande e proveremo insieme a disegnare la nostra prima board.
Lo scopo è quello di fornire concetti chiari e applicabili fin da subito.

 

Debugging di teams e di organizzazioni tramite i principi sistemici

Pierluigi Pugliese, Giovanni Puliti e Fabio Ghislandi

Lascia un feedback su joind.in

Quando un team o un’organizzazione “non funzionano” ci sono diversi pareri su come affrontare la situazione, pareri che portano a soluzioni talvolta funzionanti, ma più spesso no.
In questo workshop, dedicato principalmente a ScrumMasters, Product Owners e managers, impareremo ad usare quattro semplici principi di funzionamento dei sistemi di persone e li applicheremo a situazioni reali dei partecipanti per sviluppare possibili interventi su teams ed organizzazioni.

 

Code dojo: Tensioni e sinergie dei principi di design software

Ilias Bartolini

Lascia un feedback su joind.in

We created a workshop to help developers to start learning and questioning design principles.
The basic idea is to put them one against the other and realise how they are applied differently based on context and that design is based on trade-off choices.

People will be splitted into pairs working on a small code exercise.
Starting from a small codebase you’ll be asked to implement a new feature following one principle.

After 20/30min we’ll share our code in a facilitated conversation

Materiale di supporto
https://github.com/iliasbartolini/design_principles_dojo_facilitator_guide
https://github.com/iliasbartolini/design_principles_dojo

 

LiquidO – Liquid organisations from the trenches

Jacopo Romei

Lascia un feedback su joind.in

Forse hai sentito parlare di un nuovo tipo di modelli organizzativi, più adatto a rispondere ai requisiti di adattabilità, engagement e collaborazione delle aziende di oggi. O più semplicemente hai vissuto storie di lentezza, burocrazia e rigidità e spreco.

LiquidO™ è un modello di governance ‘liquido’ nato dall’esperienza fatta in Cocoon Projects per risolvere questi problemi. In questo workshop lo spieghiamo e ne facciamo toccare con mano alcuni aspetti.

Info aggiuntive:
Questo è il sito web dove si può scaricare il white paper http://liquido.cocoonprojects.com/

Materiali di supporto
https://www.youtube.com/watch?v=e7EzPfIUXLU
https://www.youtube.com/watch?v=k1xpxi34DHc
https://www.youtube.com/watch?v=elKRkeLQ7QI

 

User Story Mapping – nuove dimensioni del Backlog

Fabio Armani e Stefano Leli

Lascia un feedback su joind.in

Scrum XP è sempre più la metodologia di riferimento per i team e alcuni concetti sono divenuti di uso comune per chiunque operi nel mondo dell’IT (sia piccole realtà sia grandi aziende). Tra questi spiccano termini come user story e Product Backlog.

L’utilizzo delle user story ha sempre più spesso rimpiazzato i tradizionali documenti di specifiche funzionali e gli use case, mentre il Product Backlog è diventato lo strumento per tracciare tutto ciò che riguarda la realizzazione di un Prodotto.

Eppure entrambi hanno una serie di punti deboli. In questo talk mi concentrerò da una parte sulla difficoltà di avere un quadro completo ed evoluto a partire dal Backlog che è aihme piatto e mono dimensionale e dall’altro parlerò di cosa vuol dire veramente avere un approccio iterativo e incrementale nello sviluppo di un sistema.

Concetti che andremo a trattare sono:

  • Personas
  • Dimensional Mapping
  • Real Option

Sono certo che per un’utilizzo avanzato delle metodologie agile la tematica dello User Story Mapping sta diventando tanto importante quanto attuale.

http://www.slideshare.net/tangram77/user-story-mapping-mini-iad-2014-armani-rodriguez

 

Refactoring legacy code driven by tests

Luca Minudel e Ilias Bartolini

Lascia un feedback su joind.in

Are you working on code poorly designed or on legacy code that’s hard to test? And you cannot refactor it because there are no tests?

During this Coding Dojo you’ll be assigned a coding challenge in Java, C#, Ruby, JavaScript or Python. You will face the challenge of improving the design and refactoring existing code in order to make it testable and to write unit tests.

We will discuss SOLID principles, the relation between design and TDD, and how this applies to your solution.

Materiali di supporto
Repository con gli esercizi: https://github.com/lucaminudel/TDDwithMockObjectsAndDesignPrinciples/tree/master/TDDMicroExercises#readme
Alcuni porting di alcuni esercizi in C++ e PHP: https://github.com/emilybache/Racing-Car-Katas

 

Salviamoci con lo unit testing :)

Stefano Ottaviani e Emanuele Rampichini

Lascia un feedback su joind.in

Pratiche di scrittura di test per lo sviluppo di software, come lo unit testing, esistono da più di 10 anni, ma ancora sono troppo poco diffuse nelle nostre realtà.
Spesso gli sviluppatori non testano in modo adeguato il proprio codice, lasciando che siano altre persone, o il cliente stesso, a scoprire fastidiosi bug. Vediamo in che modo tecniche quali unit e integration testing possono darci una mano per la scrittura di codice con meno bug e ci aprono le porte ad una serie di altri vantaggi.

Slide: http://www.slideshare.net/steott/save-ourselves-with-unit-testing

 

C++ From ’90 to ’14

Gianluca Padovani, Marco Arena e Marco Foco

Lascia un feedback su joind.in

Il workshop spiega la potenza delle nuove versioni di C++ 11/14. Si lavorerà su una codebase già fornita
Formato:
10 min di spiegazione iniziale (format, formazione delle coppie)

Seguiranno 4 slot:

  • 10 min di presentazione
  • 25 min di sviluppo
  • 5 min di retrospettiva

Al termine 10 min retrospettiva

Gli argomenti affrontati vanno dal miglioramento della produttività, della gestione della memoria, lambda e alcuni argomenti più avanzati di design non solo OO.

 

Agile Primer

Jacopo Romei e Fabio Mora

Lascia un feedback su joind.in

Molto facilmente una persona che si avvicina allo sviluppo agile rischia di perdere la visione d’insieme. Certo, dobbiamo iniziare da poche pratiche e possiamo anche specializzarci in alcune, in accordo ai nostri bisogni e attitudini, ma capire come ogni pratica esalti le altre è essenziale. Questo ci aiuterà a tener presenti i nostri punti deboli.

Questo workshop riproduce lo spirito degli XPUG italiani.

 

EventStorming Workshop

Alberto Brandolini

Lascia un feedback su joind.in

EventStorming compresso per quanto è possibile. Discovery di un dominio complesso (reale) fino all’emersione degli elementi chiave dell’architettura.

 

Perché è così difficile fare Extreme Programming

Matteo Vaccari

Lascia un feedback su joind.in

Leggere i libri di XP mi folgorò. Era evidente che quello fosse il modo migliore di fare software! Mettere in pratica XP, però, non è mai stato facile. Anni dopo ho imparato Scrum, che sembra molto più semplice. Eppure anche fare bene Scrum non è facile. Poi è arrivato Kanban, che sembra ancora più semplice. E ancora una volta, applicarlo bene non è facile. Che ci sia sotto qualcosa?

 

Lean Change Management – Challenges and Opportunities

Fabio Armani

Lascia un feedback su joind.in

Lean Startup ci consente di guidare in modo scientifico/empirico (Lean) tanto la realizzazione di prodotti e/o servizi quanto la vita tanto di Startup, quanto di nuove linee di produzione.
Utilizzando strumenti ad essa associati, come il Lean Canvas, è possibile allargare gli orizzonti del suo utilizzo, specialmente unita al modello di John Kotter.
Sto sperimentando l’utilizzo di “Lean Change” nella transizione Agile delle aziende.

 

Writing Good Tests

Matteo Baglini

Lascia un feedback su joind.in

Se guardiamo oltre la meccanica, il TDD è una tecnica complessa perché richiede molteplici skill.
Da principiante dopo l’implementazione di poche storie ti imbatti nel problema dei test che si rompono ad ogni refactoring, è arrivato il momento di migliorare i propri skill di scrittura dei test.
Nel talk analizzeremo la struttura dei test, quali sono le bad smell più comuni e come porvi rimedio.

 

Earned, not given. Agile and culture hacking.

Maurizio Pedriale

Lascia un feedback su joind.in

La sessione punta ad approfondire metodi e pratiche “non convenzionali” di promozione della cultura agile, soprattutto in luoghi e fra interlocutori ostili; con uno sguardo al fondamento etico che dà senso al tentativo di convertire ciò che sembra inconvertibile.
E’ possibile essere agili anche nell’azienda “sbagliata”, nel progetto “sbagliato” o col cliente “sbagliato”.

 

Agile e diversità: team migliori e giustizia sociale

Paola Camacho e Ilias Bartolini

Lascia un feedback su joind.in

Cosa hanno a che fare i principi agili di collaborazione, comunicazione e trasparenza con la diversità? Abbiamo imparato che team con un intreccio di diverse capacità, attitudini e culture sono più efficaci e migliori nel risolvere i problemi.
Le nostre esperienze si incontrano con temi di diversità di genere, razza, culture, formazione e valori di tolleranza per la creazione di un ambiente più giusto.
Vi racconteremo il nostro percorso di crescita individuale, esperienze ed errori.

 

Manager e Agile: do’s and dont’s

Pierluigi Pugliese

Lascia un feedback su joind.in

Nella mia esperienza di coach, un’elemento importante per il successo o il fallimento di una trasformazione agile è il management dell’azienda: in questa presentazione verranno presentati e discussi i principali aspetti dove il modo in cui il manager lavora fa la differenza nei risultati ottenibili.

 

Continuous Delivery Overview

Luca Minudel

Lascia un feedback su joind.in

Continuous Delivery (CD) is often thought to be within the purview of tech practitioners – developers, testers, operations, delivery managers, etc. However, the industry is fast realizing that CD is actually more of a business decision. CD can be the game changer to help the organization stay a step ahead by delivering value to the customer reliably and frequently. CD isn’t a geeky fad, but a huge business enabler vouched for by Facebook, LinkedIn, Flickr and the like. In this session I’ll Introduce the principles, the practices, the tools, and the business value proposition of continuous delivery both from a business point of view and from a technical point of view.

 

Agile per vincere le battaglie quotidiane

Antonello Nardini e Elisa Bernardini

Lascia un feedback su joind.in

Dimostrare ai PM che l’Agile Project Management ben si adatta anche ai progetti non software. Presentare i risultati raggiunti dal team e l’esperienza diretta sul campo di come sono stati usati Agile, SCRUM e KANBAN per migliorare la pianificazione, la gestione e il monitoraggio delle attività di progetto di un’ azienda che produce poltrone aeronautiche e che, finora, aveva lavorato con una gestione prettamente waterfall.

 

If the future is for Interdisciplinary Team, we need to change something!

Paolo Montevecchi

Lascia un feedback su joind.in

Anche i team Agili ad alte prestazioni risultano spesso un silos di competenze “disconnesso” rispetto a tutti gli altri attori che partecipano alla realizzazione di un progetto. Questa situazione comporta sprechi evidenti e non permette alle organizzazioni di effettuare il salto di qualità che oggi può distinguere le “software house” da aziende capaci di creare vera innovazione. Aziende pronte a realizzare prodotti di successo che risolvono i problemi delle persone, generando domanda e rendendo sostenibile il business dell’imprenditore.

Leggendo “Lean UX” possiamo erroneamente pensare che l’idea di Cross Functional Team sia una recente intuizione, in realtà organizzazioni come IDEO gestiscono team interdisciplinari già dai primi anni ‘90.

Ma quali sono le differenze tra team interdisciplinari e team di sviluppo Agile?

Un team di sviluppo Agile richiede in input specifiche (user stories, epic, documenti di specifiche) e restituisce come output un software.

I team di progettazione interdisciplinari hanno come input problemi da risolvere e solitamente i problemi sono legati: alle persone, al business e alla tecnologia. Come output un qualcosa di ignoto a priori: molti prototipi, una o più soluzioni o la prova che il problema non è risolvibile in maniera economicamente vantaggiosa.
Quindi se vogliamo ridurre gli sprechi dobbiamo smettere di fare software e diventare come IDEO?

Chiaramente no, ma dal mio punto di vista è necessario ripensare alle organizzazioni in un ottica olistica, facendo in modo che i team Agili siano centrati sulla risoluzione di problemi (persone, tecnologia e business) e non solamente sulla realizzazione di ottimi strumenti software.

E per effettuare una transizione di questo tipo è necessario scoprire se la cultura (fonti: http://2013.dareconf.com/videos/gray) della nostra organizzazione è compatibile o meno con i valori su cui si fondano i team interdisciplinari, e acquisire figure capaci di aprire i gruppi verso altre discipline.

Come takeaway semplici consigli da attuare il giorno dopo per far evolvere team di sviluppo verso un profilo interdisciplinare.

 

Lean Software Development in 45′

Fabio Ghislandi

Lascia un feedback su joind.in

Vi è mai capitato di vedere libri su Lean in vendita negli autogrill senza sapere cosa fosse? Volete capire di cosa si tratta e quali legami ci sono con Agile e la produzione del Software? Questo talk fa per voi!
Parleremo di principi Lean, Kaizen, Gemba, Continuous Improvement, Muda, Value Stream Mapping, Kanban, A3…il tutto in 45 minuti.

 

IOP vs OOP (if oriented programming vs object oriented programming)

Claudio Pattarello

Lascia un feedback su joind.in

Quante volte avete scritto codice trabbocante di IF? Quante volte per un design errato avete riempito il vostro codice di branch per gestire casi particolari? In questa sessione dimostreremo come è possibile ridurre o concentrare il numero di IF sfruttando le buone pratiche dell’ OOP e dei Design Pattern. Insieme cercheremo di trovare soluzioni anche estremizzando i concetti base.

 

SCRUM e (Lean) Startup: chi l’ha detto che non possa funzionare anche in azienda?

Nicola Junior Vitto

Lascia un feedback su joind.in

Voglio condividere la mia esperienza di SCRUM e Lean Startup in aziende medio-grandi (Yoox, Venere) in vari ruoli (da dev a PO) e nello sviluppo di Blomming.

Spesso sento dire che SCRUM funziona solo in grandi aziende o grandi gruppi così come Lean Startup funziona solo per nuove aziende: non é vero! Lean Startup e SCRUM possono essere portate avanti con successo sia in grandi aziende che in piccole, sia in fase di avvio che per nuovi progetti all’interno di un’organizzazione consolidata.

 

E il “tuo” Scrum funziona?

Andrea Piovani

Lascia un feedback su joind.in

Hai letto decine di guide e articoli ma quando hai implementato Scrum qualcosa è andato storto, col tempo l’entusiasmo è andato calando e ora gli standup sono solo un lontano ricordo? Sei convinto che potresti migliorare l’intero processo? In 20 minuti ti spiego come noi abbiamo implementato Scrum, come sta andando e dove non ha funzionato. Un’occasione per condividere preziose best practices, senza la pretesa di imporre una ricetta ma con lo scopo di fornire gli elementi per crearsi la propria.

 

L’elefante nella stanza! Affrontare le “known issues” tra tecnici e manager

Fabio Mora

Lascia un feedback su joind.in

Essere dev Agili ma lavorare con il management tradizionale è una sfida: evolvere vincolati da distanza tra chi “chi decide” e “chi fa”. Ho sperimentato sul campo un modello d’azienda diverso. Come? Una kanban con un flow nuovo, processi decisionali adatti all’intelligenza collettiva, un sistema di stima del valore generato ed uno di reputazione interna. Un filone di aziende a governance “liquida” sta crescendo e potrebbe abilitare una nuova evoluzione di modelli organizzativi d’impresa.

 

The Power of Expectations

Andrea Provaglio

Lascia un feedback su joind.in

Comprendere e gestire i meccanismi di generazione delle aspettative è un punto fondamentale verso la soddisfazione di tutti gli stakeholder, il che favorisce il successo di business di un progetto su più livelli. Per contro, una delle principali cause di insuccesso sono le aspettative mal riposte o non realistiche. In questa sessione interattiva esploreremo cosa significa “aspettative”, vedremo come rendere maggiormente evidenti le aspettative nascoste e come proporre delle alternative.

 

Esiste l’architetto software?

Nicola Baldi e Arialdo Martini

Lascia un feedback su joind.in

C’è davvero bisogno del Software Architect?

È possibile farne a meno, in un team agile?
E se serve, deve occuparsi di definire le linee guida o è preferibile sia un coach?

In questa sessione giocheremo a far scontrare due posizioni diametralmente opposte: una visione un po’ cravattona ed una più Agile.

La seconda parte della sessione sarà un dibattito aperto, poiché siamo sicuri che due posizioni antitetiche sull’argomento non possano completare il quadro.

 

Un caso concreto di Agile in un contesto di tipo legacy

Andrea Mariottini

Lascia un feedback su joind.in

Molto di quanto si legge sulle tecniche agili e lean di sviluppo e project management fa riferimento a situazioni di tipo “green field”.
Vorrei invece mettere in relazione i problemi affrontati in un contesto di tipo legacy, con migliaia di clienti consolidati a cui va garantita continuità
ma anche risposte ai bisogni emergenti, con le soluzioni offerte da Lean Startup, Scrum, XP, evidenziando sia i successi che i problemi non risolti.
Il tutto speziato da un caso di outsourcing positivo.

 

Come avere successo con le metodologie Agili in un contesto fortemente regolato

Raffaele Marranzini

Lascia un feedback su joind.in

Vorrei raccontare come siamo riusciti ad applicare le metodologie agili in un contesto fortemente regolato come quello della grande industria farmaceutica, come abbiamo gestito le richieste di documentazione formale del cliente e quali sono state alla fine dei conti i meriti che il cliente ha riconosciuto alle metodologie agili e quali sono stati i compromessi ai quali siamo dovuti scendere (e su cui stiamo ancora lavorando) come ad esempio l’aver dovuto allungare più di quanto avremmo voluto gli sprint. Il talk avrà carattere divulgativo e un tono leggero ed informale.

 

Condividere Obiettivi e prendere Decisioni con Lego Serious Play

Lorenzo Massacci

Lascia un feedback su joind.in

Nel talk verrà spiegato cos’è e in cosa consiste il metodo Lego Serious Play e come può essere utilizzato da un team agile per migliorare la condivisione degli obiettivi e della vision e i processi decisionali.
L’importanza della condivisione all’interno di un “organizzazione” di principi, obiettivi va oltre le metodologie Agili, ed è fondamentale per il successo dell’organizzazione stessa.

 

You keep talking about Value, but I do not think it means what you think it Means

Matteo Vaccari

Lascia un feedback su joind.in

The key to success is delivering value. Yes, but what is value? We keep talking about value, yet we rarely stop to think what it really is.
We must abandon the idea that the customer wants “functionality”. The customer already has all the functions. What the customer wants is to perform those functions better. The customer wants better performance, not new functions, and certainly not user stories!
Value is always defined quantitatively and is always linked to quantitative business benefits.

 

Collaborare con il cliente.

Giulio Roggero

Lascia un feedback su joind.in

Consigli pratici per trasformare un contratto in una collaborazione di valore.

Dal primo contatto che abbiamo con il nostro cliente si instaura un rapporto di potenziale collaborazione. Come farlo fiorire e renderlo di valore per entrambi evitando il gioco della contrattazione?
Durante questa sessione spiegherò come i principi e valori agili mi stanno aiutando nel rapporto con il cliente durante tutto il ciclo di vita del progetto: dall’offerta al saldo della fattura.

 

Managing * debt

Alberto Brandolini

Lascia un feedback su joind.in

Siamo ossessionati dal debito tecnico, ma ancora fatichiamo a capirne le dinamiche. In realtà, ogni organizzazione paga continuamente altre forme di debito: il sottinteso emotivo, la mancanza di trasparenza economica, il divario da come l’azienda si racconta sul mercato e come è in realtà. Le dinamiche del debito non sono diverse da quelle del vizio. Domani smetto. Domani chiarisco. Domani.

 

BDD: tutta questione di comunicazione

Riccardo Franconi e Francesco Tassi

Lascia un feedback su joind.in

Abbiamo sperimentato BDD sul campo e c’è piaciuto parecchio, per motivi del tutto inaspettati. Spesso il fallimento dei progetti è dato da questioni umane, di comprensione, di comunicazione, non da difficoltà tecniche. Capire cosa si deve fare e quando non è così semplice come sembra.Seguendo il BDD abbiamo migliorato la comunicazione tra di noi, aumentato la comprensione del dominio e messo a fuoco le priorità. Il talk racconta la nostra esperienza diretta.

 

#noestimates thinking

Massimo Iacolare

Lascia un feedback su joind.in

Cosa c’è di errato nell’uso delle stime? Perchè a volte le sbagliamo in modo così clamoroso? Possiamo fare diversamente?
Nel talk esploreremo insieme i punti principali del “#noestimates pensiero” che cerca di superare la tendenza comune a fare delle stime il punto centrale attorno a cui far ruotare il nostro processo di sviluppo

 

Team non si nasce ma si diventa

Marco Fracassi e Jacopo Franzoi

Lascia un feedback su joind.in

Cosa vuol dire “Team non si nasce ma si diventa”

  • come si capisce che un team va bene?
  • come si capisce che bisogna cambiare qualcosa?

La composizione del team

  • dimensione (come siamo arrivati a 4 e perchè)
  • sviluppatori
  • il “bidello” (a cosa serve? perchè fa parte del team?)

La base di partenza

  • valori (partendo da quelli di XP, poi nuovi)
  • pratiche
  • motivazioni

Come si evolve

  • retrospettive
  • nuove pratiche (laser game di fine rilascio, test di produzione, …)
  • valori emergenti

L’auto-organizzazione

  • processo di sviluppo
  • code conventions
  • lo studio, le presentazioni a tutta l’azienda
  • recruiting

Consigli in base alla nostra esperienza

 

Integrazione delle tecniche Agile, Lean e Waterfall per lo sviluppo di prodotti Hardware e di Servizi

Claudio Saurin e Daniela Rinaldi

Lascia un feedback su joind.in

Proposta di una integrazione, con esempi reali, fra Agile, Lean e Waterfall per lo sviluppo di prodotti hardware nell’industria e di costruzioni nell’edilizia, e di un servizio aziendale. Le Epic e User Stories al posto della WBS e gestione priorità. Il Canvas di progetto e nuovi tabelloni kanban per la gestione di Storie e di Progetti. La gestione visuale multiprogetto dei milestone e del portafoglio. Ibridazione dello Scrum con il Visibile Planning per la gestione del lavoro multiprogetto

 

Understanding Coaching

Francesco Attanasio

Lascia un feedback su joind.in

Parte del nostro lavoro come ScrumMasters/Agile Coaches è quello di migliorare la produttività da parte dei nostri team.
Un modo efficace è il Coaching.
In questa sessione verranno trattati i seguenti topics:

  • Cos’è il Coaching
  • Coaching professionale e Agile Coaching
  • Coaching Toolkit
  • CREATE e FEELING models
  • My AGILE
 

La salute del programmatore

Filippo Liverani

Lascia un feedback su joind.in

Come programmatori sappiamo manutenere il codice e ottimizzare tool e processi.Ci dimentichiamo però che lo strumento più importante che abbiamo è il nostro corpo. Chi si occupa di metodi agili investe nel miglioramento continuo ma difficilmente lo applica alla propria salute.Una buona postura, l’esercizio fisico e un’alimentrazione sana sono indisipensabili per far funzionare al meglio il nostro cervello e per poter svolger in modo efficiente un lavoro che richiede lucidità e creatività.